首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一维CNN的输入形状(Keras)

一维CNN的输入形状(Keras)
EN

Stack Overflow用户
提问于 2018-11-26 08:56:32
回答 1查看 3K关注 0票数 3

我正在使用Keras构建一个CNN,第一层是以下Conv1D:

代码语言:javascript
复制
cnn.add(Conv1D(
    filters=512,
    kernel_size=3,
    strides=2,
    activation=hyperparameters["activation_fn"],
    kernel_regularizer=getattr(regularizers, hyperparameters["regularization"])(hyperparameters["regularization_rate"]),
    input_shape=(1000, 1),
))

我正在用这个功能训练:

代码语言:javascript
复制
cnn.fit(
    x=train_df["payload"].tolist(),
    y=train_df["label"].tolist(),
    batch_size=hyperparameters["batch_size"],
    epochs=hyperparameters["epochs"],
)

其中,train_df是由两列组成的熊猫数据,其中,每行标签为int (0或1),有效载荷为带有零/截断长度为1000的浮标。train_df中的训练示例总数为15641。

该模型编译,但在培训期间,我得到了以下错误:

代码语言:javascript
复制
ValueError: Error when checking model input: the list of Numpy arrays that you are passing to your model is not the size the model expected. Expected to see 1 array(s), but instead got the following list of 15641 arrays: [array([[0.09019608],
   [0.01176471],
   [0.01176471],
   [0.        ],
   [0.30196078],
   [0.        ],
   [0.        ],
   [0.        ],
   [0.        ],
   [0....

我查看了this post,并尝试将输入更改为1000个浮动长列表,但最后出现了另一个错误:

代码语言:javascript
复制
ValueError: Error when checking input: expected conv1d_1_input to have 3 dimensions, but got array with shape (15641, 1000)

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-27 02:09:35

因此,我将input_shape设置为(1000,1)

我还将输入的输入转换为适合()的单个ndarray (每个ndarray是1000个浮点数的向量,n是样本/向量的总数),并在读取输入和输入形状的this解释之后,在预处理过程中将每个ndarray重新整形为(1,1000,1)。

输入数据的最终形状是(15641,1000,1)

所有这些都应该适用于验证数据(如果指定的话)。

这解决了我的问题

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53477565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档