更新时间:2021-03-18 GMT+08:00
分享

准备动作

量化并转换Caffe模型前,请先完成如下环境准备动作,然后安装模型小型化工具

模型小型化工具用户准备

支持任意用户(root或者非root)安装模型小型化工具,本章节以非root用户为例进行操作。

  • 若使用root用户安装,则不需要操作该章节,不需要对root用户做任何设置。
  • 若使用已存在的非root用户安装,须保证该用户对$HOME目录具有读写以及可执行权限。
  • 若使用新的非root用户安装,请参考如下步骤进行创建,如下操作请在root用户下执行。本手册以该种场景为例执行模型小型化工具的安装。
    1. 执行以下命令创建模型小型化工具安装用户并设置该用户的$HOME目录。
      useradd -d /home/username -m username
    2. 执行以下命令设置密码。
      passwd username
      username为安装模型小型化工具的用户名,该用户的umask值不能大于0027:
      • 若要查看umask的值,则执行命令:umask
      • 若要修改umask的值,则执行命令:umask 新的取值

配置模型小型化工具安装用户权限(可选)

当用户使用非root用户安装时,需要操作该章节,否则请忽略。

模型小型化工具安装前需要下载相关依赖软件,下载依赖软件需要使用sudo apt-get权限,请以root用户执行如下操作。
  1. 打开“/etc/sudoers”文件:
    chmod u+w /etc/sudoers
    vi /etc/sudoers
  2. 在该文件“# User privilege specification”下面增加如下内容:
    username ALL=(ALL:ALL)   NOPASSWD:SETENV:/usr/bin/apt-get,/usr/bin/pip, /bin/tar, /bin/mkdir, /bin/rm, /bin/sh, /bin/cp, /bin/bash, /usr/bin/make, /usr/bin/pip3, /usr/bin/pip3.7, /usr/bin/pip3.7.5, /bin/ln, /bin/mv

    “username”为执行安装脚本的非root用户名。

    请确保“/etc/sudoers”文件的最后一行为“#includedir /etc/sudoers.d”,如果没有该信息,请手动添加。

  3. 添加完成后,执行:wq!保存文件。
  4. 执行以下命令取消“/etc/sudoers”文件的写权限:
    chmod u-w /etc/sudoers

环境准备

模型小型化工具目前仅支持在Ubuntu 18.04 x86_64架构操作系统安装。
表1 Ubuntu x86_64架构配套版本信息

类别

版本限制

获取方式

注意事项

操作系统

18.04 64位Ubuntu操作系统

请从http://old-releases.ubuntu.com/releases/网站下载对应版本软件进行安装,例如可以下载Server版ubuntu-18.04-server-amd64.iso

-

Python

3.7.5

请参见 安装依赖

-

Caffe

caffe-master分支

当前仅支持commit id为9b891540183ddc834a02b2bd81b31afae71b2153的版本

请参考Caffe官方指导准备Caffe环境:https://github.com/BVLC/caffe/tree/master

推荐使用源码方式安装Caffe环境,如果使用命令行方式安装,出现类似"/usr/bin/python3.7: can't open file '/usr/lib/python3.7/py_compile.py': [Error 2] No such file or directory"信息时,请参见使用命令行方式安装Caffe环境失败解决。

-

CUDA toolkit/

CUDA driver

10.0

请用户自行获取相关软件包进行安装,例如可以参见如下链接获取相关toolkit包,该包中包括driver软件包。

https://developer.nvidia.com/cuda-toolkit-archive

-

numpy

1.16.0

请参见 安装依赖

-

opencv-python

4.1.0.25+

请参见 安装依赖

-

Pillow

6.0.0

请参见 安装依赖

Pillow7.0.0版本不支持jpeg格式,仅Pillow 6.0.0版本支持。

wget

3.2+

请参见 安装依赖

-

protobuf

3.11.0+

请参见 安装依赖

-

安装依赖

