如何理解张量流中的conv2d_transpose

以下是对conv2d_transpose的测试。

import tensorflow as tf
import numpy as np
x = tf.constant(np.array([[
    [[-67], [-77]], 
    [[-117], [-127]]
]]), tf.float32)

# shape = (3, 3, 1, 1) -> (height, width, input_channels, output_channels) - 3x3x1 filter
f = tf.constant(np.array([
    [[[-1]], [[2]], [[-3]]], 
    [[[4]], [[-5]], [[6]]], 
    [[[-7]], [[8]], [[-9]]]
]), tf.float32)

conv = tf.nn.conv2d_transpose(x, f, output_shape=(1, 5, 5, 1), strides=[1, 2, 2, 1], padding='VALID')

结果:

tf.Tensor(
[[[[   67.]
   [ -134.]
   [  278.]
   [ -154.]
   [  231.]]

  [[ -268.]
   [  335.]
   [ -710.]
   [  385.]
   [ -462.]]

  [[  586.]
   [ -770.]
   [ 1620.]
   [ -870.]
   [ 1074.]]

  [[ -468.]
   [  585.]
   [-1210.]
   [  635.]
   [ -762.]]

  [[  819.]
   [ -936.]
   [ 1942.]
   [-1016.]
   [ 1143.]]]], shape=(1, 5, 5, 1), dtype=float32)  

据我了解,它应该按照文档中的图4.5所述工作

因此,第一个元素(conv [0,0,0,0])应该为-67 * -9 = 603。为什么原来是67?

下图可以说明结果:在此处输入图片说明但是为什么卷积核是逆的呢?

巴拉吉·阿什瓦特(Balraj Ashwath)

为了最好地说明,我做了一个draw.io图来说明您获得的结果。在此处输入图片说明

我想上面的插图可能有助于解释转置转换的第一个元素的原因。特征图是67

需要注意的关键事项:

  • 与传统卷积不同,在转置卷积中,将滤波器的每个元素乘以输入特征图的一个元素,并将这些单独乘法和中间特征图的结果相互叠加以创建最终特征图。stride确定了覆盖相隔多远是。在我们的例子中,步幅= 2,因此在每次与原始降采样特征图进行卷积后,滤波器的维度xy维度都移动2

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

对conv2d_transpose感到困惑

来自分类Dev

如何理解Haskell中的流

来自分类Dev

如何堆叠Tensorflow的conv2d_transpose()的多层

来自分类Dev

如何在张量流中解释张量板图?

来自分类Dev

Tensorflow conv2d_transpose(deconv)out_backprop的行数与计算的不匹配

来自分类Dev

如何使用张量流中的seq2seq预测简单序列?

来自分类Dev

进行预测时,conv2d_transpose取决于batch_size

来自分类Dev

TensorflowJs conv2d-张量形状

来自分类Dev

张量流2中的ConvLSTMCell

来自分类Dev

在PyTorch中如何实现Conv2d的算法

来自分类Dev

无效的参数:您必须使用dtype float和shape [?,?,?,?]的占位符张量'conv2d_transpose_1_target'的值。

来自分类Dev

如何理解Keras Conv2D层的第一个论点?

来自分类Dev

如何在张量流中填充序列

来自分类Dev

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

来自分类Dev

如何使用张量流/ keras中的预定内核列表初始化Conv2D层?

来自分类Dev

如何在张量流中获取张量索引?

来自分类Dev

我如何在张量流中沿所选轴获取等级大于2的张量的对角线

来自分类Dev

如何理解在PyTorch中创建叶张量?

来自分类Dev

如何可视化张量板的张量流2

来自分类Dev

在张量流中扩展张量

来自分类Dev

如何理解Haskell中的流

来自分类Dev

如何使用张量流中的seq2seq预测简单序列?

来自分类Dev

如何忽略一维张量流张量中的零

来自分类Dev

tensorflow conv2d_transpose 梯度

来自分类Dev

如何在张量流中将我的三个 2D 张量组合成一个 3D 张量?

来自分类Dev

理解张量流函数输出

来自分类Dev

如何正确恢复张量流中的模型?

来自分类Dev

tensorflow-如何使用可变图像的大小进行 conv2d_transpose?

来自分类Dev

如何在张量流中操作多维张量?

Related 相关文章

  1. 1

    对conv2d_transpose感到困惑

  2. 2

    如何理解Haskell中的流

  3. 3

    如何堆叠Tensorflow的conv2d_transpose()的多层

  4. 4

    如何在张量流中解释张量板图?

  5. 5

    Tensorflow conv2d_transpose(deconv)out_backprop的行数与计算的不匹配

  6. 6

    如何使用张量流中的seq2seq预测简单序列?

  7. 7

    进行预测时,conv2d_transpose取决于batch_size

  8. 8

    TensorflowJs conv2d-张量形状

  9. 9

    张量流2中的ConvLSTMCell

  10. 10

    在PyTorch中如何实现Conv2d的算法

  11. 11

    无效的参数:您必须使用dtype float和shape [?,?,?,?]的占位符张量'conv2d_transpose_1_target'的值。

  12. 12

    如何理解Keras Conv2D层的第一个论点?

  13. 13

    如何在张量流中填充序列

  14. 14

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

  15. 15

    如何使用张量流/ keras中的预定内核列表初始化Conv2D层?

  16. 16

    如何在张量流中获取张量索引?

  17. 17

    我如何在张量流中沿所选轴获取等级大于2的张量的对角线

  18. 18

    如何理解在PyTorch中创建叶张量?

  19. 19

    如何可视化张量板的张量流2

  20. 20

    在张量流中扩展张量

  21. 21

    如何理解Haskell中的流

  22. 22

    如何使用张量流中的seq2seq预测简单序列?

  23. 23

    如何忽略一维张量流张量中的零

  24. 24

    tensorflow conv2d_transpose 梯度

  25. 25

    如何在张量流中将我的三个 2D 张量组合成一个 3D 张量?

  26. 26

    理解张量流函数输出

  27. 27

    如何正确恢复张量流中的模型?

  28. 28

    tensorflow-如何使用可变图像的大小进行 conv2d_transpose?

  29. 29

    如何在张量流中操作多维张量?

热门标签

归档