如何计算keras序列模型的input_dim?

时间:2017-04-28 09:24:56

标签: tensorflow deep-learning keras

Keras Dense图层需要指定input_diminput_shape。我放在那里有什么价值?

我的输入是一个包含1,000,000行且只有3列的矩阵。我的输出是1,600个班级。

我放在那里?

  1. 输入的维度(1000000, 1600)

  2. 2因为它是2D矩阵

3 个答案:

答案 0 :(得分:4)

input_dim是要素的维度数,在您的情况下仅为3. input_shape的等效符号,即实际的维度形状,为(3,)

答案 1 :(得分:1)

在您的情况下 让我们假设x和y = target变量,经过特征工程后如下所示

x.shape
(1000000, 3)
y.shape
((1000000, 1600)
# as first layer in a sequential model:
model = Sequential()
model.add(Dense(32, input_shape=x.shape[1])) # Input layer
# now the model will take as input arrays of shape (*, 3)
# and output arrays of shape (*, 32)
...
...
model.add(Dense(y.shape[1],activation='softmax')) # Output layer

y.shape [1] = 1600,即您正在处理分类时输出的数量,即您拥有的类的数量。

答案 2 :(得分:0)

X = dataset.iloc[:, 3:13]

表示X参数具有所有行和第3列到第12列(含)和第13列(不包括)。 我们还将为神经网络提供一个X0参数,因此总计

input layers becomes 10+1 = 11.

Dense(input_dim = 11, activation = 'relu', kernel_initializer = 'he_uniform')