【海思AI芯片Hi3559A】学习笔记(3):RuyiStudio安装、mingw安装、Python 3.5 + Caffe 环境配置

主要参考了官方资料Hi3559A V100R001C02SPC020\ReleaseDoc\zh\01.software\board\SVP目录下的HiSVP 开发指南.pdf中的第五章RuyiStudio工具使用指南
还有Hi3559A V100R001C02SPC020\SVP_PC\HiSVP_PC_V1.1.2.0\tools\nnie\windows\ruyi_env_setup-2.0.31目录下的readme.txt
安装过程中遇到的问题,在两篇博客的帮助下完美解决:
①华为海思 AI 芯片 (Hi3559A V100) 算法开发(二)RuyiStudio安装
②HiSi 3516CV500 NNIE(Neural Network Inference Engine) 摸鱼记录(1) — 环境搭建

readme.txt内容如下:

提供mingw和python+caffe两个配置环境的脚本

【mingw】

  1. 从http://gnuwin32.sourceforge.net/packages/wget.htm网页下载wget安装包,选择(Complete package, except sources)下载,下载得到wget-1.11.4-1-setup.exe,双击安装,安装完成后,将wget.exe所在安装目录(GnuWin32\bin)添加到用户环境变量PATH中,用于从网页下载依赖的包。建议在用户环境变量中,先创建一个变量名为WGET_PATH的环境变量,变量值即为wget.exe的安装目录(GnuWin32\bin),然后再将%WGET_PATH%添加到用户环境变量PATH中。

  2. 点击ruyi_env_setup文件夹下的setup_mingw.bat,就可以自动下载mingw和msys的安装包,解压到指定位置并配置环境变量。如果配置环境变量失败(环境变量超过1024个字符),需要手动配置。如果当前bat脚本放的位置在D:\ruyi_env_setup,那么添加"D:\ruyi_env_setup\mingw64\bin;D:\ruyi_env_setup\mingw64\msys\bin;"到用户环境变量开头。在用wget下载相关安装包的时候,如果下载失败,可参照requirements.txt中给出的版本号下载相关的包,一个是x86_64-7.3.0-release-posix-seh-rt_v5-rev0.7z,一个是msys+7za+wget+svn+git+mercurial+cvs-rev13.7z,下载完成后,直接在当前目录解压x86_64-7.3.0-release-posix-seh-rt_v5-rev0.7z,再将msys+7za+wget+svn+git+mercurial+cvs-rev13.7z解压到mingw64文件夹中。

【python+caffe】

  1. 同mingw安装的步骤1。

  2. 从https://github.com/willyd/caffe-builder/releases下载libraries_v140_x64_py35_1.1.0.tar.bz2并放置在ruyi_env_setup文件夹下。

  3. 点击setup_python.bat进行安装,setup_python.bat脚本会调用python_bat文件夹下的setup_download_python.bat,setup_extract_python.bat和setPath_python.bat,下载python,caffe的依赖包,并配置环境变量。如果环境变量配置失败(环境变量超过1024个字符),可参考步骤 4到步骤 6的描述,进行手动配置。在用wget下载相关依赖包的时候,如果下载失败,可参考步骤7。

  4. 在用户环境变量中增加变量RUYI_PYTHON_PATH,变量值即为当前脚本所在位置,即,如果当前bat脚本放置在D:\ruyi_env_setup目录下,那么就可以将RUYI_PYTHON_PATH的变量值为"D:\ruyi_env_setup\python35;D:\ruyi_env_setup\python35\Scripts;D:\ruyi_env_setup\python35\Library\bin"。

  1. 手动添加"%RUYI_PYTHON_PATH%;"到用户环境变量path的开头

这一步必须注意要将"%RUYI_PYTHON_PATH%;"添加到用户环境变量path的开头,即path的第一项,目的是针对先前安装了很多Python版本的情况,将此处配置的Python 3.5设为cmd默认的Python版本。

  1. 手动添加用户环境变量PYTHONPATH:D:\ruyi_env_setup\python35\Lib\site-packages\caffe\python,用于工具识别到caffe。
  1. 参照requirements.txt下载未成功下载的包。除过caffe.zip和opencv_python-3.4.0.12-cp35-cp35m-win_amd64.whl(详见第8,9小节),其余包都是直接放到脚本创建的python35文件夹下进行解压。

