我正在尝试使用卷积神经网络(由MATLAB的Deep Network Designer设计)从图像数据集中识别花朵(对于机器学习来说这是很新的东西,还没有参加过课程,只是在玩弄东西)。我已经将图像和标签存储在名为auimds的增强型数据存储中,但是当我运行trainNetwork时,出现以下错误:
使用trainNetwork时出错(第150行) MiniBatchable数据存储库定义不正确。第261行的C:\ Program Files \ MATLAB \ R2018b \ toolbox \ matlab \ datatypes @ table \ table.m的读取方法错误:参数数目错误。
培训师错误(第2行)
net = trainNetwork(auimds,lgraph_1,options);
这是产生错误的代码:
options = trainingOptions('sgdm');
net = trainNetwork(auimds,lgraph_1,options);
这是创建auimds的代码的相关部分。 “路径”是图像路径的列表,“标签”是标签的列表,“文件夹”是包含图像的文件夹名称的列表。根据图像的包含文件夹名称为其指定标签:
counter = 1;
for i=1:length(paths)
files = dir(fullfile(paths(i),'*.jpg'));
for j=1:length(files)
labels(counter) = folders(i).name;
counter = counter + 1;
end
end
imds = imageDatastore(paths,'Labels',labels);
auimds = augmentedImageDatastore([200,200],imds);
答案 0 :(得分:0)
对于遇到此问题的任何人,我都通过将标签设置为分类来解决了该问题。
imds = imageDatastore(paths,'Labels', categorical(labels));