执行如下命令前,请确保模型小型化工具所在服务器能够连接网络。请使用su - username命令切换到模型小型化工具安装用户执行如下操作,安装模型小型化工具工具依赖的python等组件。
  1. 安装系统依赖库以及编译环境。

    分别使用如下命令检查是否安装python依赖软件以及检测网络依赖的2to3软件等。

    dpkg -l libssl-dev| grep libssl-dev| grep i
    dpkg -l build-essential| grep build-essential| grep i
    dpkg -l 2to3| grep 2to3| grep ii
    dpkg -l python3-tk| grep python3-tk| grep ii

    若分别返回如下信息则说明已经安装:

    ii  libssl-dev:amd64 1.0.2g-1ubuntu4.15 amd64        Secure Sockets Layer toolkit - development files
    ii  build-essential 12.1ubuntu2  amd64        Informational list of build-essential packages
    2to3           3.6.7-1~18.04 all          2to3 binary using python3
    ii  python3-tk:amd64 3.6.9-1~18.04 amd64        Tkinter - Writing Tk applications with Python 3.x
    否则请执行如下安装命令,(如果只有部分软件未安装,则如下命令修改为只安装还未安装的软件即可):
    sudo apt-get install -y libssl-dev build-essential 2to3 python3-tk

    如果安装python3-tk失败,请参见安装python3-tk时提示错误信息解决。

  2. 检查系统是否安装python3.7.5开发环境。

    分别使用命令python3.7.5 --versionpip3.7.5 --version检查是否已经安装,如果返回如下信息则说明已经安装。

    Python 3.7.5
    pip 19.2.3 from /usr/local/python3.7.5/lib/python3.7/site-packages/pip (python 3.7)

    否则请根据如下方式安装python3.7.5。

    1. 使用wget下载python3.7.5源码包,可以下载到模型小型化工具所在服务器任意目录,命令为:
      wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
    2. 进入下载后的目录,解压源码包,命令为:
      tar -zxvf Python-3.7.5.tgz 
    3. 进入解压后的文件夹,执行配置、编译和安装命令:
      cd Python-3.7.5
      ./configure --prefix=/usr/local/python3.7.5 --enable-shared
      make 
      sudo make install

      其中“--prefix”参数用于指定python安装路径,用户根据实际情况进行修改。“--enable-shared”参数用于编译出libpython3.7m.so.1.0动态库。

      本手册以--prefix=/usr/local/python3.7.5路径为例进行说明。执行配置、编译和安装命令后,安装包在/usr/local/python3.7.5路径,libpython3.7m.so.1.0动态库在/usr/local/python3.7.5/lib/libpython3.7m.so.1.0路径。

    4. 查询/usr/lib64或/usr/lib下是否有libpython3.7m.so.1.0,若有则跳过此步骤或将原有文件备份后执行如下命令:
      将编译后的如下文件复制到/usr/lib64。
      sudo cp /usr/local/python3.7.5/lib/libpython3.7m.so.1.0 /usr/lib64

      如果环境上没有/usr/lib64,则复制到/usr/lib目录:

      sudo cp /usr/local/python3.7.5/lib/libpython3.7m.so.1.0 /usr/lib

      libpython3.7m.so.1.0文件所在路径请根据实际情况进行替换。

    5. 执行如下命令设置软链接:
      sudo ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7.5 
      sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7.5
      sudo ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7 
      sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7

      执行上述软链接时如果提示链接已经存在,则可以先执行如下命令删除原有链接然后重新执行。

      sudo rm -rf  /usr/bin/python3.7.5 
      sudo rm -rf  /usr/bin/pip3.7.5
      sudo rm -rf  /usr/bin/python3.7 
      sudo rm -rf  /usr/bin/pip3.7
    6. 安装完成之后,执行如下命令查看安装版本,如果返回相关版本信息,则说明安装成功。
      python3.7.5 --version
      pip3.7.5 --version
  3. 检查系统是否安装numpy以及scikit-image等依赖软件。

    分类网络依赖numpy、scikit-image、opencv-python、lmdb;检测网络依赖opencv-python、Cython、matplotlib、easydict 、PyYAML、Pillow、pycocotools、cython;LSTM_MNIST依赖numpy、opencv-python、wget;模型小型化工具依赖protobuf。

    使用命令pip3.7.5 list检查是否安安装相应版本的软件,若未安装或安装版本过低,则请执行如下命令。

    pip3.7.5 install numpy==1.16.0 --user
    pip3.7.5 install scikit-image --user
    pip3.7.5 install opencv-python --user
    pip3.7.5 install lmdb --user
    pip3.7.5 install Cython  --user
    pip3.7.5 install matplotlib --user
    pip3.7.5 install easydict  --user
    pip3.7.5 install PyYAML --user
    pip3.7.5 install Pillow==6.0.0 --user
    pip3.7.5 install wget --user
    pip3.7.5 install protobuf==3.11.0  --user
    pip3.7.5 install cython --user
    pip3.7.5 install pycocotools --user

模型小型化工具软件包准备

模型小型化工具的安装用户将mini_toolchain_amct.rar软件包上传到Linux服务器任意目录下,本示例为上传到$HOME/amct/目录。

执行如下命令解压模型小型化工具软件包,其中{software version}表示软件包具体版本号。

unzip mini_toolchain_amct.rar

获得如下内容:

amct_caffe.tar.gz:Caffe框架模型小型化工具安装包,执行tar -zxvf amct_caffe.tar.gz命令解压该软件包,获得如下内容:
  • 模型小型化工具安装包:amct_caffe-{version}-py3-none-linux_x86_64.whl

    version代表具体版本号。

  • 分类网络以及检测网络量化sample包:amct_caffe_sample.tar.gz
  • Caffe源代码增强包:caffe_patch.tar.gz
分享:

    相关文档

    相关产品

close