入力、出力がともにベクトルの2入力、2出力の深層学習を行う方法について
Mostrar comentarios más antiguos
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) と一致しなければなりません。
というようにミニバッチ次元があっていない旨のエラーが出ます。ミニバッチ次元を指定する方法を教えていただけませんか。
Respuestas (0)
Categorías
Más información sobre Deep Learning Toolbox en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!