入力、出力がともにベ​クトルの2入力、2出​力の深層学習を行う方​法について

clear
%すべて同じ行数の縦ベクトルが入ったCSVファイル
input1ds=signalDatastore("input1.csv")
input2ds=signalDatastore("input2.csv")
output1ds=signalDatastore("output1.csv")
output2ds=signalDatastore("output2.csv")
%データストアを結合
ds=combine(input1ds,input2ds,output1ds,output2ds)
net=dlnetwork
% ニューラルネットワークの定義
layers1 = [
featureInputLayer(1)
fullyConnectedLayer(10) % 10ユニットの全結合層
tanhLayer
fullyConnectedLayer(10) % 10ユニットの全結合層
tanhLayer
fullyConnectedLayer(1) % 1ユニットの全結合層
];
layers2 = [
featureInputLayer(1)
fullyConnectedLayer(10) % 10ユニットの全結合層
tanhLayer
fullyConnectedLayer(10) % 10ユニットの全結合層
tanhLayer
fullyConnectedLayer(1) % 1ユニットの全結合層
];
net=addLayers(net,layers1)
net=addLayers(net,layers2)
net.plot
% オプションの設定
options = trainingOptions('sgdm', ... % 最適化アルゴリズム
'MaxEpochs', 500, ... % 最大エポック数
'MiniBatchSize', 2^3, ... % ミニバッチサイズ
'Verbose', true... % 進行状況の表示
);
% ニューラルネットワークのトレーニング
customLossFunction = @(Y, T) customloss(Y, T);
net = trainnet(ds,net,customLossFunction,options) % x,tは縦ベクトル
2入力2出力のネットワークに対応させるために、入出力の訓練データを4列のシャッフル可能なデータストアで用意できましたが、
次を使用中のエラー: trainnet (行 46)
Error forming mini-batch for network input "input". Data interpreted with format "BC". To specify a different format, use the InputDataFormats option.
エラー: parallel_learn_test (行 51)
net = trainnet(ds,net,customLossFunction,options) % x,tは縦ベクトル
原因:
データストアのバッチ次元は、形式のバッチ次元 (1) と一致しなければなりません。
というようにミニバッチ次元があっていない旨のエラーが出ます。ミニバッチ次元を指定する方法を教えていただけませんか。

Answers (0)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Products

Release

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!