如何让 tensorflow 在具有 1 x 2 内核的 2 x 2 矩阵上进行卷积?

莫纳

我有以下矩阵:

和以下内核:

如果我在没有填充的情况下进行卷积并滑动 1 行,我应该得到以下答案:

因为:

基于 的文档tf.nn.conv2d,我认为这段代码表达了我刚才描述的内容:

import tensorflow as tf

input_batch = tf.constant([
    [
        [[.0], [1.0]],
        [[2.], [3.]]
    ]
])

kernel = tf.constant([
    [
        [[1.0, 2.0]]
    ]
])

conv2d = tf.nn.conv2d(input_batch, kernel, strides=[1, 1, 1, 1], padding='VALID')
sess = tf.Session()

print(sess.run(conv2d))

但它产生这样的输出:

[[[[ 0.  0.]
   [ 1.  2.]]

  [[ 2.  4.]
   [ 3.  6.]]]]

我不知道它是如何计算的。我已经尝试为 strides padding 参数尝试不同的值,但仍然无法产生我预期的结果。

萨尔瓦多·达利

您没有正确阅读我在链接的教程中的解释。在对no-padding, strides=1进行直接修改后,您将获得以下代码。

import tensorflow as tf
k = tf.constant([
    [1, 2],
], dtype=tf.float32, name='k')
i = tf.constant([
    [0, 1],
    [2, 3],
], dtype=tf.float32, name='i')
kernel = tf.reshape(k, [1, 2, 1, 1], name='kernel')
image  = tf.reshape(i, [1, 2, 2, 1], name='image')

res = tf.squeeze(tf.nn.conv2d(image, kernel, [1, 1, 1, 1], "VALID"))
# VALID means no padding
with tf.Session() as sess:
   print sess.run(res)

这为您提供了预期的结果:[2., 8.]. 在这里,由于挤压运算符,我得到了一个向量而不是列。


我在您的代码中看到的一个问题(可能还有其他问题)是您的内核的形状为(1, 1, 1, 2),但它假定为(1, 2, 1, 1).

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在具有tensorflow v2.x后端的keras中加载具有tensorflow v1.x后端的keras模型?

来自分类Dev

如何在TensorFlow 2.x中加载Tensorflow 1.x保存的模型?

来自分类Dev

如何根据Julia中的每个长度对具有((x1,y1),(x2,y2))的数组进行排序

来自分类Dev

如何通过2x2平均内核对熊猫数据帧进行下采样

来自分类Dev

如何通过2x2平均内核对熊猫数据帧进行下采样

来自分类Dev

如何使Tensorflow在具有2.x功能的GPU上运行?

来自分类Dev

如何将2x2x2的NDC的MVP矩阵转换为2x2x1的NDC的MVP矩阵(金属)?

来自分类Dev

Tensorflow端口模型从1.x到2.x

来自分类Dev

具有 2x1 排列的 Gridlayoutmanager

来自分类Dev

具有复杂内核的OpenCV卷积/ filter2d

来自分类Dev

将2D矩阵中的多个1D信号与2D矩阵中的多个1D内核进行卷积

来自分类Dev

python:如何将矩阵实现为column1 = x column2 = x ^ 2 ... columnP = x ^ p

来自分类Dev

如何获得2 x 1 UI对齐

来自分类Dev

计算1 +1!/ X + 2!/ X ^ 2 +…+ N!/ X ^ N

来自分类Dev

将R中具有X1,Y1,X2,Y2的数据帧重塑为X,Y1,Y2

来自分类Dev

将Tensorflow 1.x代码升级到Tensorflow 2.x代码

来自分类Dev

如何将方程式“ x ^ 2 + x ^ 2 + 2x-x-25”中变量的空系数转换为“ + 1x ^ 2 + 1x ^ 2 + 2x-1x-25”?

来自分类Dev

Tensorflow 2.x –具有周围单元格平均值的张量

来自分类Dev

