开源模型ModelScope的初探使用

news/2024/4/25 21:48:32/文章来源:https://blog.csdn.net/HinstenyHisoka/article/details/130352903

泛AI开发者的一站式模型服务产品平台

阿里达摩院推出了一个开源的模型共享平台,包括计算机视觉、多模态、自然语言处理等多个领域上手即用的模型,如果AI相关模型感兴趣的同学,或者想基于基础模型做业务场景的同学,都可以用这个平台玩玩!

目录

  • 平台介绍
    • ModelScope的依赖说明
    • 环境搭建
  • 模型实战

平台介绍

ModelScope的依赖说明

关于ModelScope的详情介绍参加官网–链接

  • 运行环境依赖python3(不支持python2),这里建议3.7;
  • 依赖Tensorflow,Pytorch两大深度学习框架进行模型训练、推理。

环境搭建

Python 开发环境

首先在本地搭建下Python的基础研发环境,然后就能做Python的基础开发。

1、安装Python3

Python官网–下载链接,选择3.7版本,下载适合自己操作系统的安装文件,然后本地安装(这里的版本不关键,后续我们用Anaconda创建管理实际使用的Python环境)

2、开发工具–VSCode

VSCode是微软推出的一款支持各类开发语言,非常便捷且高效的代码开发工具,针对具体的语言一开始需要额外配置一些插件;VSCode的下载链接

3、Python的包与环境管理工具–Anaconda

Anaconda–下载安装,我们可以使用Anaconda里面包含的conda工具,创建管理独立的Python环境,每个环境中安装三方包都是互不影响的;

ModelScope开发环境

上面已经完成Python的基础开发环境,下面我们再进一步创建ModelScope的环境

1、创建一个独立的Python环境上下文

使用conda命令,链接

# 创建一个名为modelscope且Python版本为3.7的独立Python环境
conda create -n modelscope python=3.7
# 查看一下当前存在的Python列表
conda env list
# 在当前session(Terminal)激活创建的环境
conda activate modelscope
# 如果不想要环境了,可以删除(环境不用了,或者搞坏了)。---这里别做
conda remove --name xxx --all

创建Python环境
激活环境

2、安装深度学习框架

# 安装pytorch
pip3 install torch torchvision torchaudio
# 安装Tensorflow
pip install --upgrade tensorflow==1.15
# pip install --upgrade tensorflow-gpu==1.15 # GPU 版

在这里插入图片描述
在这里插入图片描述

3、安装ModelScope–阿里达摩院开源的部分训练模型

安装参考–链接
ModelScope Libarary由核心框架,以及不同领域模型的对接组件组成。如果只需要ModelScope模型和数据集访问等基础能力,可以只安装ModelScope的核心框架:

# 只安装ModelScope的核心框架
pip install modelscope
# 如果已经安装过了,然后需要使用新版本发布的Libary,升级一下
pip install modelscope --upgrade

在这里插入图片描述

至此,我们的ModelScope开发环境已经搭建好了,具备了使用ModelScope开发相关模型应用的能力。但是使用VSCode研发还需要设置下Python解析器.

4、VSCode设置Python解析器

  1. 先在VSCode的插件市场安装下Python扩展,以便VSCode能支持Python语言工程的开发。
    在这里插入图片描述
  2. 点击菜单View的命令控制板
    在这里插入图片描述
  3. 在弹出的窗口中输入并选择–(Python: Select Interpreter)
    然后再选择我们创建的–modelscope,如果这里没有自动提示出来,我们手动选择下文件路径。
    在这里插入图片描述
  4. 然后我们创建一个Python工程,使用下modelscope
    在这里插入图片描述

模型实战

1、DCT-Net人像卡通化模型-3D

模型介绍–链接

1. 代码

import cv2
from modelscope.outputs import OutputKeys
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasksimg_cartoon = pipeline(Tasks.image_portrait_stylization, model='damo/cv_unet_person-image-cartoon-3d_compound-models')
# 图像本地路径
#img_path = 'input.png'
# 图像url链接
# img_path = 'https://invi-label.oss-cn-shanghai.aliyuncs.com/label/cartoon/image_cartoon.png'
img_path = './images/people/image_cartoon_gril.jpg'
result = img_cartoon(img_path)cv2.imwrite('result.png', result[OutputKeys.OUTPUT_IMG])
print('finished!')

2. 图片处理效果

处理前

处理后

其他包安装问题

cv2

1、正常使用pip命令安装
链接

# 基础安装
pip install opencv-python
# 全量安装
pip install opencv-contrib-python

2、上述正常安装VSCode依旧不能识别,然后使用conda

conda install opencv

easydict

1、正常使用pip命令安装
链接

# 安装
pip install easydict

2、上述正常安装后conda环境没有包含,然后使用conda

# 配置一个额外的包search的channel
conda config --append channels conda-forge
# 安装
conda install easydict

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_103689.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++三大特性—继承 “访问控制”

本文主要阐述关于C继承中基类与派生类之间的访问关系 继承方式与访问方式 继承定义格式: 派生类可以继承定义在基类的成员,但是派生类的成员函数不一定有权访问从基类继承来的成员    访问限定符的作用:控制派生类从基类继承而来的成员是否…

学习系统编程No.23【信号实战】

引言: 北京时间:2023/4/23,最近学习状态不怎么好,总是犯困,没精力的感觉,可能是病没有好彻底的原因,也可能是我内心因为生病而认为摆烂理所应当,反正最后导致摆烂,课现在…

android之 Launcher改造仿桌面排版的效果

一,背景 1.1 新接手一个灯光控制项目,其页面和效果还是比交复杂的,其中一个功能就是仿苹果桌面来排版灯具,支持拖拽,分组,分页。 拖动图标的时候判断是否空白位置还是已经有占位了,有的话就把…

