错误使用变换imagedatastore深度学习

8视图(30天)
源代码的一部分:
dsnew_trn =变换(ds_trn @ (x) GFR2filter_crop (x, kerfcn, s1, s2, inputSize));
dsnew_tst =变换(ds_tst @ (x) GFR2filter_crop (x, kerfcn, s1, s2, inputSize));
trainedNet = trainNetwork (dsnew_trn lgraph,选择);
ds_trm:原始imagedatastore培训;读取图像通过使用一个自定义函数,输出:双类型
ds_tst:原始imagedatasotre测试;上述相同。
批量大小:64
函数dataout = GFR2filter_crop (dataIn kerfcn, s1, s2, inputSize)
NoImg =大小(dataIn);
dataout =细胞(NoImg, 1);
xxx = 1: NoImg
Img = dataIn {xxx};
%}
I_spatial = Img (:,: 1);
R1 = imfilter (I_spatial kerfcn);
trasImg (:: 1) = R1 (s1: s1 + inputSize (1) 1 s2: s2 + inputSize (2) 1);
I_spatial = Img (:,:, 2);
R2 = imfilter (I_spatial kerfcn);
R2 trasImg (:: 2) = (s1: s1 + inputSize (1) 1 s2: s2 + inputSize (2) 1);
I_spatial = Img (:,:, 3);
R3 = imfilter (I_spatial kerfcn);
R3 trasImg (:: 3) = (s1: s1 + inputSize (1) 1 s2: s2 + inputSize (2) 1);
dataout {xxx} = trasImg;
结束
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
错误信息:
错误使用trainNetwork(第170行)
无效的变换函数上定义数据存储。
错误alaska2_deeplearningxx(第74行)
trainedNet = trainNetwork (dsnew_trn lgraph,选择);
引起的:
错误使用nnet.internal.cnn.util.NetworkDataValidator / assertDatastoreHasResponses(第140行)
无效的变换函数上定义数据存储。
错误使用电池
大小的输入必须标量。
3评论
弗兰克·刘
弗兰克·刘 2020年7月9日
嗨,我已经解决proveblem。关于matlab中的变换函数,它有固定的输入签名之前,
@fcn dsnew =变换(ds)
@fcn dsnew =变换(ds,“IncludeInfo”IncludeInfo)
因此,最初的功能
dsnew_trn =变换(ds_trn @ (x) GFR2filter_crop (x, kerfcn, s1, s2, inputSize));
dsnew_tst =变换(ds_tst @ (x) GFR2filter_crop (x, kerfcn, s1, s2, inputSize));
已经被修改成以下。同时,kerfcn s1, s2和inputSize设置为全局变量。
dsnew_trn =变换(ds_trn @GFR2filter_crop,“IncludeInfo”,IncludeInfo);
dsnew_tst =变换(ds_tst @GFR2filter_crop,“IncludeInfo”,IncludeInfo);

登录置评。

答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!