聊聊魔塔社区MGeo模型的部署与运行
从现今与今后的发展来看,单一的业务不再仅仅依靠于传统的技术开发,而是应该结合AI模型来应用、实践。只有这样,才能更数智化,更高效化,更贴合时代的发展。
魔塔 社区就类似国外的Hugging Face,是一个模型即服务的运行平台。在这个平台上运行着很多的大模型示例,网站直接提供了试运行的环境,也可以下载代码到本地部署运行或是在阿里云的PAI平台运行。
pytorch环境搭建
我是跟着 Pytorch-Gpu环境配置 博文一步一步搭建起来的。唯一不同的是,我不是基于Anaconda虚拟环境搭建,而是直接在本地环境部署pytorch与CUDA。
开着西部世界的VPN,下载pytorch与CUDA会快一些,在本地下载好了pytorch的whl文件后,直接在下载目录中打开cmd窗口,使用pip install xxxx.whl安装pytorch即可。
RaNER 模型搭建与运行
进入魔塔官网,找到MGeo模型,首先必须要下载modelscope包。在MGeo的模型介绍中,以及有详细的命令说明,如下:
# GPU版本
conda create -n py37testmaas python=3.7
pip install cryptography==3.4.8 tensorflow-gpu==1.15.5 torch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0
pip install "modelscope[nlp]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
但是对于我来说,并没有用到conda虚拟环境,所以我只是运行了最后的pip命令,如下:
pip install "modelscope[nlp]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
命令输出内容如下:

最好是开着VPN执行命令,否则会很慢。下载完后有一个报错,可以忽略,最后我成功安装的组件有:

如此,便完成了modelscope包的安装。然后拷贝示例代码在本地运行即可,示例代码如下:
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
task = Tasks.token_classification
model = 'damo/mgeo_geographic_elements_tagging_chinese_base'
inputs = '浙江省杭州市余杭区阿里巴巴西溪园区'
pipeline_ins = pipeline(
task=task, model=model)
print(pipeline_ins(input=inputs))
# 输出
# {'output': [{'type': 'prov', 'start': 0, 'end': 3, 'span': '浙江省'}, {'type': 'city', 'start': 3, 'end': 6, 'span': '杭州市'}, {'type': 'district', 'start': 6, 'end': 9, 'span': '余杭区'}, {'type': 'poi', 'start': 9, 'end': 17, 'span': '阿里巴巴西溪园区'}]}
运行过程中,也会有一些提示,还是很有意思的,可以看看.

最后的结果也是正常的输出了,对于输出结果的解释,我就不多说,可以看API文档解释。我换成其它地址继续测试:

