如何在 Tensorflow 中解开可变大小的张量?

矿物质

我通过占位符输入输入数据,如下所示:

input = tf.placeholder(tf.float32, [None, batch_size]) 
inputs = tf.unstack(input, axis=0)

显然这与ValueError: Cannot infer num from shape (?, 32).

如何解开input沿轴 0 的堆叠

帕特维

您无法沿未知维度拆开这样的张量。文档:

通过沿轴维度对它进行切片,将 num 张量从 value 中解压缩。如果未指定 num(默认值),则从值的形状推断。如果 value.shape[axis] 未知,则会引发 ValueError。

你希望这如何运作?对于不同的维度值,图表将完全不同。

tf.dynamic_partition在这种情况下,即使像这样的解决方法也无济于事,因为它的参数需要是一个整数,在图构建阶段就已经知道了。

如果您知道未知维度的上限,您可以尝试:

import tensorflow as tf
import numpy as np

data = np.random.randn(10, 8)

tensor = tf.placeholder(tf.float32, [10, 8])
rets = tf.unstack(tensor, axis=0)


tensor2 = tf.placeholder(tf.float32, [None, 8])


dyn_shape = tf.shape(tensor2)
b_op = dyn_shape[0]
partition = tf.range(b_op)
some_large_number = 20
rets2 = tf.dynamic_partition(tensor2, partition, some_large_number)

with tf.Session() as sess:
    print sess.run(rets, {tensor:data})
    print sess.run(rets2, {tensor2:data})

给出输出:

[array([-0.60014623, -0.0812249 ,  1.5079778 , -0.45486602, -1.3389106 ,
       -1.3552084 ,  2.3415568 ,  0.24747756], dtype=float32), array([-0.2079824 ,  0.33814394,  0.8470432 , -1.3832365 , -0.01087348,
       -0.13608357,  0.89929885, -1.2724507 ], dtype=float32), array([ 0.36865985,  0.45177847, -1.1189924 ,  1.2984366 , -0.67447174,
        2.3120618 ,  0.91252357, -0.13333966], dtype=float32), array([ 1.0067816 ,  1.2311213 ,  0.03433327, -0.09440815,  0.01012954,
       -2.0957463 , -0.49972147, -0.30406335], dtype=float32), array([-0.5904513 ,  0.49920034, -1.5793694 ,  1.3227024 , -0.93950355,
       -0.03706869, -0.1222709 ,  2.0227952 ], dtype=float32), array([-0.06153346, -0.7300583 ,  1.7760276 ,  0.13010012, -1.7523713 ,
       -0.52992773,  1.367956  ,  0.48238465], dtype=float32), array([ 1.2311738 , -0.72093534, -0.28476417, -1.1963955 ,  0.60491234,
        0.35766497, -0.4614565 ,  1.0839593 ], dtype=float32), array([ 1.0952466 , -2.5115075 ,  1.6301945 ,  0.20886853,  0.8650316 ,
       -0.56956375,  0.08775095, -1.4105127 ], dtype=float32), array([ 1.3576531 ,  0.5293029 ,  0.60603464, -0.41250053,  1.0304515 ,
        0.71655554, -1.2762316 , -1.1565298 ], dtype=float32), array([-0.26633576,  1.5087231 , -0.0391343 ,  0.40856156, -0.6008501 ,
        0.3730529 ,  0.28835198,  0.20331612], dtype=float32)]
[array([[-0.60014623, -0.0812249 ,  1.5079778 , -0.45486602, -1.3389106 ,
        -1.3552084 ,  2.3415568 ,  0.24747756]], dtype=float32), array([[-0.2079824 ,  0.33814394,  0.8470432 , -1.3832365 , -0.01087348,
        -0.13608357,  0.89929885, -1.2724507 ]], dtype=float32), array([[ 0.36865985,  0.45177847, -1.1189924 ,  1.2984366 , -0.67447174,
         2.3120618 ,  0.91252357, -0.13333966]], dtype=float32), array([[ 1.0067816 ,  1.2311213 ,  0.03433327, -0.09440815,  0.01012954,
        -2.0957463 , -0.49972147, -0.30406335]], dtype=float32), array([[-0.5904513 ,  0.49920034, -1.5793694 ,  1.3227024 , -0.93950355,
        -0.03706869, -0.1222709 ,  2.0227952 ]], dtype=float32), array([[-0.06153346, -0.7300583 ,  1.7760276 ,  0.13010012, -1.7523713 ,
        -0.52992773,  1.367956  ,  0.48238465]], dtype=float32), array([[ 1.2311738 , -0.72093534, -0.28476417, -1.1963955 ,  0.60491234,
         0.35766497, -0.4614565 ,  1.0839593 ]], dtype=float32), array([[ 1.0952466 , -2.5115075 ,  1.6301945 ,  0.20886853,  0.8650316 ,
        -0.56956375,  0.08775095, -1.4105127 ]], dtype=float32), array([[ 1.3576531 ,  0.5293029 ,  0.60603464, -0.41250053,  1.0304515 ,
         0.71655554, -1.2762316 , -1.1565298 ]], dtype=float32), array([[-0.26633576,  1.5087231 , -0.0391343 ,  0.40856156, -0.6008501 ,
         0.3730529 ,  0.28835198,  0.20331612]], dtype=float32), 
         array([], shape=(0, 8), dtype=float32), array([], shape=(0, 8), dtype=float32), array([], shape=(0, 8), dtype=float32), array([], shape=(0, 8), dtype=float32), array([], shape=(0, 8), dtype=float32), array([], shape=(0, 8), dtype=float32), array([], shape=(0, 8), dtype=float32), array([], shape=(0, 8), dtype=float32), array([], shape=(0, 8), dtype=float32), array([], shape=(0, 8), dtype=float32)]

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Tensorflow:如何在张量中修改值

