Python Keras-关于输入层节点数量的混淆
所以,当input_dim=3时,意味着层的输入是三个节点,对吗? 但是,当使用输入_形状属性并且有多个值时,情况会怎样呢? 例如:Python Keras-关于输入层节点数量的混淆,python,keras,conv-neural-network,sequential,Python,Keras,Conv Neural Network,Sequential,所以,当input_dim=3时,意味着层的输入是三个节点,对吗? 但是,当使用输入_形状属性并且有多个值时,情况会怎样呢? 例如: model = Sequential() model.add(Conv2D(32, (3, 3), input_shape=(82, 82, 3))) 这里,卷积层有32个输出节点,但它有多少个输入节点 model.summary()给出了以下内容: Model: "sequential_1" __________________________________
model = Sequential()
model.add(Conv2D(32, (3, 3), input_shape=(82, 82, 3)))
这里,卷积层有32个输出节点,但它有多少个输入节点
model.summary()给出了以下内容:
Model: "sequential_1"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d_1 (Conv2D) (None, 80, 80, 32) 896
_________________________________________________________________
activation_1 (Activation) (None, 80, 80, 32) 0
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 40, 40, 32) 0
_________________________________________________________________
conv2d_2 (Conv2D) (None, 38, 38, 32) 9248
_________________________________________________________________
activation_2 (Activation) (None, 38, 38, 32) 0
_________________________________________________________________
max_pooling2d_2 (MaxPooling2 (None, 19, 19, 32) 0
_________________________________________________________________
conv2d_3 (Conv2D) (None, 17, 17, 64) 18496
_________________________________________________________________
activation_3 (Activation) (None, 17, 17, 64) 0
_________________________________________________________________
max_pooling2d_3 (MaxPooling2 (None, 8, 8, 64) 0
_________________________________________________________________
flatten_1 (Flatten) (None, 4096) 0
_________________________________________________________________
dense_1 (Dense) (None, 64) 262208
_________________________________________________________________
activation_4 (Activation) (None, 64) 0
_________________________________________________________________
dropout_1 (Dropout) (None, 64) 0
_________________________________________________________________
dense_2 (Dense) (None, 1) 65
_________________________________________________________________
activation_5 (Activation) (None, 1) 0
=================================================================
Total params: 290,913
Trainable params: 290,913
Non-trainable params: 0
_________________________________________________________________
此处输入_形状用于图像: 您的示例包含图像形状82x82x3==20172,它等于输入节点: **你怎么检查这个**
print(model.summary())
model.summary为您提供了每一层的完整细节此处输入形状用于图像: 您的示例包含图像形状82x82x3==20172,它等于输入节点: **你怎么检查这个**
print(model.summary())
model.summary为您提供了每个层的完整详细信息因此有20172个输入节点?是的,我在问题中添加了该节点的O/p我想您知道我们在模型中输入的数据始终是1D。这里的图像包含我们始终转换为1D的3D显示。您可以通过展平模型中的层(8,8,64)来检查这一点>>>8x8x64==4096。同样,对于输入,如果您与kaggle上的数字mnist数据集相似,则遵循此模式,该数据集是给定的csv文件格式,而不是图像格式。其中csv文件维度为(60000784)60000不显示图像,784不显示fo列。如果将784 dim转换为形状,那么它将看起来像28X28,我认为这足以理解。因此有20172个输入节点?是的,我有,我已经在问题中添加了O/P,我想你知道我们在模型中输入的数据始终是1D。这里的图像包含我们始终转换为1D的3D显示。你可以通过展平模型中的层来检查这一点,如(8,8,64)>>>8x8x64==4096。同样,对于输入,如果您与kaggle上的数字mnist数据集相似,则遵循此模式,该数据集是给定的csv文件格式,而不是图像格式。其中csv文件维度为(60000784)60000不显示图像,784不显示fo列。如果您将784 dim转换为形状,那么它将看起来像28X28,我认为这足以让您理解。