我已查看tf.nn.conv2d
的{{3}},但它并没有多大帮助。因此,我尝试将形成正方形(0, 1, 2, 2.5)
的输入数组的前4个值与filter_weights
数组(0.19041163, -0.36705261, 0.69018674, 1.7655524)
的第一列相乘。但无论我如何乘以这些价值观,我都没有得到1.13938534
,我也不知道自己做错了什么。
下面我有我使用的代码。
给定一个数组:
x = np.array([
[0, 1, 0.5, 10],
[2, 2.5, 1, -8],
[4, 0, 5, 6],
[15, 1, 2, 3]], dtype=np.float32).reshape((1, 4, 4, 1))
X = tf.constant(x)
和重量:
filter_weights = tf.truncated_normal([2,2,1,3])
打印哪些:
[[[[ 0.19041163 0.59322315 0.27544078]]
[[-0.36705261 -1.18738699 1.45393717]]]
[[[ 0.69018674 1.08702338 -1.15911126]]
[[ 1.76255524 -1.42660797 -0.18624328]]]]
如何:
strides = [1, 2, 2, 1]
padding = "SAME"
tf.nn.conv2d(input, F_W, strides, padding)
提供:
[[[[ 1.13938534 -5.06340981 -4.23629761]
[-18.01530266 -4.67841816 16.20156288]]
[[ -9.49576092 -4.87288237 6.77371216]
[ -0.57718992 -12.70932484 0.89242649]]]]