【CANN訓練營第三季】基於Caffe ResNet-50網路實現圖片分類
【 CANN訓練營第三季】基於Caffe ResNet-50網路實現圖片分類
一、雲伺服器的使用
為了更好的讓我們能夠了解並學習昇騰的相關知識,華為 CANN訓練營第三季給予了一定的雲伺服器資源,申請映象: https://devcloud.huaweicloud.com/expertmobile/qtn?id=37c0f1996ab744d0aecfc3209c843d95
申請代金券:
關於雲伺服器的使用簡單總結如下:
找到共享映象如下步驟:
申請
ESC彈性雲伺服器->獲取彈性公網IP->運用SSH遠端訪問雲伺服器->正常按照ubuntu系統的終端命令來操作使用伺服器
資源連結:
遠端終端軟體推薦
Xshell
:
進入終端後為 root使用者,需要進入HwHiAiUser使用者
指令:
cd / home /
su - HwHiAiUser
可以使用 ls 或者 ll 指令隨意瀏覽系統中已有的檔案情況。
$ ls -al
二、基於 Caffe ResNet-50網路實現圖片分類
準備工作完成,
開始
正式實驗!可以按照倉庫裡的
readme檔案所述步驟一步步操作,此處也僅僅簡單給出實驗的步驟和實驗圖。
倉庫資源連結:
https://gitee.com/ascend/samples/tree/master/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification
1、下載樣例程式碼
克隆 sample倉裡的程式碼
git clone https :// gitee . com / ascend / samples . git
進入到
resnet50_imagenet_classification樣例的資料夾中
c d samples / cplusplus / level2_simple_inference / 1 _classification / resnet50_imagenet_classification
2、獲取ResNet-50預訓練模型
先建立一個用來儲存該模型的資料夾 caffe_model, 進入 資料夾
mkdir caffe_model
cd caffe_model
從網頁直接透過命令下載預訓練模型:權重檔案( resnet50.caffemodel)和模型檔案(resnet50.prototxt)
$ wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/resnet50/resnet50.prototxt
$ wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/resnet50/resnet50.caffemodel
3、模型轉換
上述下載的預訓練模型需要首先運用
ATC模型轉換工具將該模型轉換成昇騰AI處理器支援的離線模型(.om)
流程:
首先先切換到樣例目錄下(接著上面的操作就是上一級目錄)
cd .. /
然後執行模型轉換工具 atc ( atc 命令找不到解決辦法: )
atc -- model = caffe_model / resnet50 . prototxt -- weight = caffe_model / resnet50 . caffemodel -- framework = 0 -- output = model / resnet50 -- soc_version = Ascend310 -- input_format = NCHW -- input_fp16_nodes = data -- output_type = FP32 -- out_nodes = prob : 0
成功
開啟
model資料夾可以看到resnet50.om已經轉換完成了
ls -al model/
4、下載測試圖片
進入 data資料夾,並下載兩張ImageNet資料集中存在類別的圖片
cd . / data /
wget https :// c7xcode . obs . cn - north - 4. myhuaweicloud . com / models / aclsample / dog1_1024_683 . jpg
wget https :// c7xcode . obs . cn - north - 4. myhuaweicloud . com / models / aclsample / dog2_1024_683 . jpg
5、圖片格式轉換
下載的圖片是
JPEG格式的,需要轉換成適合模型輸入要求格式的二進位制檔案(.bin)
在
data目錄下,執行transferPic.py指令碼,將*.jpg轉換為*.bin,同時將圖片從1024 * 683的解析度縮放為224 * 224。
如果執行指令碼報錯 “ModuleNotFoundError: No module named 'PIL'”,則表示缺少Pillow庫,請使用 pip3 install Pillow --user 命令安裝Pillow庫。
python3 .. / script / transferPic . py
6、編譯執行
進入 “cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification”樣例目錄
cd .. /
設定臨時的環境變數,配置程式編譯依賴的標頭檔案與庫檔案路徑
export DDK_PATH = $ HOME / Ascend / ascend - toolkit / latest
export NPU_HOST_LIB = $ DDK_PATH / acllib / lib64 / stub
建立
build資料夾,準備編譯程式碼檔案
mkdir - p build / intermediates / host
進入
build資料夾,編譯.cpp檔案
cd build / intermediates / host
cmake .. / .. / .. / src - DCMAKE_CXX_COMPILER = g ++ - DCMAKE_SKIP_RPATH = TRUE
make
可以在樣例目錄(
cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification)下的out資料夾中找到編譯好的可執行main檔案,接下來我們直接執行main檔案
cd .. / .. / .. / out /
. / main
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70025312/viewspace-2928662/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CANN訓練營第三季_基於昇騰PyTorch框架的模型訓練調優_讀書筆記PyTorch框架模型筆記
- 原始碼分析——遷移學習Inception V3網路重訓練實現圖片分類原始碼遷移學習
- 1.CNN圖片單標籤分類(基於TensorFlow實現基礎VGG16網路)CNN
- (13)caffe總結之訓練和測試自己的圖片
- 【CANN訓練營第三季】昇騰AI入門課知識點整理和彙總AI
- 【CANN訓練營第三季】進階班AI目標屬性編輯應用-筆記AI筆記
- 看照片挑民宿:Airbnb如何重新訓練ResNet50,實現房間圖片分類最佳化AI
- 圖卷積神經網路分類的pytorch實現卷積神經網路PyTorch
- 基於Pytorch實現貓狗分類PyTorch
- 2.CNN圖片多標籤分類(基於TensorFlow實現驗證碼識別OCR)CNN
- 基於PaddlePaddle的圖片分類實戰 | 深度學習基礎任務教程系列深度學習
- 基於React Hook實現圖片的裁剪ReactHook
- TF2.keras 實現基於卷積神經網路的影象分類模型TF2Keras卷積神經網路模型
- TF2.keras 實現基於卷積神經網路的影像分類模型TF2Keras卷積神經網路模型
- Android 載入網路圖片 以及實現圓角圖片效果Android
- 神經網路實現鳶尾花分類神經網路
- TF2.keras 實現基於深度可分離卷積網路的影象分類模型TF2Keras卷積模型
- TF2.keras 實現基於深度可分離卷積網路的影像分類模型TF2Keras卷積模型
- 程式碼隨想錄演算法訓練營第52天 | 圖論基礎1演算法圖論
- 【python實現卷積神經網路】開始訓練Python卷積神經網路
- 使用自己的資料集訓練MobileNet、ResNet實現影象分類(TensorFlow)
- 基於pytorch實現Resnet對本地資料集的訓練PyTorch
- 人工智慧的預訓練基礎模型的分類人工智慧模型
- 訓練PaddleOCR文字方向分類模型模型
- .NetCore實現圖片縮放與裁剪 - 基於ImageSharpNetCore
- 基於飛槳PaddlePaddle的多種影像分類預訓練模型強勢釋出模型
- 基於Tensorflow + Opencv 實現CNN自定義影像分類OpenCVCNN
- 手把手教你基於華為雲,實現MindSpore模型訓練模型
- 零基礎入門深度學習(一):用numpy實現神經網路訓練深度學習神經網路
- 神經網路 | 基於MATLAB 深度學習工具實現簡單的數字分類問題(卷積神經網路)神經網路Matlab深度學習卷積
- 基於PyTorch框架的多層全連線神經網路實現MNIST手寫數字分類PyTorch框架神經網路
- 紅色視覺網,一個基於thinkphp的視覺類圖片網站視覺PHP網站
- 微信小程式 實現網路圖片本地快取微信小程式快取
- AI打遊戲-貳(收集訓練圖片)AI遊戲
- 使用Pytorch訓練分類器詳解(附python演練)PyTorchPython
- 一個基於Vue的圖片輪播元件的實現Vue元件
- 基於ArkUI框架開發——圖片模糊處理的實現UI框架
- 基於 Serverless+OSS 分分鐘實現圖片秒變素描Server