如何将 2x2 矩阵添加到 3x2x2 矩阵?

来自分类Dev

如何绘制 (x^2+y^2-1)^3=x^2*y^3?

来自分类Dev

“1 << x”和“pow(2, x)”有什么区别?

来自分类Dev

准确的sqrt(1 +(x / 2)^ 2)+ x / 2

来自分类Dev

x / 2和x >> 1或x * 2和x << 1的差,其中x是整数

来自分类Dev

如果输入是:y = 1(x ^ 3)+0.05(x ^ 2)-2(x ^ 1)-1如何从此std :: string获取数字?

来自分类Dev

关于 1x2 卷积和组合梯度

来自分类Dev

在Haskell中计算`[[1,x ^ 1,x ^ 2,...,x ^ n]`

来自分类Dev

超线程-真正的X2内核吗?

来自分类Dev

如何使用y = x ^ 2进行数学方程式,并具有范围以打印多个输出

来自分类Dev

如何通过 x.Something1 和 x.Something2“查询语法”组“x”?

Related 相关文章

  1. 1

    如何在具有tensorflow v2.x后端的keras中加载具有tensorflow v1.x后端的keras模型?

  2. 2

    如何在TensorFlow 2.x中加载Tensorflow 1.x保存的模型?

  3. 3

    如何根据Julia中的每个长度对具有((x1,y1),(x2,y2))的数组进行排序

  4. 4

    如何通过2x2平均内核对熊猫数据帧进行下采样

  5. 5

    如何通过2x2平均内核对熊猫数据帧进行下采样

  6. 6

    如何使Tensorflow在具有2.x功能的GPU上运行?

  7. 7

    如何将2x2x2的NDC的MVP矩阵转换为2x2x1的NDC的MVP矩阵(金属)?

  8. 8

    Tensorflow端口模型从1.x到2.x

  9. 9

    具有 2x1 排列的 Gridlayoutmanager

  10. 10

    具有复杂内核的OpenCV卷积/ filter2d

  11. 11

    将2D矩阵中的多个1D信号与2D矩阵中的多个1D内核进行卷积

  12. 12

    python:如何将矩阵实现为column1 = x column2 = x ^ 2 ... columnP = x ^ p

  13. 13

    如何获得2 x 1 UI对齐

  14. 14

    计算1 +1!/ X + 2!/ X ^ 2 +…+ N!/ X ^ N

  15. 15

    将R中具有X1,Y1,X2,Y2的数据帧重塑为X,Y1,Y2

  16. 16

    将Tensorflow 1.x代码升级到Tensorflow 2.x代码

  17. 17

    如何将方程式“ x ^ 2 + x ^ 2 + 2x-x-25”中变量的空系数转换为“ + 1x ^ 2 + 1x ^ 2 + 2x-1x-25”?

  18. 18

    Tensorflow 2.x –具有周围单元格平均值的张量

  19. 19

    如何将 2x2 矩阵添加到 3x2x2 矩阵?

  20. 20

    如何绘制 (x^2+y^2-1)^3=x^2*y^3?

  21. 21

    “1 << x”和“pow(2, x)”有什么区别?

  22. 22

    准确的sqrt(1 +(x / 2)^ 2)+ x / 2

  23. 23

    x / 2和x >> 1或x * 2和x << 1的差,其中x是整数

  24. 24

    如果输入是:y = 1(x ^ 3)+0.05(x ^ 2)-2(x ^ 1)-1如何从此std :: string获取数字?

  25. 25

    关于 1x2 卷积和组合梯度

  26. 26

    在Haskell中计算`[[1,x ^ 1,x ^ 2,...,x ^ n]`

  27. 27

    超线程-真正的X2内核吗?

  28. 28

    如何使用y = x ^ 2进行数学方程式,并具有范围以打印多个输出

  29. 29

    如何通过 x.Something1 和 x.Something2“查询语法”组“x”?

热门标签

归档