我与convolution1dLayer的麻烦
9的观点(30天)
显示旧的评论
层= [
featureInputLayer (24)
32岁的convolution1dLayer (5“填充”,“相同”)
batchNormalizationLayer
reluLayer
maxPooling1dLayer (2“步”,2)
convolution1dLayer (64,“填充”,“相同”)
batchNormalizationLayer
reluLayer
maxPooling1dLayer (2“步”,2)
convolution1dLayer (128,“填充”,“相同”)
batchNormalizationLayer
reluLayer
maxPooling1dLayer (2“步”,2)
dropoutLayer (0.5)
fullyConnectedLayer (5)
softmaxLayer
classificationLayer];
选择= trainingOptions (“亚当”,…
“MaxEpochs”,20岁,…
“MiniBatchSize”,128,…
“ValidationData”{XVal, YVal},…
“ValidationFrequency”,50岁,…
“洗牌”,“every-epoch”,…
“详细”假的,…
“阴谋”,“训练进步”);
% Xtrain = 5000 x24 Ytrain = 5000 x1 Xtest x1 = 5000 x24次= 50000
网= trainNetwork (XTrain、YTrain层,选择);
% Doğruluk oranınıhesapla
YPred =分类(净,XTest);
精度= (YPred = =次)/元素个数之和(欧美);
流(“Doğruluk oranı:% 0.2 f % % \ n ',100 *的准确性);
我有一个15300条记录的数据集24特性。(规模15300 x24)输出数据集包括5类(15300 x1)。我试图与cnn进行分类。当我写层,我遇到以下错误:
引起的由:
层2:输入数据必须只有一个空间维度,一个时间维度只,或每个之一。
相反,它有0空间维度和时间维度。
我一直没能解决。
接受的答案
马特·J
2023年4月4日
编辑:马特·J
2023年4月6日
技术支持建万博1manbetx议2解决方案给我。最简单的国际海事组织是重塑训练2 d图像分类问题,其中一个尺寸的图像是一个单例。这需要使用imageInputLayer以及将卷积和池层转换为二维形式,还指定一个作为一个单独的维度。
负载veri_seti
XTrain =重塑(MyData.Inp ', 24岁,1,1,[]);%尺寸:24 x1x1xbatch
YTrain =重塑(分类(MyData.Out), [], 1);%维度:Batchx1
层= [imageInputLayer((24日1),“名字”,“输入”)< %——用imageInputLayer
32岁的convolution2dLayer ([5, 1]“填充”,“相同”)
batchNormalizationLayer
reluLayer
maxPooling2dLayer ((2, 1),“步”,(2,1))
convolution2dLayer ([5, 1], 64,“填充”,“相同”)
batchNormalizationLayer
reluLayer
maxPooling2dLayer ((2, 1),“步”,(2,1))
convolution2dLayer ([5, 1], 128,“填充”,“相同”)
batchNormalizationLayer
reluLayer
maxPooling2dLayer ((2, 1),“步”,(2,1))
dropoutLayer (0.5)
flattenLayer
fullyConnectedLayer (5)
softmaxLayer
classificationLayer];
% analyzeNetwork(层);
选择= trainingOptions (“亚当”,…
“MaxEpochs”3,…
“MiniBatchSize”,128,…
“详细”假的,…
“阴谋”,“训练进步”,“ExecutionEnvironment”,“cpu”);
网= trainNetwork (XTrain YTrain(:),层,选项);