網頁

2020年10月20日 星期二

Nvidia TLT(Transfer Learning Toolkit) 轉移學習工具


Transfer Learning 除了可以減少訓練時間,也可減少訓練所需的資料和標註
TLT 使用 docker 技術,可參考 Docker 安裝和使用
TLT 預先訓練一些模型,透過 NGC 下載,參考 NVIDIA GPU Cloud (NGC)
TLT 可以使用 docker 下的 Jupyter notebooks
TLT 產出的模型 .etlt 格式,可以在 DeepStream 和 TensorRT 下使用
Pruning 修剪模型中較不重要的 nodes, 減少記憶體的使用,加快推理
Augmenting Dataset 增強資料集,顏色變換,模糊,旋轉,縮放,翻轉,裁剪

TrafficCamNet 和 DashCamNet 都用於交通
TrafficCamNet 用於固定點,DashCamNet 用於移動的車上

PeopleNet 偵測 人,包包,臉
FaceDetectIR 專注於人臉

Transfer Learning Toolkit
下載預先訓練的模型
準備訓練和測試資料集
訓練模型
測試模型
(Prune)修剪模型
輸出模型

安裝步驟
確認 NVIDIA GPU driver 版本,v410.xx 以上,可使用
$ nvidia-smi
安裝 NVIDIA Docker 參考 nvidia-docker 和 Installing Docker CE on Ubuntu
$ curl https://get.docker.com | sh
開機自動執行 docker service
$ sudo systemctl start docker && sudo systemctl enable docker
新增 apt-key
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
$ sudo apt-get update
$ sudo apt-get install -y nvidia-docker2
$ sudo systemctl restart docker
測試是否安裝完成
$ sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
參考 NVIDIA GPU Cloud (NGC),取得 API Key
$ docker login nvcr.io
Username: $oauthtoken
Password: YOUR_NGC_API_KEY
目前 TLT version 為 v2.0_py3
下載 TLT
$ docker pull nvcr.io/nvidia/tlt-streamanalytics:<version>
執行 TLT
$ docker run --runtime=nvidia -it nvcr.io/nvidia/tlt-streamanalytics:<version> /bin/bash
利用目錄對映,存取本地資料
$ docker run --runtime=nvidia -it -v /home/<username>/tlt-experiments:/workspace/tlt-experiments nvcr.io/nvidia/tlt-streamanalytics:<version> /bin/bash
使用網路 port 對映
$ docker run --runtime=nvidia -it -v /home/<username>/tlt-experiments:/workspace/tlt-experiments -p 8888:8888 nvcr.io/nvidia/tlt-streamanalytics:<version>
執行 jupyter notebook
$ cd examples/
$ jupyter notebook --ip 0.0.0.0 --allow-root

設定 NGC API Key
$ ngc config set
顯示 NGC 上的模組列表
$ ngc registry model list <model_glob_string>
例如:
$ ngc registry model list nvidia/tlt_pretrained_*
顯示 tlt_pretrained_detectnet_v2 的各種版本
$ ngc registry model list nvidia/tlt_pretrained_detectnet_v2:*
下載模組
$ ngc registry model download-version <ORG/model_name:version> -dest <path_to_download_dir>
例如:
$ ngc registry model download-version nvidia/tlt_pretrained_classification:resnet18 --dest $USER_EXPERIMENT_DIR/pretrained_resnet18

Object Detection 物件偵測,label 檔使用 KITTI 格式
但只使用了 Class names 和 Bounding box



1 則留言:

  1. 生活紀錄: Nvidia Tlt(Transfer Learning Toolkit) 轉移學習工具 >>>>> Download Now

    >>>>> Download Full

    生活紀錄: Nvidia Tlt(Transfer Learning Toolkit) 轉移學習工具 >>>>> Download LINK

    >>>>> Download Now

    生活紀錄: Nvidia Tlt(Transfer Learning Toolkit) 轉移學習工具 >>>>> Download Full

    >>>>> Download LINK H7

    回覆刪除