卷积神经网络Conv1d输入形状

我正在尝试创建一个CNN来对数据进行分类。我的数据是X[N_data, N_features],我想创建一个能够对其进行分类的神经网络。我的问题与Keras后端的Conv1D的输入形状有关。

我想在一个滤波器上重复使用…假设是10个特征,然后对接下来的10个特征保持相同的权重。对于每条数据,我的卷积层将创建N_features/10个新神经元。我该怎么做呢?我应该在input_shape中填写什么呢?

def cnn_model():model = Sequential()                                               model.add(Conv1D(filters=1, kernel_size=10 ,strides=10,                       input_shape=(1, 1,N_features),kernel_initializer= 'uniform',                        activation= 'relu')) model.flatten()model.add(Dense(N_features/10, init= 'uniform' , activation= 'relu' ))

有什么建议吗?谢谢!


回答:

@的回答可能有效,但根据这里的文档,我的建议是:

当使用此层作为模型中的第一层时,提供一个input_shape参数(整数或None的元组,例如(10, 128)表示10个128维向量的序列,或(None, 128)表示可变长度的128维向量序列)。

应该是这样的:

model = Sequential()model.add(Conv1D(filters=1, kernel_size=10 ,strides=10,                       input_shape=(None, N_features),kernel_initializer= 'uniform',                        activation= 'relu')) 

请注意,由于输入数据是(N_Data, N_features),我们将示例数量设置为未指定(None)。在这种情况下,strides参数控制时间步长的大小。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注