ModelScope 旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!
我们希望在汇集行业领先的预训练模型,减少开发者的重复研发成本,提供更加绿色环保、开源开放的AI开发环境和模型服务,助力绿色“数字经济”事业的建设。 ModelScope平台将以开源的方式提供多类优质模型,开发者可在平台上免费体验与下载使用。
3.10
Anaconda 是一个开源的Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项。
Anaconda 就是可以便捷获取包且对包能够进行管理,包括了python和很多常见的软件库和一个包管理器conda。常见的科学计算类的库都包含在里面了,使得安装比常规 python 安装要容易,同时对环境可以统一管理的发行版本。
下载地址:https://www.anaconda.com/download#downloads
wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
命令行中切换到anaconda文件所在目录。默认安装路径,
/home/{用户名}/anaconda3
sh Anaconda3-2022.05-Linux-x86_64.sh
accept the license terms--yes
查看
anaconda
版本。终端输入conda --version
或者conda -V
$ conda --version
conda 23.11.0
语法:
conda create -n your_env_name python=X.X
conda create -n tinywan-modelscope python=3.10
conda activate tinywan-modelscope
其他
conda
命令
# 查看环境列表
conda env list
# 安装包。如:conda install numpy
conda install [package]
# 删除当前环境中的某个包
conda remove [package]
# 退出当前虚拟环境
source deactivate # Linux环境
conda deactivate # Windows环境
# 删除某个虚拟环境
conda remove -n your_env_name --all
pip3 install torch torchvision torchaudio
安装过程
安装成功
Successfully installed MarkupSafe-2.1.3 certifi-2023.11.17
charset-normalizer-3.3.2 filelock-3.13.1
fsspec-2023.12.2 idna-3.6 jinja2-3.1.3
mpmath-1.3.0 networkx-3.1 numpy-1.24.4
nvidia-cublas-cu12-12.1.3.1
nvidia-cuda-cupti-cu12-12.1.105
nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-8.9.2.26 nvidia-cufft-cu12-11.0.2.54 nvidia-curand-cu12-10.3.2.106 nvidia-cusolver-cu12-11.4.5.107 nvidia-cusparse-cu12-12.1.0.106 nvidia-nccl-cu12-2.18.1 nvidia-nvjitlink-cu12-12.3.101 nvidia-nvtx-cu12-12.1.105 pillow-10.2.0 requests-2.31.0
sympy-1.12 torch-2.1.2 torchaudio-2.1.2 torchvision-0.16.2
triton-2.1.0 typing-extensions-4.9.0 urllib3-2.1.0
ModelScope Libarary由核心框架,以及不同领域模型的对接组件组成。如果只需要ModelScope模型和数据集访问等基础能力,可以只安装ModelScope的核心框架:
pip3 install modelscope
但如果需要进一步具体使用ModelScope平台上承载的,包括多模态,NLP,CV,语音等不同领域的模型,来进行模型推理以及模型训练、微调等能力,则需要安装各个领域上不同的依赖。例如:
如仅需体验多模态领域的模型,可执行如下命令安装领域依赖:
pip install "modelscope[multi-modal]"
pip3 install "modelscope[nlp]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
安装成功后,即可使用对应领域模型进行推理,训练等操作。这里我们以NLP领域为例。安装后,可执行如下命令,运行中文分词任务,来验证安装是否正确:
python -c "from modelscope.pipelines import pipeline;print(pipeline('word-segmentation')('今天天气不错,适合 出去游玩。开源技术小栈'))"
执行输入内容
编写一个python脚本
modelscope.py
。直接执行python modelscope.py
结果和上面一样
modelscope.py
脚本
from modelscope.pipelines import pipeline
print(pipeline('word-segmentation')('今天天气不错,适合 出去游玩。开源技术小栈'))
PHPY 是识沃团队最新推出的开源项目,目标是为 PHP 引入 Python 生态,来弥补 PHP 生态的空缺和不足。phpy 使得 PHP 可以调用所有 Python 的包。
在安装完成
ModelScope
之后即可使用ocr-recognition
的能力。
代码范例 captcha.php
代码
<?php
/**
* @link https://modelscope.cn/models/damo/cv_convnextTiny_ocr-recognition-general_damo/summary
*/
$pipeline = PyCore::import('modelscope.pipelines')->pipeline;
$Tasks = PyCore::import('modelscope.utils.constant')->Tasks;
// 模型可以换成 xiaolv/ocr_small
$pipe = $pipeline($Tasks->ocr_recognition, model: 'damo/cv_convnextTiny_ocr-recognition-general_damo');
$file = '/tmp/captcha.png';
file_put_contents($file, file_get_contents('https://business.swoole.com/page/captcha_register'));
echo '识别结果:' . $pipe($file)['text'][0], PHP_EOL;
官方案例:
https://github.com/swoole/phpy/blob/main/examples/modelscope/captcha.php
Convolutional Backbone
提取图像视觉特征ConvTransformer Blocks
用于对视觉特征进行上下文建模CTC loss
进行识别解码以及网络梯度优化。识别模型结构如下图:
该模型依赖于opencv library
。所以先需要再虚拟环境安装opencv
库。
OpenCV(Open Source Computer Vision Library)库是一种计算机视觉的开源函数库,内置众多图像处理函数以及数百种计算机视觉算法并对它们进行了很大程度的优化,通过调用OpenCV库函数可加快程序开发的进度,快速实现程序所需图像处理等相关功能。
pip install opencv-python
安装过程
Collecting opencv-python
Downloading https://mirrors.cloud.aliyuncs.com/pypi/packages/d9/64/7fdfb9386511cd6805451e012c537073a79a958a58795c4e602e538c388c/opencv_python-4.9.0.80-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (62.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.2/62.2 MB 50.5 MB/s eta 0:00:00
Requirement already satisfied: numpy>=1.21.2 in /home/www/anaconda3/envs/tinywan-modelscope/lib/python3.10/site-packages (from opencv-python) (1.26.3)
Installing collected packages: opencv-python
Successfully installed opencv-python-4.9.0.80
/usr/local/php-8.2.14/bin/php captcha.php
识别结果:
7R2N
http://duguang-labelling.oss-cn-shanghai.aliyuncs.com/mass_img_tmp_20220922/ocr_recognition.jpg
执行结果。输出:
电子元器件提供BOM配单
(tinywan-modelscope) $ /usr/local/php-8.2.14/bin/php captcha.php
2024-01-19 22:41:20,505 - modelscope - INFO - PyTorch version 2.1.2 Found.
2024-01-19 22:41:20,506 - modelscope - INFO - Loading ast index from /home/www/.cache/modelscope/ast_indexer
2024-01-19 22:41:20,596 - modelscope - INFO - Loading done! Current index file version is 1.11.0, with md5 fbfcef7834c830c39b620d603ee9aa45 and a total number of 953 components indexed
2024-01-19 22:41:22,219 - modelscope - WARNING - Model revision not specified, use revision: v2.4.0
2024-01-19 22:41:22,537 - modelscope - INFO - initiate model from /home/www/.cache/modelscope/hub/damo/cv_convnextTiny_ocr-recognition-general_damo
2024-01-19 22:41:22,537 - modelscope - INFO - initiate model from location /home/www/.cache/modelscope/hub/damo/cv_convnextTiny_ocr-recognition-general_damo.
2024-01-19 22:41:22,538 - modelscope - INFO - initialize model from /home/www/.cache/modelscope/hub/damo/cv_convnextTiny_ocr-recognition-general_damo
2024-01-19 22:41:22,833 - modelscope - INFO - cuda is not available, using cpu instead.
2024-01-19 22:41:22,833 - modelscope - INFO - loading model from dir /home/www/.cache/modelscope/hub/damo/cv_convnextTiny_ocr-recognition-general_damo
2024-01-19 22:41:22,837 - modelscope - INFO - loading model done
识别结果:电子元器件提供BOM配单