rockdata = imageDatastore('D:\featureselected',...
'Readfcn',@readDatastoreCSV,'IncludeSubfolders',true,'LabelSource','foldernames','FileExtensions','.csv');
rocknames = rockdata.Labels;
[imdsTrain,imdsVal, imdsTest] = splitEachLabel(rockdata,0.8, 0.1, 0.1,'randomized');
layers=[
imageInputLayer([1 5]);
convolution2dLayer([1 3],64,'Stride',1,'Padding',[0 1]);
convolution2dLayer([1 3],64,'Stride',1,'Padding',[0 1]);
batchNormalizationLayer
reluLayer();
maxPooling2dLayer([1 2],'Stride',[1 2]);
convolution2dLayer([1 3],128,'Stride',1,'Padding',[0 1]);
convolution2dLayer([1 3],128,'Stride',1,'Padding',[0 1]);
batchNormalizationLayer
reluLayer();
maxPooling2dLayer([1 2],'Stride',[1 2]);
convolution2dLayer([1 3],256,'Stride',1,'Padding',[0 1]);
convolution2dLayer([1 3],256,'Stride',1,'Padding',[0 1]);
batchNormalizationLayer
reluLayer();
maxPooling2dLayer([1 2],'Stride',[1 2]);
fullyConnectedLayer(400);
fullyConnectedLayer(400);
fullyConnectedLayer(14);
softmaxLayer();
classificationLayer();
];
function data = readDatastoreCSV(filename)
data = csvread(filename);
data = reshape(data,[1 1 5 1]);