我自己安装时,有jpeg-9b-vc14_2.tar.bz2、libtiff-4.0.9-vc14_0.tar.bz2、qt-5.6.2-vc14_1.tar.bz2、PyYAML-3.13-cp35-cp35m-win_amd64.whl四个包未能成功下载,
这一步参考了开头提到的第二篇博客HiSi 3516CV500 NNIE(Neural Network Inference Engine) 摸鱼记录(1) — 环境搭建,内有可用的下载链接。

  1. caffe.zip需要放到python35\Lib\site-packages下解压,然后解压libraries_v140_x64_py35_1.1.0.tar.bz2,将
    libraries\bin目录下的caffehdf5.dll,caffehdf5_hl.dll,caffezlib1.dll,glog.dll,libgcc_s_seh-1.dll,libgfortran-3.dll,libopenblas.dll,libquadmath-0.dll,VCRUNTIME140.dll,libraries\x64\vc14\bin目录下的opencv_core310.dll,opencv_imgcodecs310.dll,opencv_imgproc310.dll以及libraries\lib下的boost_chrono-vc140-mt-1_61.dll,boost_filesystem-vc140-mt-1_61.dll,boost_python-vc140-mt-1_61.dll,boost_system-vc140-mt-1_61.dll,boost_thread-vc140-mt-1_61.dll,gflags.dll拷贝到python35\Lib\site-packages\caffe\python\caffe文件夹下。

经逐个核对,这一步的操作已通过setup_python.bat脚本自动执行。

  1. opencv_python-3.4.0.12-cp35-cp35m-win_amd64.whl, Cython-0.28.5-cp35-cp35m-win_amd64.whl以及PyYAML-3.13-cp35-cp35m-win_amd64.whl需要从cmd进到python35目录下,用pip
    install filename指令进行安装(如pip install
    opencv_python-3.4.0.12-cp35-cp35m-win_amd64.whl)。

在用setup_python.bat脚本自动安装时,遇到了报错error1
error2
提示opencv、PyYAML、Cython安装失败,这一步按照华为海思 AI 芯片 (Hi3559A V100) 算法开发(二)RuyiStudio安装的提示逐步检查,最后发现应该是pip版本的问题。通过以下命令成功更新pip:

curl https://bootstrap.pypa.io/pip/3.5/get-pip.py -o get-pip.py
python get-pip.py

pip更新完成后,即可通过pip install "xxx.whl"命令手动安装未能自动安装的opencv、PyYAML、Cython的whl文件。

说明:setup_python.bat, setup_mingw.bat, setup_roi_caffe.bat, caffe.zip,
7z.exe和7z.dll需要在同一目录下。 当前脚本不支持在含有特殊字符的路径下运行,如, (, ), or &。
偶然出现明明环境变量已经设置成功,在cmd上执行python等都已经可以识别,但是在ruyi工具上就是不能识别到python时,需要重启电脑。

Cython-0.28.5-cp35-cp35m-win_amd64.whl和PyYAML-3.13-cp35-cp35m-win_amd64.whl,setup_roi_caffe.bat是针对带了proposal层的网络做的,如果并不涉及,相关错误提示可不用处理。

【rpn】

当涉及到计算检测网中roi_pooling实现的proposal层的shape信息时或者python层的实现是rpn时,需要客户自行引入相应的模块,才能够识别到。
执行setup_roi_caffe.bat脚本,下载py-faster-rcnn-windows-master.zip包,用VS自带的可执行文件进行编译,并将编译生成的文件拷贝到python35\Lib\site-packages\caffe\roi_pooling文件夹下,由于安装的python脚本的版本号默认是py35,因此相关的python脚本需要遵循python35的规范,需要对脚本进行修改,具体都已经在setup_roi_caffe.bat脚本中做好,可以参考脚本中的内容进行手动操作。

如果客户有外网环境,可以直接从requirements中写的云盘路径(链接:https://pan.baidu.com/s/1x5N5_XSUfBRG3cmO5nq7Ag
提取码:6yi3 )中获取相关内容。

你可能感兴趣的:(linux,嵌入式硬件,caffe)