首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >input_dim参数在Keras多层感知器多隐层情况下的应用

input_dim参数在Keras多层感知器多隐层情况下的应用
EN

Stack Overflow用户
提问于 2019-08-04 10:53:37
回答 1查看 538关注 0票数 0

在Keras的多层Perceptron情况下,input_dim参数在不同的密集函数情况下如何使用?

我尝试并看到了以下关于顺序模型的观察:

  1. 当在MLP中添加第一个隐藏层时,input_dim参数总是作为密集()函数的一部分传递
  2. 对于其他隐藏层(例如,第2层、第3层、第4层等)或输出层,input_dim参数从来不作为Dense()函数的一部分传递。
代码语言:javascript
复制
# To create a Sequential model
model_batch_drop_5lyr = Sequential()

# Hidden Layer1
model_batch_drop_5lyr.add(Dense(684, activation='relu', input_dim = input_dim, kernel_initializer=RandomNormal(mean=0.0, stddev=0.025, seed=None)))
model_batch_drop_5lyr.add(BatchNormalization())
model_batch_drop_5lyr.add(Dropout(0.5)) # 50% no. of neurons droped

# Hidden Layer2
model_batch_drop_5lyr.add(Dense(512, activation='relu', kernel_initializer=RandomNormal(mean=0.0, stddev=0.050, seed=None)))
model_batch_drop_5lyr.add(BatchNormalization())
model_batch_drop_5lyr.add(Dropout(0.5)) # 50% no. of neurons droped

# Hidden Layer3
model_batch_drop_5lyr.add(Dense(356, activation='relu', kernel_initializer=RandomNormal(mean=0.0, stddev=0.075, seed=None)))
model_batch_drop_5lyr.add(BatchNormalization())
model_batch_drop_5lyr.add(Dropout(0.5)) # 50% no. of neurons droped

# Hidden Layer4
model_batch_drop_5lyr.add(Dense(228, activation='relu', kernel_initializer=RandomNormal(mean=0.0, stddev=0.125, seed=None)))
model_batch_drop_5lyr.add(BatchNormalization())
model_batch_drop_5lyr.add(Dropout(0.5)) # 50% no. of neurons droped

# Hidden Layer5
model_batch_drop_5lyr.add(Dense(128, activation='relu', kernel_initializer=RandomNormal(mean=0.0, stddev=0.155, seed=None)))
model_batch_drop_5lyr.add(BatchNormalization())
model_batch_drop_5lyr.add(Dropout(0.5)) # 50% no. of neurons droped

# Output Layer
model_batch_drop_5lyr.add(Dense(output_dim, activation='softmax'))

# Printing Summary of the model with 3 hidden layers
print(model_batch_drop_5lyr.summary())

为什么我们只在隐藏的layer1中使用输入维。input_dim也可以用于其他层的其他场景是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-04 12:44:16

input_dim非常类似于input_shape参数,该参数也通常只在第一层中使用。两者都告诉keras输入数据到第一层的维度是什么,从哪里可以对该层和后续层执行形状推断。

input_dim = n等同于input_shape = (n,),您在接收输入的层中使用,因为输入是keras唯一未知的输入,用户需要指定输入的预期形状。

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

https://stackoverflow.com/questions/57345964

复制
相关文章

相似问题

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