错误使用网络与多个trainNetwork输入
35视图(30天)
显示旧的评论
你好,
我有一个CNN,使用两个输入,一个输入使用zscore正常化而另一个使用zerocentre正常化(输入数据是相同的规范化设置除外)。但是当我试图培养网络使用以下命令错误发生(无效的训练数据存储。与多个输入网络,结合使用或转换数据存储)。我不确定如何插入2输入trainNewtork函数。希望有人能帮助我。非常感谢。
imd = imageDatastore (“MerchData”,“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
[imdsTrain, imdsValidation] = splitEachLabel (imd, 0.7);
augimdsTrain = augmentedImageDatastore (inputSize (1:2), imdsTrain)
augimdsValidation = augmentedImageDatastore (inputSize (1:2), imdsValidation)
% - - - - - -剩下的代码
[testnet, traininfo] = trainNetwork (augimdsTrain、lgraph_1选项);
两个输入之后
输入1(标准化:zscore)
输入2(标准化:zerocentre)
0评论
接受的答案
Srivardhan Gadila
2021年10月5日
根据上述资料,数据的输入是一样的除了在输入数据的标准化,所以你可以创建一个数据存储组合如下:
cd =结合(imd、imd labelds);
由于我们使用
augmentedImageDatastore
有一个直接结合augmentedImageDatastores knwon问题。的解决方法是应用变换
augmentedImageDatastore
和
结合
它。我们也做一些其他的变化,使工作流程,如下:
augimdsTrain。MiniBatchSize = 1;
taugimdsTrain =变换(augimdsTrain @ x (x) {1 1});
labelsTrain =变换(augimdsTrain @ (x) {x {1,2}});
%将数据存储
cd =结合(taugimdsTrain taugimdsTrain labelsTrain);