Main Content

shufflenet

(非推奨) 事前学習済みの ShuffleNet 畳み込みニューラル ネットワーク

  • ShuffleNet network architecture

shufflenet は推奨されません。代わりに関数 imagePretrainedNetwork を使用し、"shufflenet" モデルを指定してください。詳細については、バージョン履歴を参照してください。

説明

ShuffleNet は、ImageNet データベース[1]の 100 万個を超えるイメージで学習を行った畳み込みニューラル ネットワークです。このネットワークは、イメージを 1000 個のオブジェクト カテゴリ (キーボード、マウス、鉛筆、多くの動物など) に分類できます。結果として、このネットワークは広範囲のイメージに対する豊富な特徴表現を学習しています。ネットワークのイメージ入力サイズは 224 x 224 です。MATLAB® の他の事前学習済みのネットワークについては、事前学習済みの深層ニューラル ネットワークを参照してください。

net = shufflenet は、事前学習済みの ShuffleNet 畳み込みニューラル ネットワークを返します。

この関数には、"Deep Learning Toolbox™ Model for ShuffleNet Network" サポート パッケージが必要です。このサポート パッケージがインストールされていない場合、関数によってダウンロード用リンクが表示されます。

すべて折りたたむ

"Deep Learning Toolbox Model for ShuffleNet Network" サポート パッケージをダウンロードしてインストールします。

コマンド ラインで shufflenet と入力します。

shufflenet

"Deep Learning Toolbox Model for ShuffleNet Network" サポート パッケージがインストールされていない場合、この関数は、必要なサポート パッケージへのリンクをアドオン エクスプローラーに表示します。サポート パッケージをインストールするには、リンクをクリックして、[インストール] をクリックします。コマンド ラインで shufflenet と入力して、インストールが正常に終了していることを確認します。必要なサポート パッケージがインストールされている場合、関数によって DAGNetwork オブジェクトが返されます。

shufflenet
ans = 

  DAGNetwork with properties:

         Layers: [173×1 nnet.cnn.layer.Layer]
    Connections: [188×2 table]

ディープ ネットワーク デザイナーを使用してネットワークを可視化します。

deepNetworkDesigner(shufflenet)

ディープ ネットワーク デザイナーで [新規] をクリックし、事前学習済みの他のニューラル ネットワークを探索します。

Deep Network Designer start page showing available pretrained neural networks

ニューラル ネットワークをダウンロードする必要がある場合は、目的のニューラル ネットワークで [インストール] をクリックしてアドオン エクスプローラーを開きます。

出力引数

すべて折りたたむ

事前学習済みの ShuffleNet 畳み込みニューラル ネットワーク。DAGNetwork オブジェクトとして返されます。

参照

[1] ImageNet. http://www.image-net.org.

[2] Zhang, Xiangyu, Xinyu Zhou, Mengxiao Lin, and Jian Sun. "ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices." arXiv preprint arXiv:1707.01083v2 (2017).

バージョン履歴

R2019a で導入

すべて折りたたむ

R2024a: 非推奨

shufflenet は推奨されません。代わりに関数 imagePretrainedNetwork を使用し、モデルとして "shufflenet" を指定してください。

関数 shufflenet のサポートを削除する予定はありません。ただし、関数 imagePretrainedNetwork には、転移学習ワークフローに役立つ機能が追加されています。たとえば、データに含まれるクラスの数を numClasses オプションで指定すると、この関数は、修正することなくそのまま再学習が可能なネットワークを返します。

関数 imagePretrainedNetwork は、ネットワークを dlnetwork オブジェクトとして返しますが、このオブジェクトにはクラス名が格納されていません。事前学習済みのネットワークのクラス名を取得するには、関数 imagePretrainedNetwork の 2 番目の出力引数を使用します。

関数 shufflenet の代表的な使用法と、代わりに関数 imagePretrainedNetwork を使用するためのコードの更新方法を、次の表に示します。

非推奨推奨
net = shufflenet;[net,classNames] = imagePretrainedNetwork("shufflenet");
net = shufflenet(Weights="none");net = imagePretrainedNetwork("shufflenet",Weights="none");

imagePretrainedNetworkdlnetwork オブジェクトを返します。これには次の利点もあります。

  • dlnetwork オブジェクトは、ネットワークの構築、予測、組み込み学習、可視化、圧縮、検証、およびカスタム学習ループをサポートする統合されたデータ型です。

  • dlnetwork オブジェクトは、ユーザーが作成したり外部のプラットフォームからインポートしたりできる、さまざまなネットワーク アーキテクチャをサポートしています。

  • 関数 trainnetdlnetwork オブジェクトをサポートしているため、損失関数を簡単に指定できます。組み込みの損失関数を選択するか、カスタム損失関数を指定できます。

  • dlnetwork オブジェクトを使用した学習と予測は、通常、LayerGraphtrainNetwork を使用したワークフローよりも高速です。

dlnetwork オブジェクトとして指定されたニューラル ネットワークに学習させるには、関数 trainnet を使用します。