tf.nn.conv2d如何计算其值?

时间:2017-01-03 06:14:28

标签: python tensorflow

我已查看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]]]]

0 个答案:

没有答案