【问题标题】:How do I code input layer in Deep Learning using Keras (Basic)如何使用 Keras(基本)在深度学习中对输入层进行编码
【发布时间】:2020-05-29 09:26:03
【问题描述】:

好的,所以我对深度学习很陌生,并且有一个非常基本的疑问。我有一个输入数据,其数组包含 epochs_data 中的 255 个数据(Araay 形状(255,))以及 new_labels 中的相应标签(数组形状(255,))。

我使用以下代码拆分数据:

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(epochs_data, new_labels, test_size = 0.2, random_state=30)

我使用的是顺序模型:

from keras.models import Sequential
from keras import layers
from keras.layers import Dense, Activation, Flatten
model = Sequential()

我知道如何为隐藏层和输出层编码:

model.add(Dense(500, activation='relu')) #Hidden Layer
model.add(Dense(2, activation='softmax')) #Output Layer

但我不知道如何使用指定的 input_shape 对输入层进行编码。 X_train 是输入。它是一个形状为 (180,) 的数组。还告诉我如何为 model.fit() 编写相同的代码。任何帮助表示赞赏。

【问题讨论】:

  • 为什么你所有的文字都加粗了?
  • 我不知道 xD 认为它会更容易阅读。我现在就编辑它

标签: python keras deep-learning


【解决方案1】:

你必须在隐藏层之前复制这条线。您可以添加所需的激活函数。最后,正如你所看到的,这条线既代表了输入层,也代表了 1° 隐藏层(你必须选择神经元的 n°(我放 100))

model.add(Dense(100, input_shape = (X_train.shape[1],))

编辑: 在拟合模型之前,您必须使用以下行配置模型:

model.compile(loss = 'mse', optimizer = 'Adam', metrics = ['mse'])

因此,您必须选择在这种情况下为均方误差的指标和像 Adam、Adamax 等优化器。

然后您可以选择数据 (X,Y)、n° epochs、val_split 和批量大小来拟合您的模型。

history = model.fit(X_train, y_train, epochs = 200,
                    validation_split = 0.1, batch_size=250)

【讨论】:

  • 我收到以下错误。 IndexError: 元组索引超出范围
  • 我将其更改为 X_train[0] 并且可以正常工作。你能告诉我如何实现 model.fit() 吗?
  • 我已经发布了一个后续问题。 stackoverflow.com/questions/60226423/…如果您能指导我,我将不胜感激
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-13
  • 2018-10-25
  • 2019-09-13
  • 2020-11-07
  • 2018-10-19
  • 2019-05-01
  • 2021-04-13
相关资源
最近更新 更多