我如何创建一个1 d CNN

164(30天)
约书亚德容
约书亚德容 2017年8月28日
编辑: 大卫·威林汉 2022年3月21日
你好,我是目前比较新的cnn和探索的应用cnn 1维的数据集和非常感谢一些援助trainNetwork函数相关的错误。尽管反复检查和核对标签数组,一切都似乎是秩序。我现在在使用试验和错误。谁能帮忙吗?
训练数据集包含662个样本每个1 -到- 800组成的向量。我重塑这个四维数组中指定的帮助文档(参见:https://au.mathworks.com/matlabcentral/answers/331164-convolutional-1d-net)
培训标签数组的形式存在于3 - - 662组双打。
见下文:
身高= 1;
宽度= 800;
渠道= 1;
sampleSize = 662;
CNN_TrainingData =重塑(Training_ReductWindows_G[高度、宽度、通道sampleSize]);
CNN_TrainingLabels = Training_Labels_Bin_G;;
%建立CNN层
InputLayer = imageInputLayer((高度、宽度、渠道));% ' DataAugmentation ', '没有');%“正常化”,“没有一个”);
c1 = convolution2dLayer ([1 - 5], 16),“步”10 [1]);%滤波窗口大小=[1 5],没有过滤器= 16,跨步= 10 [1]。
%我们使用max池层是将采样层。另一种可能
%使用平均池层例如AveragePooling2dLayer或reluLayer
r1 = reluLayer ();
p1 = maxPooling2dLayer (20 [1],“步”10 [1]);% PoolSize = 20[1],跨步= 10 [1]
f1 = fullyConnectedLayer (3);%减少到三个输出类
s1 = softmaxLayer ();
outputLayer = classificationLayer ();
事先= [InputLayer;c1;r1;p1;f1;s1;outputLayer]
选择= trainingOptions (“个”);%优化使用随机梯度下降法和动力
事先= trainNetwork (CNN_TrainingData CNN_TrainingLabels,事先选择);
但是这始终返回如下错误:
错误使用trainNetwork > iAssertCategoricalResponseVector(第598行)
Y必须是一个向量分类的反应。
错误在trainNetwork > iAssertValidResponseForTheNetwork(第589行)
iAssertCategoricalResponseVector (x);
错误在trainNetwork > iParseInput(第335行)
iAssertValidResponseForTheNetwork (Y,层);
错误在trainNetwork(第68行)
(层,选择,X, Y) = iParseInput(变长度输入宗量{:});
错误在美国有线电视新闻网(38)行
事先= trainNetwork (CNN_TrainingData CNN_TrainingLabels,事先选择);
谁能指出我的错误吗?
谢谢你好心的
3评论
aybike pirol埃尔玛
aybike pirol埃尔玛 2020年5月31日
你找到你的问题的解决方案吗?
目标=分类(target_trans (1:50 0) ');返回如下错误:
错误使用分类(第431行)
无法创建默认的类别名称。使用CATEGORYNAMES输入参数指定类别名称。
但如果它的大小是365和小,没有问题。但我的目标数据大于365。

登录置评。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2017年8月28日
试一试
CNN_TrainingLabels =分类(Training_Labels_Bin_G);
5个评论
naglaa fathy
naglaa fathy 2021年9月17日
编辑:naglaa fathy 2021年9月17日
trainingFeatures = [];
trainingLabel = categorical.empty ();
trainingFeatures (featureCount:) =功能;
trainingLabel (featureCount:) = TrainingimgSets .Description;

登录置评。

答案(1)

大卫·威林汉
大卫·威林汉 2021年9月23日
编辑:大卫·威林汉 2022年3月21日
嗨,R2021b,您可以创建和培养深度学习与一维卷积和汇聚层网络序列和时间序列数据。
使用下面的创建网络层:
层的维卷积或池取决于层输入:
  • 时间序列和向量序列的输入(数据与三维空间的通道,观察,时间和步骤,分别),在时间维度层可变或池。
  • 对于一维图像输入(数据与三维空间对应像素,渠道,和观察,分别),在空间维度层可变或池。
  • 对于一维图像序列输入(数据与四维空间对应像素,渠道,观察,时间和步骤,分别),在空间维度层可变或池。
为一个例子,演示如何训练sequence-to-label分类网络使用一维曲线玲珑,明白了 使用一维卷积序列分类
为一个例子,演示如何训练sequence-to-sequence分类网络使用一维曲线玲珑,明白了 使用一维曲线玲珑Sequence-to-Sequence分类
问候,
2的评论
大卫·威林汉
大卫·威林汉 2021年12月28日
久保,
应用程序是什么?1 d有利于timeseries,医疗/二维图像,三维激光雷达。

登录置评。