中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何快速上手MMdnn

發布時間:2022-02-18 15:03:23 來源:億速云 閱讀:236 作者:iii 欄目:開發技術

這篇“如何快速上手MMdnn”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“如何快速上手MMdnn”文章吧。

MMdnn 是微軟開源的一套幫助用戶在不同深度學習框架之間進行互操作的工具,包括模型轉換和可視化。目前支持在 Caffe、Keras、MXNet、Tensorflow、CNTK、PyTorch 和 CoreML 等框架之間進行模型轉換。

如何快速上手MMdnn

安裝

通過以下命令行獲取穩定版的 MMdnn:

pip install https://github.com/Microsoft/MMdnn/releases/download/0.1.3/mmdnn-0.1.3-py2.py3-none-any.whl

或者通過以下命令嘗試最新版本:

pip install -U git+https://github.com/Microsoft/MMdnn.git@master

模型轉換

業界和學界存在大量現有框架,適合開發者和研究者來設計模型,每個框架具備自己的網絡結構定義和模型保存格式。框架之間的差距阻礙了模型的交互操作。

如何快速上手MMdnn

我們提供一個模型轉換器,幫助開發者通過中間表征格式轉換模型,以適合不同框架。

支持框架

每個支持的框架都有詳細的 README 文檔,它們可以在以下conversion件夾找到。

測試模型

我們在部分 ImageNet 模型上對當前支持的框架間模型轉換功能進行了測試。

如何快速上手MMdnn

正在測試的框架: PyTorch CNTK Caffe2 ONNX 正在測試的模型: RNN 圖像風格遷移 目標檢測

模型可視化

你可以使用 MMdnn 模型可視化工具(http://vis.mmdnn.com/),提交自己的 IR json 文件進行模型可視化。為了運行下面的命令行,你需要使用喜歡的包管理器安裝 requests、Keras、TensorFlow。

使用 Keras inception_v3 模型作為示例。

\1. 下載預訓練模型:

python -m mmdnn.conversion.examples.keras.extract_model -n inception_v3

\2. 將預訓練模型文件轉換成中間表征格式:

python3 -m mmdnn.conversion._.convertToIR -f keras -d keras_inception_v3 -n imagenet_inception_v3.json

\3. 打開 MMdnn 模型可視化工具地址(http://mmdnn.eastasia.cloudapp.azure.com:8080/),選擇文件 keras_inception_v3.json。

如何快速上手MMdnn

社區支持

本項目仍在繼續開發與探索,它需要各位讀者完善中間表征與支持的框架。因此,該項目的作者表示他非常希望有開發者能提供新的運算或擴展。

中間表征:中間表征在 protobuf 二進制文件中儲存網絡架構,在 NumPynative 格式中儲存預訓練權重。此外,目前 IR 權重數據使用的是 NHWC 格式。中間表征的細節請查看 ops.txt 和 graph.proto 文件。 框架:我們正在擴展到其它框架版本和可視化工具,例如 Caffe2、PyTorch 和 CoreML 等。此外,本項目也在積極開發 RNN 相關的操作方法。

使用案例

以下是該項目實現框架轉換的基本案例,其中包括官方的教程和用戶提供的各種案例,機器之心簡要介紹了官方 Keras 到 CNTK 的轉換教程。 官方教程:

Keras “inception_v3” to CNTK 用戶案例:

MXNet “resnet 152 11k” to PyTorch MXNet “resnext” to Keras Tensorflow “resnet 101” to PyTorch Tensorflow “mnist mlp model” to CNTK Tensorflow “Inception_v3” to MXNet Caffe “AlexNet” to Tensorflow Caffe “inception_v4” to Tensorflow Caffe “VGG16_SOD” to Tensorflow Caffe “Squeezenet v1.1” to CNTK

Keras「inception_v3」模型到 CNTK 的轉換

1. 安裝 Keras 和 CNTK

pip install keras
pip install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.3-cp27-cp27mu-linux_x86_64.whl

or

pip install
https://cntk.ai/PythonWheel/CPU-Only/cntk-2.3-cp35-cp35m-linux_x86_64.whl

2. 準備 Keras 模型

以下示例將首先下載預訓練模型,然后使用簡單的模型抽取器從 Keras 應用中獲取模型,抽取器將抽取 Keras 模型架構和權重。

$ python -m mmdnn.conversion.examples.keras.extract_model -n inception_v3

Using TensorFlow backend.

Downloading data from https://github.com/fchollet/deep-learning-models/releases/download/v0.5/inception_v3_weights_tf_dim_ordering_tf_kernels.h6

96075776/96112376 [============================>.] - ETA: 0s

.

.

.

Network structure is saved as [imagenet_inception_v3.json].

Network weights are saved as [imagenet_inception_v3.h6].

架構文件 imagenet_inception_v3.json 和權重文件 imagenet_inception_v3.h6 會下載至當前工作目錄。

3. 將預訓練模型文件轉換為中間表征

$ python -m mmdnn.conversion._.convertToIR -f keras -d converted -n imagenet_inception_v3.json -w imagenet_inception_v3.h6

Using TensorFlow backend.

.

.

.

Network file [imagenet_inception_v3.json] is loaded successfully.

IR network structure is saved as [converted.json].

IR network structure is saved as [converted.pb].

IR weights are saved as [converted.npy].

以上的命令會將 imagenet_inception_v3.json 作為神經網絡架構的描述文件,imagenet_inception_v3.h6 作為預訓練權重。然后計算出中間表征文件 converted.json 用于可視化,計算出 converted.proto 和 converted.npy 以進一步轉換為其它框架。

4. 轉換 IR 文件為 CNTK 模型

$ python -m mmdnn.conversion._.IRToCode -f cntk -d converted_cntk.py -n converted.pb -w converted.npy

Parse file [converted.pb] with binary format successfully.

Target network code snippet is saved as [converted_cntk.py].

你將得到文件 converted_cntk.py,包括構建 Inception V3 網絡的原始 CNTK 代碼。

經過這三步,你已經將預訓練 Keras Inception_v3 模型轉換成 CNTK 網絡文件 converted_cntk.py 和權重文件 converted.npy。你可以用這兩個文件調整訓練或推斷。

5. 轉存原始 CNTK 模型

$ python -m mmdnn.conversion.examples.cntk.imagenet_test -n converted_cntk -w converted.npy --dump cntk_inception_v3.dnn

.

.

.

CNTK model file is saved as [cntk_inception_v3.dnn], generated by [converted_cntk.py] and [converted.npy].

CNTK 可直接加載文件 cntk_inception_v3.dnn。

以上就是關于“如何快速上手MMdnn”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

枣强县| 祥云县| 莱芜市| 佛学| 拉萨市| 都匀市| 无为县| 同江市| 读书| 临沂市| 白河县| 鄂尔多斯市| 孟津县| 尼玛县| 定西市| 乌审旗| 海门市| 富裕县| 湘阴县| 鄢陵县| 汤阴县| 瑞金市| 金门县| 定远县| 延寿县| 襄城县| 土默特右旗| 准格尔旗| 太和县| 台中县| 松潘县| 全椒县| 阜新| 福鼎市| 永宁县| 莎车县| 丹棱县| 丽水市| 海丰县| 崇信县| 丰镇市|