我使用的是TF2.5 & Python3.8,其中conv层定义为:
Conv2D(
filters = 64, kernel_size = (3, 3),
activation='relu', kernel_initializer = tf.initializers.GlorotNormal(),
strides = (1, 1), padding = 'same',
)使用一批60个CIFAR-10数据集作为输入:
x.shape
# TensorShape([60, 32, 32, 3])这一层的输出体积保留了空间宽度和高度(32,32),并将64个滤镜/内核贴图作为批处理应用于60幅图像。
conv1(x).shape
# TensorShape([60, 32, 32, 64])我理解这个输出。
你能解释一下以下命令的输出:
conv1.trainable_weights[0].shape
# TensorShape([3, 3, 3, 64])发布于 2021-06-29 21:10:18
这是用于计算卷积层中可训练参数的数量= {(m X N X d) + 1} x k的公式
其中,滤波器的高度为m ->;滤波器的高度为n ->;输入音量中的通道数为d ->;当前层应用的滤波器数为k ->。
添加1作为每个滤波器的偏置。但在TF2.X的情况下,对于卷积层,偏置项被设置为False。因此,它不会出现在公式中。
https://stackoverflow.com/questions/68178765
复制相似问题