体验了多款国产类ChatGPT产品后,我选择了道合顺的【ChatIC】

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言A…

springboot实用配置

springboot实用配置 (一)打包与运行(二)配置高级1.临时属性设置2.配置文件分类3.自定义配置文件 (三)多环境开发(四)日志1.日志基础2.日志输出格式控制3.日志文件 (一&am…

14、RPC与gRPC

目录 一、rpc基础1 - rpc入门2 - 基础的rpc通信3 - 基于接口的RPC服务 二、rpc编码1 - gob编码2 - json on tcp3 - json on http(待补充) 三、prtotobuf编码1 - prtotobuf概述2 - protobuf编译器3 - 序列化和反序列化4 - 基于protobuf的RPC(待…

vue项目 解决el-table自适应高度,vue页面不显示多条滚动条,超出的部分让el-table内部出现滚动条(推荐使用第二种解决方案)

一、需求 后台管理系统:最常见的页面都是由—>左侧菜单、头部tabView页签、主体数据渲染页面(AppMain);而一般AppMain页面又分为: 搜索区域、table数据(分页),可能也会存在底部&a…

QGIS数据可视化学习笔记01——一般的图层样式调整和在地图上添加图表

说明:QGIS数据可视化章节用的数据为QGIS绘制一张地图学习章节的数据,传送门:https://blog.csdn.net/qq_47188967/article/details/130196284 一、 一般的图层样式调整 首先呢,在QGIS中打开上一章节用的数据,界面如下&…

基于飞桨 PaddleVideo 的骨骼行为识别模型 CTR-GCN

main.pysame_seedsparse_argsmain ensemble.pyconfigs 文件夹Joint(J)的配置文件ctrgcn_fsd_J_fold0.yamlctrgcn_fsd_J_fold1.yaml Joint Angle(JA)的配置文件ctrgcn_fsd_JA_fold0.yaml paddlevideo 文件夹utils 文件夹__init__.p…

MATLAB符号运算(七) 更新中...

目录 1、实验目的: 2、实验内容: 1、实验目的: 1)掌握定义符号对象和创建符号表达式的方法; 2)掌握符号运算基本命令和规则; 3)掌握符号表达式的运算法则以及符号矩阵运算&#xf…

[JavaEE初阶] 类加载机制

在真正的战争到来之前,尽可能地变得强大吧~ 文章目录 前言1. 类加载1.1 类加载的过程1.2 类加载的时机1.3 双亲委派模型 前言 这个问题是面试经典题,让我们来求甚解吧~ 1. 类加载 1.1 类加载的过程 如下图 加载,找到.class文件,读取文件内容验证,验证.class文件的格式是否…

SQL优化(3):order by优化

MySQL的排序,有两种方式: Using filesort : 通过表的索引或全表扫描,读取满足条件的数据行,然后在排序缓冲区sort buffer中完成排序操作,所有不是通过索引直接返回排序结果的排序都叫 FileSort 排序。 Using index :…

Spring lettuce读写分离

Redis 的 Sentinel 模式默认配置下 Redis 的客户端只对 Master 读写,另外2个Slave闲置。若主从节点在不同机房,在读取时会有跨机房的网络时延,并且比同机房访问更容易发生网络丢包。故在一些场景可以考虑将跨机房的服务节点设置为读写分离 Re…

Python中 re.findAll()、re.sub()、set()的使用

1. re.findall() re.findall():函数返回包含所有匹配项的列表。返回string中所有与pattern相匹配的全部字串,返回形式为list / 数组。 由函数原型代码可知,findall() 函数存在三个参数: 1. pattern:正则表达式中的 ‘模…

Opencv+Python笔记(五)图像阈值化处理

图像阈值化可以理解为一个简单的图像分割操作,阈值又称为临界值,它的目的是确定出一个范围,然后这个范围内的像素点使用同一种方法处理,而阈值之外的部分则使用另一种处理方法或保持原样。 阈值处理有2种方式,一种是固…

订单交期迟滞,销售回应慢,怎么解决客户问题?

按客户定制产品订单,进行报价和生产的制造企业,有拆解图纸生成物料BOM的工序,通常由企业产品设计部门的拆图员岗位专门负责。 手工制作BOM数据,准确性低 拆图员肉眼查看每页图纸中的表格数据,手动敲键盘填入到企业要…

Android之 颜色选择器

一,简介 1.1 计算机的颜色通常有两种表示方式: 光源模式RGB(Red红, Green绿, Blue蓝),数值0-255 印刷模式CMYK(Cyan青, Magenta品红, Yellow黄, Black黑),数值1-100 任何颜色都是由RGB或CMYK混合出来的,再加上透明度…

【HTML+CSS+JS】登录注册页面大合集

前言 学JS也学了一段时间,正巧碰上了人工智能要调用人脸识别接口进行真人人脸识别,于是便萌生了用人脸来进行注册和登录的想法,这样的话就需要开发一个登录注册页面,然后用JS绑定注册事件调用人脸识别接口进行登录注册 饭要一口一…

【数据结构:线性表】单链表

在学习了顺序表,我们可能会对其有一些思考: 中间/头部的插入删除,时间复杂度为O(N)增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。增容一般是呈2倍的增长,势必会有一定的空间浪费。例如当前容…

【校招VIP】面试了一个抽奖的项目,我终于搞明白了,是8股文终于开始作恶了

最近因为招实习生,进行了很多次面试。 但面试的结果不尽人意。 就感觉今年的面试跟以前差距太大了。 直到经过这个同学的面试,我终于明白了是什么原因。 这个同学是南京一所211的研究生,他的项目经历是做了一个抽奖的微服务管理平台。 也…