总结
最后说一下自己的实际感受。首先这个MGEO的AI模型,在我上家公司我主导做的项目就用到了,当时是花钱在阿里云的 地址标准化 产品上购买使用,用于在实际的项目中根据客户输入的地址提取省市区并再次输入到目标网站。当时一开始想的是自己找开源的库来实现,后来发现有点难,因为客户输入的辨识度太低,可能性太多,而且我们不能规范客户的输入(主要是历史数据太多)。因此当时找了好多方案,最后发现阿里云有这个支持,就花钱购买调用解决问题。从现在来看,其实整个模型与应用完全可以自己搭建部署起来,省钱又能自我管控,而且还能二次开发,毕竟现在以及前几年做AI算法的人还是不少的(当时我们公司也有少数做AI相关的人,自己现在也算是个半吊子水平,看得懂也能改一点),唉,总的来说还是当时的能力限制了,还是得多学多思考,尤其是现在AI模型的普遍性与高速发展,程序猿学习成本与门槛降低很多很多。
聊聊魔塔社区MGeo模型的部署与运行的更多相关文章
- 139、TensorFlow Serving 实现模型的部署(二) TextCnn文本分类模型
昨晚终于实现了Tensorflow模型的部署 使用TensorFlow Serving 1.使用Docker 获取Tensorflow Serving的镜像,Docker在国内的需要将镜像的Repos ...
- 138、Tensorflow serving 实现模型的部署
将Tensorflow模型部署成Restful接口 下面是实现过程,整个操作都是在Linux上面实现的,因为Tensorflow Serving 目前还只支持Linux 这个意义真的是革命性的,因为从 ...
- 百度大脑EasyEdge端模型生成部署攻略
EasyEdge是百度基于Paddle Mobile研发的端计算模型生成平台,能够帮助深度学习开发者将自建模型快速部署到设备端.只需上传模型,最快2分种即可生成端计算模型并获取SDK.本文介绍Easy ...
- 三分钟快速上手TensorFlow 2.0 (下)——模型的部署 、大规模训练、加速
前文:三分钟快速上手TensorFlow 2.0 (中)——常用模块和模型的部署 TensorFlow 模型导出 使用 SavedModel 完整导出模型 不仅包含参数的权值,还包含计算的流程(即计算 ...
- 三分钟快速上手TensorFlow 2.0 (中)——常用模块和模型的部署
本文学习笔记参照来源:https://tf.wiki/zh/basic/basic.html 前文:三分钟快速上手TensorFlow 2.0 (上)——前置基础.模型建立与可视化 tf.train. ...
- 二手车价格预测 | 构建AI模型并部署Web应用 ⛵
作者:韩信子@ShowMeAI 数据分析实战系列:https://www.showmeai.tech/tutorials/40 机器学习实战系列:https://www.showmeai.tech/t ...
- 【实战】yolov8 tensorrt模型加速部署
[实战]yolov8 tensorrt模型加速部署 TensorRT-Alpha基于tensorrt+cuda c++实现模型end2end的gpu加速,支持win10.linux,在2023年已经更 ...
- Windows10下yolov8 tensorrt模型加速部署【实战】
Windows10下yolov8 tensorrt模型加速部署[实战] TensorRT-Alpha基于tensorrt+cuda c++实现模型end2end的gpu加速,支持win10.linux ...
- Win10下yolov8 tensorrt模型加速部署【实战】
Win10下yolov8 tensorrt模型加速部署[实战] TensorRT-Alpha基于tensorrt+cuda c++实现模型end2end的gpu加速,支持win10.linux,在20 ...
- Xamarin 跨移动端开发系列(01) -- 搭建环境、编译、调试、部署、运行
如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的利器啊!好了,废话不多说,就开始吧, ...
随机推荐
- KVM 动态调整 qcow2 硬盘
动态扩容 参考:https://cloud-atlas.readthedocs.io/zh_CN/latest/kvm/kvm_vdisk_live.html 未关闭虚拟机,直接在宿主机器上qemu- ...
- 解决npm install 报错 'proxy' config is set properly. See: 'npm help config'
输入以下命令 npm config set proxy null npm config set https-proxy null 之后重新安装即可 文章参考 https://blog.csdn.net ...
- WPF自定义标题栏
往往原有的标题栏无法满足需求,此时就需要进行自定义标题栏. 重新定义Window的Template 首先,需修改WindowChrome的几个属性 CaptionHeight属性值就是自定义标题栏的高 ...
- [碎碎念]和ljf老师聊天得到的一些启发,希望大家一起来吹水
关于写这个小文 和ljf老师聊天得到的一些启发,希望能够总结出来方便回顾,并且我觉得这些想法有一定的普适性,可以供大家参考. 疑问 我的疑问是,我现在主要在做fuzz+pwn,能够进行漏洞挖掘,以及w ...
- 深入探讨安全验证:OAuth2.0、Cookie与Session、JWT令牌、SSO与开放授权平台设计
什么是认证和授权?如何设计一个权限认证框架? 认证和授权是安全验证中的两个重要概念.认证是确认身份的过程,用于建立双方之间的信任关系.只有在认证成功的情况下,双方才可以进行后续的授权操作.授权则是在认 ...
- shell编程之存储读写测试实战脚本
Shell编程是一种在命令行环境中编写程序的技术,常用于Linux和Unix系统.它主要使用Shell脚本语言来编写程序.Shell编程常用于系统管理.自动化任务.批处理等领域. 常用的Shell脚本 ...
- [ABC150E] Change a Little Bit
2023-03-10 题目 题目传送门 翻译 翻译 难度&重要性(1~10):7 题目来源 AtCoder 题目算法 数学,贪心 解题思路 显然 \(C_i\) 越小的位越早被修改越好.所以我 ...
- 数据可视化【原创】vue+arcgis+threejs 实现海量建筑物房屋渲染,性能优化
本文适合对vue,arcgis4.x,threejs,ES6较熟悉的人群食用. 先报备一下版本号 "vue": "^2.6.11" "@arcgis/ ...
- 一个 Java 接口快速开发框架:magic-api
一.简介 magic-api是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口.无需定义Controller.Service.Dao.Ma ...
- 转载|QA|Pycharm一行代码太长如何换行?|Pycharm|工具相关