メインコンテンツ

importNetworkFromPyTorch

PyTorch ネットワークを MATLAB ネットワークとしてインポートする

R2022b 以降

    説明

    Add-On Required: この機能にはが必要です。

    net = importNetworkFromPyTorch(modelfile) は、事前学習済みの PyTorch® モデルをファイル modelfile からインポートします。PyTorch モデルは、エクスポートされたプログラムまたはトレースされたモデルでなければなりません。エクスポートされたプログラム モデルは、より多くの Deep Learning Toolbox™ の組み込み層をもつモデルであるため、推奨されます。

    モデルをインポート用に準備するために、PyTorch version 2.8 を使用してモデルをエクスポートすることを試みてください。モデルをエクスポートできない場合は、トレースします。詳細については、ヒントを参照してください。次のコードは、PyTorch モデルをインポート用に準備するために必要な手順の概要を示します。

    # Ensure the layers are set to inference mode.
    model.eval()
    # Move the model to the CPU.
    model.to("cpu")
    # Generate input data.
    X = torch.rand(1,3,224,224)
    
    # For ExportedProgram models 
    # Export the model and save it in PyTorch version 2.8.
    exported_model = torch.export.export(model, (X,))
    torch.export.save(exported_model, 'myModel.pt2')
    
    # For traced models
    # Trace the model and save it.
    traced_model = torch.jit.trace(model.forward, X)
    traced_model.save('myModel.pt')

    ヒント

    ディープ ネットワーク デザイナーを使用して PyTorch モデルを対話形式でインポートします。インポート時に、アプリは注意が必要な問題の詳細を含むインポート レポートを表示します。詳細については、外部のプラットフォームからのネットワークのインポートを参照してください。

    net = importNetworkFromPyTorch(modelfile,Name=Value) は、1 つ以上の名前と値の引数で指定された追加オプションを使用して、事前学習済みの PyTorch ネットワークをインポートします。たとえば、Namespace="CustomLayers" は、生成されたカスタム層と関連する関数を現在のフォルダーの +CustomLayers 名前空間に保存します。

    ヒント

    トレースされたモデルの場合、名前と値の引数 PyTorchInputSizes が指定されていると、この関数はより多くの Deep Learning Toolbox の組み込み層を返すことがあります。

    すべて折りたたむ

    事前学習済みかつトレース済みの PyTorch モデルを、初期化されていない dlnetwork オブジェクトとしてインポートします。次に、インポートしたネットワークに入力層を追加します。

    この例では、MNASNet (Copyright© Soumith Chintala 2016) PyTorch モデルをインポートします。MNASNet は、ImageNet データベースのイメージを使って学習させるイメージ分類モデルです。MathWorks の Web サイトから、mnasnet1_0 ファイルをダウンロードします。ファイルのサイズは約 17 MB です。

    modelfile = matlab.internal.examples.downloadSupportFile("nnet", ...
        "data/PyTorchModels/mnasnet1_0.pt");

    importNetworkFromPyTorch 関数を使用して MNASNet モデルをインポートします。この関数は、入力層がなく初期化されていない dlnetwork オブジェクトとしてモデルをインポートします。ソフトウェアは、入力層の数、追加する入力層のタイプ、および入力層の追加方法に関する情報を含む警告を表示します。

    net = importNetworkFromPyTorch(modelfile)
    Warning: Network was imported as an uninitialized dlnetwork. Before using the network, add input layer(s):
    
    % Create imageInputLayer for the network input at index 1:
    inputLayer1 = imageInputLayer(<inputSize1>, Normalization="none");
    
    % Add input layers to the network and initialize:
    net = addInputLayer(net, inputLayer1, Initialize=true);
    
    
    
    net = 
      dlnetwork with properties:
    
             Layers: [3×1 nnet.cnn.layer.Layer]
        Connections: [2×2 table]
         Learnables: [210×3 table]
              State: [104×3 table]
         InputNames: {'TopLevelModule:layers'}
        OutputNames: {'TopLevelModule:classifier'}
        Initialized: 0
    
      View summary with summary.
    
    

    インポートしたネットワークの入力サイズを指定して、イメージ入力層を作成します。次に、インポートしたネットワークにイメージ入力層を追加し、addInputLayer関数を使用してネットワークを初期化します。

    InputSize = [224 224 3];
    inputLayer = imageInputLayer(InputSize,Normalization="none");
    net = addInputLayer(net,inputLayer,Initialize=true);

    インポートしたネットワークを解析し、入力層を表示します。ネットワークは予測に使用する準備ができています。

    analyzeNetwork(net)

    pytorchexample1.png

    名前と値の引数 PyTorchInputSizes を使用して、事前学習済みかつトレース済みの PyTorch モデルを初期化された dlnetwork オブジェクトとしてインポートします。

    この例では、MNASNet (Copyright© Soumith Chintala 2016) PyTorch モデルをインポートします。MNASNet は、ImageNet データベースのイメージを使って学習させるイメージ分類モデルです。MathWorks の Web サイトから、mnasnet1_0.pt ファイルをダウンロードします。ファイルのサイズは約 17 MB です。

    modelfile = matlab.internal.examples.downloadSupportFile("nnet", ...
        "data/PyTorchModels/mnasnet1_0.pt");

    名前と値の引数 PyTorchInputSizes が指定された importNetworkFromPyTorch 関数を使用して、MNASNet モデルをインポートします。224x224 のカラー イメージがこの PyTorch モデルの有効な入力サイズであることがわかっています。ソフトウェアは、イメージのバッチに対して入力層を自動的に作成して追加します。これにより、1 行のコードでネットワークを初期化されたネットワークとしてインポートすることができます。

    net = importNetworkFromPyTorch(modelfile,PyTorchInputSizes=[NaN,3,224,224])
    net = 
      dlnetwork with properties:
    
             Layers: [4×1 nnet.cnn.layer.Layer]
        Connections: [3×2 table]
         Learnables: [210×3 table]
              State: [104×3 table]
         InputNames: {'InputLayer1'}
        OutputNames: {'TopLevelModule:classifier'}
        Initialized: 1
    
      View summary with summary.
    
    

    ネットワークは予測に使用する準備ができています。

    事前学習済みかつトレース済みの PyTorch モデルを、初期化されていない dlnetwork オブジェクトとしてインポートします。次に、インポートしたネットワークを初期化します。

    この例では、MNASNet (Copyright© Soumith Chintala 2016) PyTorch モデルをインポートします。MNASNet は、ImageNet データベースのイメージを使って学習させるイメージ分類モデルです。MathWorks の Web サイトから、mnasnet1_0 ファイルをダウンロードします。ファイルのサイズは約 17 MB です。

    modelfile = matlab.internal.examples.downloadSupportFile("nnet", ...
        "data/PyTorchModels/mnasnet1_0.pt");

    importNetworkFromPyTorch 関数を使用して MNASNet モデルをインポートします。この関数は、初期化されていない dlnetwork オブジェクトとしてモデルをインポートします。

    net = importNetworkFromPyTorch(modelfile)
    Warning: Network was imported as an uninitialized dlnetwork. Before using the network, add input layer(s):
    
    % Create imageInputLayer for the network input at index 1:
    inputLayer1 = imageInputLayer(<inputSize1>, Normalization="none");
    
    % Add input layers to the network and initialize:
    net = addInputLayer(net, inputLayer1, Initialize=true);
    
    
    
    net = 
      dlnetwork with properties:
    
             Layers: [3×1 nnet.cnn.layer.Layer]
        Connections: [2×2 table]
         Learnables: [210×3 table]
              State: [104×3 table]
         InputNames: {'TopLevelModule:layers'}
        OutputNames: {'TopLevelModule:classifier'}
        Initialized: 0
    
      View summary with summary.
    
    

    net は、入れ子ネットワークを含む単一のnetworkLayer層で構成される dlnetwork オブジェクトです。net の入力サイズを指定し、ネットワークへの入力を表すランダムな dlarray オブジェクトを作成します。dlarray オブジェクトのデータ形式は、2 次元イメージ入力を表す "SSCB" (空間、空間、チャネル、バッチ) の次元をもたなければなりません。詳細については、dlnetwork での予測のためのデータ形式を参照してください。

    InputSize = [224 224 3];
    X = dlarray(rand(InputSize),"SSCB");

    initialize関数を使用して、インポートしたネットワークの学習可能なパラメーターを初期化します。

    net = initialize(net,X);

    これで、インポートしたネットワークを予測に使用する準備が整いました。expandLayers関数を使用して networkLayer を展開し、インポートしたネットワークを解析します。

    netExpanded = expandLayers(net)
    netExpanded = 
      dlnetwork with properties:
    
             Layers: [152×1 nnet.cnn.layer.Layer]
        Connections: [161×2 table]
         Learnables: [210×3 table]
              State: [104×3 table]
         InputNames: {'TopLevelModule:layers:0'}
        OutputNames: {'TopLevelModule:classifier:1:ATEN12'}
        Initialized: 1
    
      View summary with summary.
    
    
    analyzeNetwork(netExpanded)

    pytorchexample3.png

    事前学習済みかつトレース済みの PyTorch モデルを、初期化されていない dlnetwork オブジェクトとしてインポートし、イメージを分類します。

    この例では、MNASNet (Copyright© Soumith Chintala 2016) PyTorch モデルをインポートします。MNASNet は、ImageNet データベースのイメージを使って学習させるイメージ分類モデルです。MathWorks の Web サイトから、mnasnet1_0 ファイルをダウンロードします。ファイルのサイズは約 17 MB です。

    modelfile = matlab.internal.examples.downloadSupportFile("nnet", ...
        "data/PyTorchModels/mnasnet1_0.pt");

    importNetworkFromPyTorch 関数を使用して MNASNet モデルをインポートします。この関数は、初期化されていない dlnetwork オブジェクトとしてモデルをインポートします。

    net = importNetworkFromPyTorch(modelfile)
    Warning: Network was imported as an uninitialized dlnetwork. Before using the network, add input layer(s):
    
    % Create imageInputLayer for the network input at index 1:
    inputLayer1 = imageInputLayer(<inputSize1>, Normalization="none");
    
    % Add input layers to the network and initialize:
    net = addInputLayer(net, inputLayer1, Initialize=true);
    
    
    
    net = 
      dlnetwork with properties:
    
             Layers: [3×1 nnet.cnn.layer.Layer]
        Connections: [2×2 table]
         Learnables: [210×3 table]
              State: [104×3 table]
         InputNames: {'TopLevelModule:layers'}
        OutputNames: {'TopLevelModule:classifier'}
        Initialized: 0
    
      View summary with summary.
    
    

    インポートしたネットワークの入力サイズを指定して、イメージ入力層を作成します。次に、インポートしたネットワークにイメージ入力層を追加し、addInputLayer 関数を使用してネットワークを初期化します。

    InputSize = [224 224 3];
    inputLayer = imageInputLayer(InputSize,Normalization="none");
    net = addInputLayer(net,inputLayer,Initialize=true);

    分類するイメージを読み取ります。

    Im = imread("peppers.png");

    イメージのサイズをネットワークの入力サイズに変更します。イメージを表示します。

    InputSize = [224 224 3];
    Im = imresize(Im,InputSize(1:2));
    imshow(Im)

    MNASNet への入力には、さらなる前処理が必要です。イメージを再スケーリングします。次に、学習イメージの平均を減算し、学習イメージの標準偏差で除算して、イメージを正規化します。詳細については、入力データの前処理を参照してください。

    Im = rescale(Im,0,1);
    
    meanIm = [0.485 0.456 0.406];
    stdIm = [0.229 0.224 0.225];
    Im = (Im - reshape(meanIm,[1 1 3]))./reshape(stdIm,[1 1 3]);

    イメージをdlarrayオブジェクトに変換します。"SSCB" (空間、空間、チャネル、バッチ) の次元でイメージの形式を整えます。

    Im_dlarray = dlarray(single(Im),"SSCB");

    同じく ImageNet のイメージで学習させた squeezenet から、クラス名を取得します。

    [~,ClassNames] = imagePretrainedNetwork("squeezenet");

    イメージを分類し、予測されたラベルを見つけます。

    prob = predict(net,Im_dlarray);
    [~,label_ind] = max(prob);

    分類結果を表示します。

    ClassNames(label_ind)
    ans = 
    "bell pepper"
    

    事前学習済みかつトレース済みの PyTorch モデルを、初期化されていない dlnetwork オブジェクトとしてインポートします。次に、ソフトウェアによって生成されたカスタム層を見つけます。

    この例では、findCustomLayers 補助関数を使用します。

    この例では、MNASNet (Copyright© Soumith Chintala 2016) PyTorch モデルをインポートします。MNASNet は、ImageNet データベースのイメージを使って学習させるイメージ分類モデルです。MathWorks の Web サイトから、mnasnet1_0 ファイルをダウンロードします。ファイルのサイズは約 17 MB です。

    modelfile = matlab.internal.examples.downloadSupportFile("nnet", ...
        "data/PyTorchModels/mnasnet1_0.pt");

    importNetworkFromPyTorch 関数を使用して MNASNet モデルをインポートします。この関数は、初期化されていない dlnetwork オブジェクトとしてモデルをインポートします。

    net = importNetworkFromPyTorch(modelfile)
    Warning: Network was imported as an uninitialized dlnetwork. Before using the network, add input layer(s):
    
    % Create imageInputLayer for the network input at index 1:
    inputLayer1 = imageInputLayer(<inputSize1>, Normalization="none");
    
    % Add input layers to the network and initialize:
    net = addInputLayer(net, inputLayer1, Initialize=true);
    
    
    
    net = 
      dlnetwork with properties:
    
             Layers: [3×1 nnet.cnn.layer.Layer]
        Connections: [2×2 table]
         Learnables: [210×3 table]
              State: [104×3 table]
         InputNames: {'TopLevelModule:layers'}
        OutputNames: {'TopLevelModule:classifier'}
        Initialized: 0
    
      View summary with summary.
    
    

    net は、入れ子ネットワークを含む単一のnetworkLayer層で構成される dlnetwork オブジェクトです。expandLayers関数を使用して、入れ子ネットワーク層を展開します。

    net = expandLayers(net);

    importNetworkFromPyTorch 関数は、MATLAB の組み込みの層または関数に変換できない PyTorch 層のカスタム層を生成します。詳細については、アルゴリズムを参照してください。ソフトウェアは、自動的に生成されたカスタム層を現在のフォルダーの +mnasnet1_0 名前空間に保存し、関連する関数を +ops 内部名前空間に保存します。カスタム層と関連する関数を確認するには、名前空間を調べます。

    pytorchexample2.png

    findCustomLayers 補助関数を使用して、生成されたカスタム層のインデックスを見つけることもできます。カスタム層を表示します。

    ind = findCustomLayers(net.Layers,'+mnasnet1_0')
    ind = 1×2
    
       150   152
    
    
    net.Layers(ind)
    ans = 
      2×1 Layer array with layers:
    
         1   'TopLevelModule:ATEN14'                Custom Layer   mnasnet1_0.TopLevelModule_ATEN14
         2   'TopLevelModule:classifier:1:ATEN12'   Custom Layer   mnasnet1_0.TopLevelModule_classifier_1_ATEN12
    

    補助関数

    findCustomLayers 補助関数は、importNetworkFromPyTorch によって自動的に生成されるカスタム層の indices に対応する logical ベクトルを返します。

    function indices = findCustomLayers(layers,Namespace)
    
    s = what(['.' filesep Namespace]);
    
    indices = zeros(1,length(s.m));
    for i = 1:length(layers)
        for j = 1:length(s.m)
            if strcmpi(class(layers(i)),[Namespace(2:end) '.' s.m{j}(1:end-2)])
                indices(j) = i;
            end
        end
    end
    
    end

    入力引数

    すべて折りたたむ

    PyTorch モデル ファイルの名前。文字ベクトルまたは string スカラーとして指定します。modelfile は現在のフォルダー内にあるか、ファイルへの絶対パスまたは相対パスが含まれていなければなりません。PyTorch モデルは事前学習されていなければならず、かつ次のいずれかである必要があります。

    例: "mobilenet_v3.pt"

    名前と値の引数

    すべて折りたたむ

    オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

    例: importNetworkFromPyTorch(modelfile,Namespace="CustomLayers") は、modelfile 内のネットワークをインポートし、カスタム層の名前空間 +Namespace を現在のフォルダーに保存します。

    importNetworkFromPyTorch がカスタム層を保存するカスタム層名前空間の名前。文字ベクトルまたは string スカラーとして指定します。importNetworkFromPyTorch は、カスタム層の名前空間 +Namespace を現在のフォルダーに保存します。Namespace を指定しない場合、importNetworkFromPyTorch は、カスタム層を現在のフォルダー内の名前空間 +modelfile に保存します。名前空間の詳細については、名前空間の作成を参照してください。

    カスタムの PyTorch 層をインポートしたとき、またはソフトウェアが PyTorch 層をそれと等価な組み込みの MATLAB® 層に変換できないとき、importNetworkFromPyTorch はカスタム層の生成を試みます。importNetworkFromPyTorch は、生成した各カスタム層を、+Namespace で個別の MATLAB コード ファイルとして保存します。カスタム層を表示または編集するには、関連する MATLAB コード ファイルを開きます。カスタム層の詳細については、カスタム層を参照してください。

    +Namespace 名前空間には、+ops 内部名前空間を含めることもできます。この内部名前空間には、自動生成されたカスタム層が使用する PyTorch 演算子に対応する MATLAB 関数が格納されます。importNetworkFromPyTorch は、各演算子に関連する MATLAB 関数を +ops 内部名前空間の個別の MATLAB コード ファイルに保存します。dlnetwork のオブジェクト関数 (predict 関数など) は、カスタム層とやり取りするときにこれらの演算子を使用します。+ops 内部名前空間にはプレースホルダー関数を含めることもできます。詳細については、プレースホルダー関数を参照してください。

    例: Namespace="mobilenet_v3"

    PyTorch ネットワーク入力の次元サイズ。数値配列、string スカラー、または cell 配列として指定します。次元の入力順序は PyTorch ネットワークと同じです。ネットワークへの入力が単一の非スカラー入力である場合にのみ、PyTorchInputSizes を数値配列として指定できます。ネットワークに複数の入力がある場合、PyTorchInputSizes は入力サイズの cell 配列でなければなりません。入力のサイズまたは形状が不明な場合、PyTorchInputSize"unknown" として指定します。入力が PyTorch の 0 次元スカラーに対応する場合、PyTorchInputSize"scalar" として指定します。

    importNetworkFromPyTorch がサポートする標準入力層は、ImageInputLayer (SSCB)、FeatureInputLayer (CB)、ImageInputLayer3D (SSSCB)、および SequenceInputLayer (CBT) です。ここで、S は空間、C はチャネル、B はバッチ、T は時間です。importNetworkFromPyTorch は、PyTorchInputSizes を使用した非標準の入力もサポートします。たとえば、関数呼び出し net = importNetworkFromPyTorch("nonStandardModel.pt",PyTorchInputSizes=[1 3 224]) を使用し、ネットワークをインポートして入力次元のサイズを指定します。次に、関数呼び出し X = dlarray(rand(1 3 224),"UUU") および net = initialize(net,X) を使用し、U のラベル (U は不明を表す) が付けられた dlarray オブジェクトを使ってネットワークを初期化します。ソフトウェアは、U のラベルが付けられた dlarray を PyTorch の順序に従うデータとして解釈します。

    例: PyTorchInputSizes=[NaN 3 224 224] は、イメージのバッチである 1 つの入力をもつネットワークです。

    例: PyTorchInputSizes={[NaN 3 224 224],"unknown"} は、2 つの入力をもつネットワークです。最初の入力はイメージのバッチであり、2 番目の入力のサイズは不明です。

    データ型: numeric array | string | cell array

    ネットワーク構成の表現。次のいずれかの値として指定します。

    • "networklayer"networkLayer 層オブジェクトを使用して、インポートされたネットワーク内のネットワーク構成を表現します。この値を指定すると、ソフトウェアは、カスタム層の数が増えないという制約の下で可能な限り多くの PyTorch 関数を Deep Learning Toolbox 層に変換します。

    • "customlayer" — 入れ子のカスタム層を使用して、インポートされたネットワーク内のネットワーク構成を表現します。この値を指定すると、importNetworkFromPyTorch は、一連の PyTorch 関数を Deep Learning Toolbox 関数に変換してから、それらをカスタム層に統合します。カスタム層の詳細については、カスタム深層学習層の定義を参照してください。

    例: PreferredNestingType="customlayer"

    データ型: char | string

    出力引数

    すべて折りたたむ

    事前学習済みの PyTorch ネットワーク。dlnetwork オブジェクトとして返されます。

    制限

    • importNetworkFromPyTorch 関数は、PyTorch version 2.8 で作成されたエクスポート済みネットワークをサポートします。この関数は、他のバージョンの PyTorch で作成されたトレース済みネットワークをサポートできる場合があります。

    • 動的な形状でエクスポートされた ExportedProgram 形式のモデルのインポートはサポートされていません。

    詳細

    すべて折りたたむ

    ヒント

    • PyTorch モデルをインポート用に準備するには、トレースではなく torch.export.export() を使用したエクスポートが推奨されます。ExportedProgram 形式は、モデルの計算グラフ、入力と出力の仕様、パラメーターを決定論的な構造で取り込む、フレームワーク非依存の安定したファイルを提供します。この形式により、ソフトウェアは、初期化され、より多くの MATLAB の組み込み層で構成されたモデルをインポートできます。

    • トレースされたモデルをインポートする際に、PyTorch の層を MATLAB の組み込み層としてより適切にインポートできるようにするには、PyTorchInputSizes を指定します。

    • 事前学習済みのネットワークを新しいイメージの予測または転移学習に使用するには、インポートしたモデルの学習に使用したイメージと同じようにイメージを前処理しなければなりません。最も一般的な前処理ステップは、イメージのサイズ変更、イメージの平均値の減算、イメージの BGR 形式から RGB 形式への変換です。

      • イメージのサイズを変更するには、imresize を使用します。たとえば、imresize(image,[227 227 3]) のようにします。

      • RGB 形式から BGR 形式にイメージを変換するには、flip を使用します。たとえば、flip(image,3) のようにします。

      学習および予測用のイメージの前処理の詳細については、イメージの深層学習向け前処理を参照してください。

    • 名前空間 +Namespace の親フォルダーが MATLAB パス上にない場合、この名前空間のメンバーにアクセスすることはできません。詳細については、名前空間と MATLAB パスを参照してください。

    • MATLAB は 1 ベースのインデックスを使用しますが、Python は 0 ベースのインデックスを使用します。つまり、配列の最初の要素のインデックスは、MATLAB と Python でそれぞれ 1 と 0 になります。MATLAB のインデックスの詳細については、配列インデックス付けを参照してください。MATLAB で、Python で作成されたインデックス (ind) の配列を使用するには、配列を ind+1 に変換します。

    • Python ライブラリの競合が発生した場合は、pyenv 関数を使用して、名前と値の引数 ExecutionMode"OutOfProcess" として指定します。

    • その他のヒントについては、TensorFlow、PyTorch、および ONNX からモデルをインポートする際のヒントを参照してください。

    アルゴリズム

    importNetworkFromPyTorch 関数は、次の手順を順番に試し、PyTorch 層を MATLAB にインポートします。

    1. 関数は、PyTorch 層を組み込みの MATLAB 層としてインポートすることを試みます。詳細については、PyTorch 層の変換を参照してください。

    2. 関数は、PyTorch 層を組み込みの MATLAB 関数としてインポートすることを試みます。詳細については、PyTorch 層の変換を参照してください。

    3. 関数は、PyTorch 層をカスタム層としてインポートすることを試みます。importNetworkFromPyTorch は、生成されたカスタム層および関連する関数を +Namespace 名前空間に保存します。例については、PyTorch からのネットワークのインポートおよび生成されたカスタム層の検索を参照してください。

    4. 関数は、プレースホルダー関数を含むカスタム層として PyTorch 層をインポートします。プレースホルダー関数は、ネットワークを使用する前に補完しなければなりません。プレースホルダー関数を参照してください。

    最初の 3 つのケースでは、インポートされたネットワークは初期化後に予測の準備が整います。

    代替機能

    アプリ

    ディープ ネットワーク デザイナーアプリを使用して、外部プラットフォームからネットワークをインポートすることもできます。アプリは importNetworkFromPyTorch 関数を使用してネットワークをインポートし、進行状況ダイアログ ボックスを表示します。インポート プロセス中に、アプリはネットワークに入力層を追加し (可能な場合)、注意が必要な問題の詳細を含むインポート レポートを表示します。ネットワークをインポートした後、ネットワークを対話的に編集、可視化、および解析できます。ネットワークの編集が完了したら、それを Simulink® にエクスポートするか、ネットワークを構築するための MATLAB コードを生成できます。

    ブロック

    PyTorch Model Predict ブロックを使用して PyTorch ネットワークを扱うこともできます。このブロックを使用すると、Python 関数を読み込んでデータを前処理および後処理したり、入力端子と出力端子を対話的に構成したりすることもできます。

    バージョン履歴

    R2022b で導入

    すべて展開する