来自分类Dev

Tensorflow:如何在张量中修改值

来自分类Dev

如何在Flutter中裁剪可变大小的小部件?

来自分类Dev

如何在VC ++中创建可变大小的char数组

来自分类Dev

如何以TensorFlow的protobuf格式保存和读取可变大小的图像

来自分类Dev

向量(在 C++ 中)如何分配可变大小的元素?

来自分类Dev

如何在Tensorflow中保持堆叠张量

来自分类Dev

如何在TensorFlow中获取张量中元素的计数?

来自分类Dev

如何在TensorFlow中取消引用_ref张量类型?

来自分类Dev

如何在图构建时获取张量的尺寸(在TensorFlow中)?

来自分类Dev

如何在TensorFlow中交换张量轴?

来自分类Dev

如何在TensorFlow 2中获得Keras张量的值?

来自分类Dev

如何在Tensorflow 2.0中获得张量值?

来自分类Dev

当尺寸不匹配时,如何在 tensorflow 中压缩张量

来自分类Dev

如何在Tensorflow中乘以多维张量的维度之一?

来自分类Dev

如何在C中声明一个可变大小的数组?

来自分类Dev

如何在vbscript中实现具有可变大小的数组

来自分类Dev

如何在C中声明一个可变大小的数组?

来自分类Dev

如何在 QtQuick / QML 中创建动画、可变大小的手风琴组件

来自分类Dev

用于可变大小输入的 Tensorflow Lite

来自分类Dev

如何在TensorFlow中绘制调整大小的图像?

来自分类Dev

如何在Tensorflow中实现重量噪声

来自分类Dev

如何在tensorflow中列出图中的变量?

来自分类Dev

如何在Tensorflow中打印标志描述?

来自分类Dev

如何在TensorFlow中重复未知尺寸

来自分类Dev

如何在TensorFlow中获取日志概率?

来自分类Dev

如何在Tensorflow 2.0中累积梯度?

来自分类Dev

如何在Tensorflow中编写LabelEncoder?

来自分类Dev

如何在TensorFlow中定义变量

Related 相关文章

  1. 1

    Tensorflow:如何在张量中修改值

  2. 2

    Tensorflow:如何在张量中修改值

  3. 3

    如何在Flutter中裁剪可变大小的小部件?

  4. 4

    如何在VC ++中创建可变大小的char数组

  5. 5

    如何以TensorFlow的protobuf格式保存和读取可变大小的图像

  6. 6

    向量(在 C++ 中)如何分配可变大小的元素?

  7. 7

    如何在Tensorflow中保持堆叠张量

  8. 8

    如何在TensorFlow中获取张量中元素的计数?

  9. 9

    如何在TensorFlow中取消引用_ref张量类型?

  10. 10

    如何在图构建时获取张量的尺寸(在TensorFlow中)?

  11. 11

    如何在TensorFlow中交换张量轴?

  12. 12

    如何在TensorFlow 2中获得Keras张量的值?

  13. 13

    如何在Tensorflow 2.0中获得张量值?

  14. 14

    当尺寸不匹配时,如何在 tensorflow 中压缩张量

  15. 15

    如何在Tensorflow中乘以多维张量的维度之一?

  16. 16

    如何在C中声明一个可变大小的数组?

  17. 17

    如何在vbscript中实现具有可变大小的数组

  18. 18

    如何在C中声明一个可变大小的数组?

  19. 19

    如何在 QtQuick / QML 中创建动画、可变大小的手风琴组件

  20. 20

    用于可变大小输入的 Tensorflow Lite

  21. 21

    如何在TensorFlow中绘制调整大小的图像?

  22. 22

    如何在Tensorflow中实现重量噪声

  23. 23

    如何在tensorflow中列出图中的变量?

  24. 24

    如何在Tensorflow中打印标志描述?

  25. 25

    如何在TensorFlow中重复未知尺寸

  26. 26

    如何在TensorFlow中获取日志概率?

  27. 27

    如何在Tensorflow 2.0中累积梯度?

  28. 28

    如何在Tensorflow中编写LabelEncoder?

  29. 29

    如何在TensorFlow中定义变量

热门标签

归档