平臺性能測試
為了讓用戶快速了解深度學習平臺的性能指標以便於選擇,我們使用 TensorFlow 性能測試代碼中的 CNN Benchmark ,對常用硬體配置組合進行了測試。 我們選擇 ResNet-50 模型,調用 Python 3.6 + TensorFlow 1.7.0 環境,使用合成數據進行測試。
青雲深度學習平臺組件版本對照表
模型和數據
為了方便用戶使用,我們收集了深度學習常用的數據集,以及一些常用模型的預訓練權重,放在對象存儲中,用戶可直接使用這些數據開始自己的工作,節省下載數據的時間,提高工作效率。
下載地址:https://docs.qingcloud.com/product/ai/deeplearning/#%E6%A8%A1%E5%9E%8B%E5%92%8C%E6%95%B0%E6%8D%AE
訓練與推理實踐
為了方便用戶的學習和實踐,我們還提供了包含圖像分類、目標檢測、人臉識別及自然語言處理的示例,以下簡單舉例說明。
更多案例:https://docs.qingcloud.com/product/ai/deeplearning/#%E8%AE%AD%E7%BB%83%E5%92%8C%E6%8E%A8%E7%90%86
目標檢測
FasterRCNN 目標檢測
原始碼來自 https://github.com/tensorpack/tensorpack, 修改部分代碼以使用 COCO 2017 數據集進行訓練,並使用 ImageNet-R50 Backbone 網絡和 COCO 2017 數據集訓練了 300000 iterations,保存對應的 checkpoint ,增加 jupyter notebook 版測試程序,顯示初步訓練的結果,代碼在對象存儲下載。基於 Python 3.6.5,需要安裝 opencv-contrib-python 、 tensorpack 、 pycocotools 包。
FasterRCNN 訓練
激活 Python 3.6.5 環境,下載文件後解壓,然後在 tensorpack/coco 目錄下,下載 COCO 2017 數據集文件並解壓(這裡已經包含了 annotations 和 val2017 ,僅需下載 train2017 和 test2017 )。
# 下載並解壓
source /home/ubuntu/workspaces/py3/bin/activate
cd /data
wget https://appcenter-deeplearning.sh1a.qingstor.com/models/tensorpack.tar
tar xvf tensorpack.tar
# 下載 COCO 2017 數據集(數據集將佔用27GB空間,請確保硬碟空間充足)
cd tensorpack/coco
wget https://appcenter-deeplearning.sh1a.qingstor.com/dataset/coco/train2017.zip
wget https://appcenter-deeplearning.sh1a.qingstor.com/dataset/coco/test2017.zip
tar xvf train2017.zip
tar xvf test2017.zip
# 從頭開始訓練
cd /data/tensorpack/examples/FasterRCNN
python train.py --config MODE_MASK=False MODE_FPN=True BACKBONE.WEIGHTS=/data/tensorpack/modelzoo/FasterRCNN/ImageNet-R50-AlignPadding.npz DATA.BASEDIR=/data/tensorpack/coco/
# 從保存的 checkpoint 開始訓練(注意代碼在開始訓練時將清空train_log/maskrcnn文件夾,請在開始訓練前將需要保存的數據轉移到其他文件夾,示例中轉移到了train_log/bak文件夾)
python train.py --load=/data/tensorpack/examples/FasterRCNN/train_log/bak/model-10000.index --config MODE_MASK=False MODE_FPN=True BACKBONE.WEIGHTS=/data/tensorpack/modelzoo/FasterRCNN/ImageNet-R50-AlignPadding.npz DATA.BASEDIR=/data/tensorpack/coco/
訓練開始後,將顯示訓練進度並在每個 epoch 完成後保存一次 checkpoint(每次保存佔用約 500MB 空間,長時間訓練請關注硬碟空間),如下圖所示
FasterRCNN 推理
激活 Python 3.6.5 環境,下載文件後解壓,然後在 tensorpack/examples/FasterRCNN 目錄下,運行 jupyter notebook。
# 下載並解壓
source /home/ubuntu/workspaces/py3/bin/activate
cd /data
wget https://appcenter-deeplearning.sh1a.qingstor.com/models/tensorpack.tar
tar xvf tensorpack.tar
# 運行 jupyter notebook
cd tensorpack/examples/FasterRCNN
jupyter notebook --ip=`ifconfig eth0 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://'`
在瀏覽器中打開 jupyter notebook 的頁面,打開 test.ipynb 並運行,將顯示初步訓練的權重對測試圖片的目標檢測結果。如下圖所示
人臉識別:FaceNet 人臉相似度計算
原始碼來自 https://github.com/davidsandberg/facenet,將預訓練權重一起打包,增加 jupyter notebook 版測試程序,用來演示基本的 jupyter notebook 運行、交互和圖像顯示等功能。基於 Python 3.6.5,需要安裝 opencv-contrib-python 包。
激活 Python 3.6.5 環境,下載文件後解壓,然後在 facenet/src 目錄下,運行 jupyter notebook。
# 下載並解壓
source /home/ubuntu/workspaces/py3/bin/activate
cd /home/ubuntu/
wget https://appcenter-deeplearning.sh1a.qingstor.com/models/facenet.tar
tar xvf facenet.tar
# 運行 jupyter notebook
cd facenet/src
jupyter notebook --ip=`ifconfig eth0 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://'`
在瀏覽器中打開 jupyter notebook 的頁面,將看到如下內容:
打開 facecomp.ipynb 並運行,在提示輸入 model file path 時,輸入預訓練權重路徑 20180408-102900 ;提示輸入需要計算的照片時,輸入 a1.jpg a2.jpg b1.jpg b2.jpg c1.jpg c2.jpg 。(這裡隨機選擇了 VGGFace2 數據集中 3 個人 6 張照片作為示例)
將計算並顯示 6 張人臉照片相互之間的距離,同一個人的照片,距離較近。如下圖所示:
用戶可以使用對象存儲中的 VGGFace2 或者自己的數據集,來訓練FaceNet,獲得適用於自己業務的模型。
手把手教你部署 Deep learning 服務
第 1 步:
進入 AppCenter,選擇 Deep Learning on QingCloud 服務。
第 2 步:
部署 Deep Learning 應用
第 3 步:
選擇 GPU 可用區,紅色框所示的區域表示 GPU 可用區,若您需要使用 GPU,只能從這三個區域中選擇,所有區域均支持 CPU 訓練。
第 4 步:
基本設置,填寫服務名稱和描述,選擇版本。
第 5 步:
計算節點設置,填寫節點 CPU、GPU、內存、節點類型、節點個數、數據盤大小等配置信息。
第 6 步:
網絡設置,出於安全考慮,所有的集群都需要部署在私有網絡中,選擇自己創建的已連接路由器的私有網絡中。
第 7 步:
環境設置,Deep Learning app 與 QingStor™ 對象存儲命令行工具集成,配置 QingStor™ 對象存儲相關參數,可以方便的從 QingStor™ 對象存儲拉取數據。如果 QingStor™ 對象存儲選用 false,access_key 和 secret_key 則無需填寫。
第 8 步:
查看 GPU 監控信息,集群啟動 5 分鐘後,依次進入 QingCloud 控制臺->AppCenter->管理,便可以看到主機的運行狀態和 GPU 監控信息。
更多使用問題可查閱用戶指南:
https://docs.qingcloud.com/product/ai/deeplearning/
還在想什麼?快來點擊閱讀原文試用體驗吧!