[Dt,A,~] = digitTrain4DArrayData [Dv,B,~] = digitTest4DArrayDataに入れたときにcastでクラス変換をdouble型にしたのにdigitTrain4DArrayDataに入れるとカテゴライズ型になってしまう
Show older comments
imds = imageDatastore('機械学習500',"IncludeSubfolders",true,"LabelSource","foldernames");
[xtrain,xval] = splitEachLabel(imds,0.5,"randomized");
xtrainimg = augmentedImageDatastore([28 28 1],xtrain,"ColorPreprocessing","gray2rgb");
xvalimg = augmentedImageDatastore([28 28 1],xval,"ColorPreprocessing","gray2rgb");
whos xval;
whos imds;
T = imshow(readimage(imds,1));
whos T
Dt= zeros(128,128,1,2500);
Dv = zeros(128,128,1,2500);
for i=1:numel(xtrainimg.Files)
I = imread (xtrainimg.Files{i});
Dt(:,:,1,i) = I;
II = imread (xvalimg.Files{i});
Dv(:,:,:,i) = II;
end
whos Dt
data = readall(xtrainimg);
trainfiles = data.input;
trainres = data.response;
A = cast(trainres,"unit8")
whos trainres
%size trainres
whos A
data1 = readall(xvalimg);
valfile = data1.input;
valB = data1.response;
B = cast(valB,"unit8")
%ytraining = categorical(data);
%yval = categorical(data1);
[Dt,A,~] = digitTrain4DArrayData
[Dv,B,~] = digitTest4DArrayData

[Dt,A,~] = digitTrain4DArrayData [Dv,B,~] = digitTest4DArrayData
変数Aに割り建てられた値が使われず反映されていません。Bも同様です。どうやって digitTrain4DArrayData 等に入れたときにA,Bnidouble型で反映させるのかご教示してほしいです。お願いします。
1 Comment
- digitTest4DArrayData関数は「深層学習用のデータセット」の内「数字データセット」を読み込みます
- (MATLABルート)/toolbox/nnet/nndemos/nndatasets/DigitDataset/ 内の数字画像を読み取っています
- 角度情報(各画像が何度傾いているか)は、別途保存されているcsvファイルから読み込みます
- splitEachLabel関数は使わず、既存の学習用/検証用の画像リストをtableデータとして読み込みます
- ラベル(数字情報)はimageDatastore関数でフォルダ名をラベルとして読み込みます
- (↑csvファイルにもラベルが記録されていますが、何故かそれは使わずimdsから取得しています)
type digitTrain4DArrayData
type digitTableToArray
type digitTrainTable
trainTable = readtable('/MATLAB/toolbox/nnet/nndemos/nndatasets/DigitDataset/digitTrain.csv')
Accepted Answer
More Answers (0)
Categories
Find more on セマンティック セグメンテーション in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!