训练图像大小为224×224×3但输入层预计图像大小为224×224×1。
115(30天)
显示旧的评论
我想训练一个D。L网络(googlenet)与图像大小的“224×224×1”(他们是全色)。我按照步骤中描述“mathworks”描述波纹管但我得到这个错误:"
训练图像大小为224×224×3但输入层预计图像大小为224×224×1
”。所以我应该做的为了训练我的网络?多谢。
下面是代码。
清晰的所有
关闭所有
% faceDatasetPath = fullfile (' c: ', ' FaceDataset ');
imd = imageDatastore (“D: \测试”,…
“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);
%显示一些样本数据集
图;
烫= randperm(213年,20);
为i = 1:20
次要情节(4、5、我);
imshow (imds.Files{烫发(i)});
标题(imds.Labels(烫发(i)));
结束
numTrainFiles = 6;
[imdsTrain, imdsValidation] = splitEachLabel (imd, 0.7,“随机”);
[no_of_TrainImages ~] =大小(imdsTrain.Files);
[no_of_TestImages ~] =大小(imdsValidation.Files);
层= [
imageInputLayer ([224 224 1])
convolution2dLayer (3 8“填充”,“相同”)
batchNormalizationLayer
reluLayer
maxPooling2dLayer (2“步”,2)
convolution2dLayer(3, 16岁,“填充”,“相同”)
batchNormalizationLayer
reluLayer
maxPooling2dLayer (2“步”,2)
32岁的convolution2dLayer (3“填充”,“相同”)
batchNormalizationLayer
reluLayer
maxPooling2dLayer (2“步”,2)
convolution2dLayer (64,“填充”,“相同”)
batchNormalizationLayer
reluLayer
maxPooling2dLayer (2“步”,2)
fullyConnectedLayer (7)
softmaxLayer
classificationLayer];
选择= trainingOptions (“个”,…
“InitialLearnRate”,0.01,…
“MaxEpochs”10…
“洗牌”,“every-epoch”,…
“ValidationData”imdsValidation,…
“ValidationFrequency”10…
“详细”假的,…
“阴谋”,“训练进步”);
网= trainNetwork (imdsTrain层,选项);
YPred =分类(净,imdsValidation);
YValidation = imdsValidation.Labels;
精度= (YPred = = YValidation) /元素个数之和(YValidation)