调整1 d CNN

30视图(30天)
费尔南多美尼斯
费尔南多美尼斯 2021年7月26日
你好,我试着适应1 d-cnn,最初描述的 https://arxiv.org/abs/1610.01683, 我的样品,有以下形式:
每类4类信号,30个样本,每个样本都是一个一维数组以100分。
从以前的文章(//www.tatmou.com/matlabcentral/answers/331164-convolutional-1d-net)我发现以下网络架构:
inputLayer = imageInputLayer ([6000]);
c1 = convolution2dLayer ([200] 20“步”1);
p1 = maxPooling2dLayer (20 [1],“步”10);
c2 = convolution2dLayer ([30] 20, 400“numChannels”,20);
p2 = maxPooling2dLayer (10 [1],“步”[1,2]);
f1 = fullyConnectedLayer (500);
f2 = fullyConnectedLayer (500);
s1 = softmaxLayer;
outputLayer = classificationLayer;
事先= [inputLayer;c1;p1;c2;p2;f1;f2;s1; outputLayer]
选择= trainingOptions (“个”);
事先= trainNetwork (allData”标签,事先,选择);
输出:
事先=
9 x1层数组与层:
1图像输入1 x6000x1图像zerocenter正常化
2卷积20 1 x200型旋转步[1]和填充[0 0]
3马克斯1 x20的马克斯池步[10 10]和填充[0 0]
4卷积400 20 x30旋转步[1]和填充[0 0]
5马克斯1 x10马克斯池步(1 2)和填充[0 0]
6完全连接500年完全连接层
7完全连接500年完全连接层
8Softmaxsoftmax
9分类输出
我改变一些参数来适应网络为我的样本,即:
inputLayer = imageInputLayer ([100]);%[6000][100]所取代
c1 = convolution2dLayer (20 [1] 20“步”1);%(200)[1]20所取代
p1 = maxPooling2dLayer (20 [1],“步”10);
c2 = convolution2dLayer ([30] 20, 400“numChannels”,20);
p2 = maxPooling2dLayer (10 [1],“步”[1,2]);
f1 = fullyConnectedLayer (500);
f2 = fullyConnectedLayer (500);
s1 = softmaxLayer;
outputLayer = classificationLayer;
我试着运行同样的网络,但是我得到了一个错误关于第四层的维度:
4:输入大小不匹配。输入层的大小与预期的不同
输入大小。
输入这一层:
第三层(输出大小1×7×20)
你能帮我找到适当的维度对网络的架构?谢谢……

接受的答案

Mahesh Taparia
Mahesh Taparia 2021年7月30日
试图改变maxpooling操作,像这样的小窗口(1 2)或您可以删除max池操作作为输入尺寸并不大。的错误你因为大小不匹配特性和隐层参数。
希望它能帮助!
1评论
费尔南多美尼斯
费尔南多美尼斯 2021年7月30日
谢谢你!删除maxpooling层工作。

登录置评。

更多的答案(0)

下载188bet金宝搏


释放

R2020b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!