Python Keras-关于输入层节点数量的混淆

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" __________________________________

所以,当input_dim=3时,意味着层的输入是三个节点,对吗? 但是,当使用输入_形状属性并且有多个值时,情况会怎样呢? 例如:

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,我认为这足以让您理解。