我刚开始学习深度学习,有人告诉我Keras是最适合初学者的库。
在此之前,为了学习,我仅使用numpy构建了一个简单的前馈网络,以便能更好地理解它。
在那个案例中,权重矩阵的形状是(len(X[0]), num_neurons)
,即特征的数量和神经元的数量。这样是可行的。
现在,我正尝试使用Keras构建一个简单的RNN。我的数据有7个特征,层的尺寸将是128。
但如果我这样做model.add(Dense(128, input_dim=(7, 128)))
,它会提示错误。
所以我不知道这个input_dim
应该是什么。
我的数据有5330个数据点和7个特征(形状为(5330, 7))。能有人告诉我input_dim
应该是什么以及为什么吗?
谢谢。
回答:
input_dim
只是你传递给该层的输入的形状。所以:
input_dim = 7
还有其他选项,例如:
input_shape=(7,)
— 这个参数使用元组
而不是整数,当你的输入有多于一个维度时很好用batch_input_shape=(batch_size,7)
— 这通常不是必要的,但在你需要固定批量大小的情况下使用(有一些层配置要求这样)
现在,Dense层输出的尺寸是units
参数。在你的案例中是128,应该等于num_neurons
。