tensorflow中conv2d的顺序输出是什么?

Li Shihao

我想在张量流中获得输出张量的值。第一层的内核形状是 K[row, col, in_channel, out_channel]。输入图像形状是 P[batch, row, col, channel] 但我试图获得前四个内核值,它们是K[0, 0, 0, 0], K[0, 1, 0, 0], K[1, 0, 0, 0], K[1, 1, 0, 0].

我得到的输入值是 P[0, 0, 0, 0], P[0, 0, 1, 0], P[0, 1, 0, 0], P[0, 1, 1, 0].

python代码是“F = tf.nn.conv2d(P, K, stride=[1, 1, 1, 1], padding='SAME')"

控制台显示输出值 (F[0, 0, 0, 0]) is not K[0, 0, 0, 0] * P[0, 0, 0, 0] + K[0, 1, 0, 0] * P[0, 0, 1, 0] + K[1, 0, 0, 0] * P[0, 1, 0, 0] + K[1, 1, 0, 0] * P[0, 1, 1, 0]

这些输出特征图的顺序是什么?我有 40 个conv_kernel,第一个输出不是由第一个计算的conv_kernel

没有人

您的输入值有问题。

请记住, conv2d 需要一个 shape 的输入张量[batch, in_height, in_width, in_channels]和一个shape的过滤器/核张量[filter_height, filter_width, in_channels, out_channels]

事实上,重塑数据的结果是预期的(请注意,conv2d 计算相关性而不是卷积)。

import tensorflow as tf

K = tf.get_variable("K", shape=(4,4), initializer=tf.constant_initializer([
        [0, 0, 0, 0],
        [0, 1, 0, 0],
        [1, 0, 0, 0], 
        [1, 1, 0, 0]
    ]))

K = tf.reshape(K, (4,4,1,1))


P = tf.get_variable("P", shape=(4,4), initializer=tf.constant_initializer([
        [0, 0, 0, 0],
        [0, 0, 1, 0],
        [0, 1, 0, 0],
        [0, 1, 1, 0]
    ]))

P = tf.reshape(P, (1,4,4,1))


F = tf.nn.conv2d(P, K, strides=[1, 1, 1, 1], padding='VALID')
init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(F))

在此示例中,我正在计算输入 P(具有 1 个深度为 1 的元素的批次)和过滤器 P(4x4 过滤器,输入深度为 1,输出深度为 1)之间的相关性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在TensorFlow中编写类似Conv2D的操作

来自分类Dev

在 Tensorflow 中查找 conv2d 层的权重

来自分类Dev

Tensorflow配置文件为Conv2D输出2 FLOPS而不是1

来自分类Dev

Keras:为什么Conv2D图层的输出大小与要素图的预期形状不匹配?

来自分类Dev

在Keras中是否可以看到Conv2D层之后的输出

来自分类Dev

Tensorflow Keras Conv2D多个过滤器

来自分类Dev

tensorflow conv2d参数数量

来自分类Dev

如何在keras中将Conv1D的输出与Conv2D的输出合并

来自分类Dev

为什么theano conv2d添加空尺寸?

来自分类Dev

Conv2D keras中的稳压器

来自分类Dev

在PyTorch中如何实现Conv2d的算法

来自分类Dev

在 Keras Sequential 模型中,Conv2D 似乎要求内核比前一层厚更窄。为什么?

来自分类Dev

Keras:过度拟合的Conv2D

来自分类Dev

针对列表运行conv2d

来自分类Dev

pytorch conv2d配重

来自分类Dev

PyTorch Conv2D返回零输入张量的非零输出?

来自分类Dev

conv2d 函数后输出大小错误

来自分类Dev

设置TensorFlow Conv2d操作的权重和偏置张量

来自分类Dev

具有padding ='SAME'的Tensorflow / Keras Conv2D层的行为异常

来自分类Dev

Conv2d Tensorflow结果错误-精度= 0.0000e + 00

来自分类Dev

在 tensorflow Keras 中将图像拟合到 Conv2D 层时出错

来自分类Dev

为什么`DepthwiseConv2D`要比`Conv2D`慢

来自分类Dev

我可以使用现有的操作(例如conv2d和张量操作)在python中的tensorflow中编写自定义层吗?

来自分类Dev

角膜或张量流中的Conv2D层之后的ConvLSTM2D

来自分类Dev

为什么我需要将输入数据重塑为Conv2D的附加尺寸?

来自分类Dev

将 Conv2D 用于图像有什么问题?

来自分类Dev

Keras:转置Conv2D层的内核以在另一个Conv2D层中重用

来自分类Dev

了解Keras Conv2D层中的参数数量

来自分类Dev

如何在pytorch中实现Conv2d的棋盘大步?

Related 相关文章

  1. 1

    在TensorFlow中编写类似Conv2D的操作

  2. 2

    在 Tensorflow 中查找 conv2d 层的权重

  3. 3

    Tensorflow配置文件为Conv2D输出2 FLOPS而不是1

  4. 4

    Keras:为什么Conv2D图层的输出大小与要素图的预期形状不匹配?

  5. 5

    在Keras中是否可以看到Conv2D层之后的输出

  6. 6

    Tensorflow Keras Conv2D多个过滤器

  7. 7

    tensorflow conv2d参数数量

  8. 8

    如何在keras中将Conv1D的输出与Conv2D的输出合并

  9. 9

    为什么theano conv2d添加空尺寸?

  10. 10

    Conv2D keras中的稳压器

  11. 11

    在PyTorch中如何实现Conv2d的算法

  12. 12

    在 Keras Sequential 模型中,Conv2D 似乎要求内核比前一层厚更窄。为什么?

  13. 13

    Keras:过度拟合的Conv2D

  14. 14

    针对列表运行conv2d

  15. 15

    pytorch conv2d配重

  16. 16

    PyTorch Conv2D返回零输入张量的非零输出?

  17. 17

    conv2d 函数后输出大小错误

  18. 18

    设置TensorFlow Conv2d操作的权重和偏置张量

  19. 19

    具有padding ='SAME'的Tensorflow / Keras Conv2D层的行为异常

  20. 20

    Conv2d Tensorflow结果错误-精度= 0.0000e + 00

  21. 21

    在 tensorflow Keras 中将图像拟合到 Conv2D 层时出错

  22. 22

    为什么`DepthwiseConv2D`要比`Conv2D`慢

  23. 23

    我可以使用现有的操作(例如conv2d和张量操作)在python中的tensorflow中编写自定义层吗?

  24. 24

    角膜或张量流中的Conv2D层之后的ConvLSTM2D

  25. 25

    为什么我需要将输入数据重塑为Conv2D的附加尺寸?

  26. 26

    将 Conv2D 用于图像有什么问题?

  27. 27

    Keras:转置Conv2D层的内核以在另一个Conv2D层中重用

  28. 28

    了解Keras Conv2D层中的参数数量

  29. 29

    如何在pytorch中实现Conv2d的棋盘大步?

热门标签

归档