faster rcnn预置算法/notebook训练和推理回顾
【摘要】 ai gallery里面找不到官方的faster rcnn算法可以订阅,于是订阅了它的升级版dynamic rcnn.遗憾的是在做训练会报错:训练日志分析:代码从obs://cnnorth4-modelhub-models/item/6842fa7f-2b4c-4b73-8001-82070ac47f5c/1.0.0/code/DynamicRCNN-last/下载到本地目录:/home/w...
ai gallery里面找不到官方的faster rcnn算法可以订阅,于是订阅了它的升级版dynamic rcnn.
遗憾的是在做训练会报错:
训练日志分析:
代码从obs://cnnorth4-modelhub-models/item/6842fa7f-2b4c-4b73-8001-82070ac47f5c/1.0.0/code/DynamicRCNN-last/
下载到本地目录:/home/work/modelarts/user-job-dir
依赖安装失败:torch==1.0.1.post2 版本无法找到。(感觉这是一个定制版本)
模块缺失:easydict 模块未安装。
最终:导致训练脚本无法正常运行。因为是订阅的算法,无法人工干预,所以放弃。
然后是尝试使用Notebook的方式。同样的,在ai gallery也找不到官方的faster rcnn算法的Notebook案例,但是在其他开发者分享2020AI实战营的notebook作业案例里,能找到源案例链接,并可以打开,链接如下:
https://authoring-modelarts-cnnorth4.huaweicloud.com/console/lab?share-url-b64=aHR0cHM6Ly9tb2RlbGFydHMtbGFicy1iajQtdjIub2JzLmNuLW5vcnRoLTQubXlodWF3ZWljbG91ZC5jb20vY291cnNlL2FpX2luX2FjdGlvbi8yMDIxL29iamVjdF9kZXRlY3Rpb24vRmFzdGVyX1JfQ05OLmlweW5i
该notebook运行同样会存在问题,但是可以解决。运行和解决过程概述如下:
- 在Pythorch1环境即原方式运行,存在
ModuleNotFoundError: No module named 'modelarts'
的报错。 - 既然是不存在modelarts模块,最直接的方式是安装该模块。但是使用pip安装报错,猜测modelarts模块并未发布到PyPI仓库(Python Package Index)。
- 虽然无法通过pip安装,但是探索发现base环境是有安装Modelarts相关模块的,并且可以找到模块文件的位置。那么尝试通过链接的方式,链接到Pytorch1环境,从而来使用modelarts模块。该方式的可行性和模块复杂性有关,做了modelarts的链接后,发现modelarts依赖hwcloudsdk,后者又依赖obs,依赖关系复杂,链条长,因此要做的链接数量不可提前预测。太无趣、放弃。
- 采用base环境而不是pytorch1环境来运行该Notebook,modelarts模块的问题顺利解决。该方式的问题就是后续执行不断发现需要安装缺少的库,以及有些库的版本也不对,解决起来很无趣,放弃。
- 在Pythorch1环境尝试来使用Moxing模块来下载包,但是遇到SCC的问题,未能解决、放弃。(SCC_CONFIG_PATH环境变量值为/home/ma-user/scc/kmc.conf,该文件并不存在。在其他地方有该文件)
- 通过查看notebook的内容,使用modelarts模块仅用于下载包。所以可以结合base环境和pytorch1环境:使用base环境下载包,然后到pytorch1环境继续执行解压包和后续训练代码。
GPU 型号
环境的 1*Pnt1
GPU 可能是 P100。
V100 和 P100 是 NVIDIA 的高性能 GPU,分别基于 Volta 和 Pascal 架构。V100 在深度学习性能上更强,支持 Tensor Core。显存:V100 可选 16GB 或 32GB HBM2,P100 只有 16GB。
Python 模块问题
ModuleNotFoundError: No module named 'modelarts'
:- 通过pip list,确认在Pytorch1.0.0环境里
modelarts
模块未安装。而在base环境,是安装的。
- 通过pip list,确认在Pytorch1.0.0环境里
如果使用base环境,遇到下面的模块缺少和模块版本不对的问题。
ModuleNotFoundError: No module named 'Cython'
:Cython
是用于加速 Python 代码的工具,pycocotools
依赖它。
ModuleNotFoundError: No module named 'cv2'
:- OpenCV 未安装,正确安装命令是
pip install opencv-python
。
- OpenCV 未安装,正确安装命令是
ImportError: cannot import name 'PILLOW_VERSION'
:PILLOW_VERSION
在 Pillow 6.0.0 及以上版本中被移除。可以使用低于6.0.0的版本
多线程解压工具
tar
命令不支持多线程解压:- 使用
pigz
工具实现多线程解压。否则单线程解压1.9G的包要耗时几分钟。 - 示例命令:
pigz -d -p 5 -c ./fasterrcnn.tar.gz | tar -xf -
。
- 使用
模块路径查看
- 查看
vgg16
类的定义路径:- 使用
vgg16.__module__
找到模块名称,再通过模块的__file__
属性找到路径。 - 示例代码:
from nets.vgg16 import vgg16 import importlib module = importlib.import_module(vgg16.__module__) print(module.__file__)
- 使用
Notebook 新增 base Kernel 配置
默认的python kernel无法正常启动notebook,所以新建一个base kernel,再来使用。注意创建后如果刷新页面可以刷出base项、但会丢失已修改的notebook内容。
- 解决方法:安装
ipykernel
并注册 base Kernel:python -m ipykernel install --user --name base --display-name "Python (base)"
最后notebook链接为:
https://developer.huaweicloud.com/develop/aigallery/notebook/detail?id=577028db-9eae-48b4-88b3-9f46169b8515
补充信息:
新镜像的notebook如下:
pip list:
modelarts 1.4.28
moxing-framework 2.1.0.5d9c87c8
链接:
https://console.huaweicloud.com/modelarts/?region=cn-north-4#/notebook/loading?share-url-b64=aHR0cHM6Ly9tb2RlbGFydHMtbGFicy1iajQub2JzLmNuLW5vcnRoLTQubXlodWF3ZWljbG91ZC5jb206NDQzL2NvdXJzZS9od2NfZWR1L2RlZXBfbGVhcm5pbmcvbW5pc3RfcmVjb2duaXRpb24vMS4lRTYlODklOEIlRTUlODYlOTklRTYlOTUlQjAlRTUlQUQlOTclRTglQUYlODYlRTUlODglQUIlRTQlQkIlQkIlRTUlOEElQTElRTclQUUlODAlRTQlQkIlOEIuaXB5bmI=
来源于AI课程:https://developer.huaweicloud.com/techfield/ai/study.html
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)