使用Google Colab建立AIMET環境

前言

最近老闆要讓我們研究AI Model Efficiency Toolkit (AIMET),因此進行一些研究,發現可以在Google Colab上安裝,讓沒有高規格電腦的人也能使用,Colab介紹及使用可以參考「Python深度學習1:Google Colab介紹」,AIMET環境建置參考官方提供的Colab安裝方式,但無法正常安裝,所以就寫一篇博文教大家如何正確安裝AIMET Colab環境建置。

► AIMET簡介

高通創新中心(Qualcomm Innovation Center, QuIC)於2020年在GitHub上發布AI Model Efficiency Toolkit (AIMET),AIMET支持先進的量化和壓縮技術的神經網絡模型,能夠壓縮及量化已經訓練好的模型。一般模型在量化過程中會造成準確度損失,而AIMET模型量化功能有助於解決此問題,能讓用戶進一步微調模型以恢復損失的準確度,AIMET是高通創新中心研發出來的產物,因此優化出來的模型在高通晶片能有較好的執行效能。

 
Google Colab 安裝AIMET

依照官方Github提供的“Install and run AIMET in Google Colab environment”操作,會發現所有依賴的文件都已經被刪除,造成無法正常執行的狀況發生,所以需要修改下載方式,而且Colab使用Python 3.7,所以在更新版本Githib記得要尋找.py37的才行,我們使用1.18.0.py37為例子。

下載並安裝AIMET相依資料包

import os
os.environ['SRC_URL'] = 'https://raw.githubusercontent.com/quic/aimet/release-aimet-1.18/packaging/google_colab/'
!curl ${SRC_URL}reqs_deb_common.txt | xargs apt-get --assume-yes install
!curl ${SRC_URL}reqs_deb_torch_gpu.txt | xargs apt-get --assume-yes --allow-change-held-packages install
!wget ${SRC_URL}reqs_pip_torch_gpu.txt
!pip3 install -r reqs_pip_torch_gpu.txt -f https://download.pytorch.org/whl/torch_stable.html


下載並安裝AIMET相關資料

os.environ['release_tag']="1.18.0.py37"
!pip3 install https://github.com/quic/aimet/releases/download/${release_tag}/AimetCommon-torch_gpu_${release_tag}-cp37-cp37m-linux_x86_64.whl --use-deprecated=legacy-resolver
!pip3 install https://github.com/quic/aimet/releases/download/${release_tag}/AimetTorch-torch_gpu_${release_tag}-cp37-cp37m-linux_x86_64.whl --use-deprecated=legacy-resolver
!pip3 install https://github.com/quic/aimet/releases/download/${release_tag}/AimetTensorflow-tf_gpu_${release_tag}-cp37-cp37m-linux_x86_64.whl --use-deprecated=legacy-resolver


設定環境變數

import sys
sys.path.append('/usr/local/lib/python3.7/dist-packages/aimet_common/x86_64-linux-gnu')
sys.path.append('/usr/local/lib/python3.7/dist-packages/aimet_common/x86_64-linux-gnu/aimet_tensor_quantizer-0.0.0-py3.7-linux-x86_64.egg/')
os.environ['LD_LIBRARY_PATH'] +=':/usr/local/lib/python3.7/dist-packages/aimet_common/x86_64-linux-gnu'


使用一段程式驗證 AIMET 是否安裝成功,這邊區分為CPU及GPU兩個版本,程式碼如下:

CPU

import torch
from torchvision import models
from aimet_torch.quantsim import QuantizationSimModel
m = models.resnet18()
sim = QuantizationSimModel(m, dummy_input=torch.rand(1, 3, 224, 224))
print(sim)


GPU

import torch
from torchvision import models
from aimet_torch.quantsim import QuantizationSimModel
m = models.resnet18().cuda()
sim = QuantizationSimModel(m, dummy_input=torch.rand(1, 3, 224, 224).cuda())
print(sim)


執行結果如下圖:



小結

透過以上講解,應該已經能夠建立Google Colab版本的AIMET,未來能夠用於量化模型,希望能夠幫助剛要入門的朋友們,後續可以使用AIMET Model Zoo內的範例,但內部範例需要使用1.13版本使用Cuda 10版本,由於我電腦顯卡使用Cuda 11版本,所以只能更換其他版本,目前測過1.16.2.py37版本能夠執行,有興趣的朋友可以試試看,本篇博文到這裡,期待下一篇博文吧!

 

參考資料

AI Model Efficiency Toolkit (AIMET)

Model Zoo for AI Model Efficiency Toolkit

網絡壓縮算法(一):高通aimet的安裝和試用

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論