AIMET工具安装介绍(4)
AIMET在Google Colab 中的构建、安装和使用
这个Blog用来提供在 Google colab 环境中构建、安装和使用 AIMET 软件的说明。除非另有说明,否则请按照提供的顺序进行操作。
设置Google colab
- 访问 Google Colab 网站:https://colab.research.google.com/
- 从主菜单选项打开一个新笔记本:File -> New notebook
- 在下面的 Google Colab 菜单选项中选择硬件加速器作为 GPU:Runtime -> Change runtime -> Hardware Accelerator(GPU)
安装包依赖
Google colab 附带了一个预安装包的列表。 AIMET 取决于其中一些软件包的特定版本。 会在以下说明中注意到我们正在降级某些软件包。如果在安装步骤中看到下面提到的警告消息,请忽略它。
WARNING: The following packages were previously imported in this runtime:
[pkg_resources]
You must restart the runtime in order to use newly installed versions.
Certain packages would take effect
请运行以下命令来安装依赖项以构建 AIMET:
!pip3 uninstall protobuf
!pip3 uninstall tensorflow
!apt-get update
!apt-get install python3.6
!apt-get install python3-dev
!apt-get install python3-pip
!apt-get install liblapacke liblapacke-dev
!apt-get install wget
!pip3 install numpy==1.16.4
!apt-get install libgtest-dev build-essential
%cd /content/
!wget https://github.com/Kitware/CMake/releases/download/v3.19.3/cmake-3.19.3-Linux-x86_64.sh
!sh cmake-3.19.3-Linux-x86_64.sh --skip-license
%rm -rf /usr/local/bin/cmake
%rm -rf /usr/local/bin/cpack
%rm -rf /usr/local/bin/ctest
!ln -s /content/bin/cmake /usr/local/bin/cmake
!ln -s /content/bin/ctest /usr/local/bin/ctest
!ln -s /content/bin/cpack /usr/local/bin/cpack
!pip3 --no-cache-dir install opencv-python==4.1.0.25
!pip3 --no-cache-dir install pillow==6.2.1
!pip3 install pytorch-ignite==0.1.2
!wget -q https://github.com/Itseez/opencv/archive/3.1.0.tar.gz -O /tmp/3.1.0.tar.gz > /dev/null
!tar -C /tmp -xvf /tmp/3.1.0.tar.gz > /dev/null
%cd /tmp/opencv-3.1.0
%mkdir release
%cd release
!cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=release -DWITH_FFMPEG=OFF -DBUILD_TESTS=OFF -DWITH_CUDA=OFF -DBUILD_PERF_TESTS=OFF -DWITH_IPP=OFF -DENABLE_PRECOMPILED_HEADERS=OFF .. > /dev/null
!make -j16 > /dev/null
!make -j16 install > /dev/null
!wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
!apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
!dpkg -i cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
!apt-get update
!wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
!apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
!apt-get update
!apt install cuda-cublas-10-0 cuda-cufft-10-0 cuda-curand-10-0 cuda-cusolver-10-0
!apt-get update && apt install cuda-cusparse-10-0 libcudnn7=7.6.2.24-1+cuda10.0 libnccl2=2.4.8-1+cuda10.0 cuda-command-line-tools-10.0
!pip3 install scipy==1.2.1
!pip3 install protobuf==3.7.1
!pip3 install scikit-learn==0.21.0
!pip3 install tensorboardX==1.7
!pip3 install https://download.pytorch.org/whl/cu100/torch-1.4.0%2Bcu100-cp36-cp36m-linux_x86_64.whl
!pip3 install https://download.pytorch.org/whl/cu100/torchvision-0.5.0%2Bcu100-cp36-cp36m-linux_x86_64.whl
!pip3 install --upgrade pip
!pip3 install tensorflow-gpu==1.15.0
!pip3 install future==0.17.1
!pip3 install tensorboard==1.15
!pip3 install bokeh==1.2.0
!pip3 install pandas==0.22.0
!pip3 install holoviews==1.12.7
!pip3 install --no-deps bokeh==1.2.0 hvplot==0.4.0
!pip3 install jsonschema==3.1.1
!pip3 install osqp onnx
!ln -s /usr/local/cuda-10.0 /usr/local/cuda
!apt-get update && apt-get install -y libjpeg8-dev
!ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
!apt install zlib1g-dev
!pip3 uninstall Pillow && pip3 install Pillow-SIMD==6.0.0.post0
!pip3 uninstall pytest
!pip3 install pytest
!pip3 install setuptools==41.0.1
!pip3 install keras==2.2.4
%rm -rf /usr/local/bin/python
!ln -s /usr/bin/python3 /usr/local/bin/python
重置 Google colab 环境
请从以下菜单选项重新启动 Google 运行时环境:
Runtime -> Restart runtime
AIMET构建和安装
请运行以下命令从 github repo 中获取 AIMET 和 googletest,并编译 AIMET。
%cd /content/
!mkdir aimet_code
%cd aimet_code
!git clone https://github.com/quic/aimet.git
%cd aimet
%mkdir -p ./ThirdParty/googletest
%pushd ./ThirdParty/googletest
!git clone https://github.com/google/googletest.git -b release-1.8.0 googletest-release-1.8.0
%popd
%cd /content/aimet_code
%mkdir build
%cd build
!cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ../aimet
!make -j 8
本地安装
!make install
创建 whl 包
!make packageaimet
配置 LD_LIBRARY_PATH 和 PYTHONPATH
import sys
sys.path.append(r'/content/aimet_code/build/staging/universal/lib/python')
sys.path.append(r'/content/aimet_code/build/staging/universal/lib/x86_64-linux-gnu')
sys.path.append(r'/usr/local/lib/python3.6/dist-packages')
sys.path.append(r'/content/aimet_code/build/artifacts')
import os
os.environ['LD_LIBRARY_PATH']+= ":/content/aimet_code/build/artifacts"
运行单元测试
运行单元测试以确保 AIMET 安装成功。请运行以下命令来运行单元测试:
%cd /content/aimet_code/build/
!ctest