当图像大小未知时,我试图在图形构建期间按一个因子调整图像大小:
H, W, _ = img.get_shape()
scale = tf.random_uniform([1], minval=1, maxval=1.5, dtype=tf.float32, seed=None, name=None)
Run Code Online (Sandbox Code Playgroud)
其中我需要神奇地计算一个大小,该大小将转换为以下内容:
tf.image.resize_images(tf.expand_dims(img, 0), [H*scale, W*scale])
Run Code Online (Sandbox Code Playgroud)
返回:
ValueError: 'size' must be a 1-D int32 Tensor
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏。谢谢。
你scale有形状(1,),所以[H*scale, W*scale]有形状(1, 2)。要修复此问题,只需生成随机标量而不是 1 元素向量:
scale = tf.random_uniform([], minval=1, maxval=1.5, dtype=tf.float32, seed=None, name=None)
Run Code Online (Sandbox Code Playgroud)
请注意,形状是一个空列表,这意味着您需要一个标量。
除此之外,您还必须修复size参数的数据类型,如下所示:
tf.image.resize_images(tf.expand_dims(img, 0), tf.cast([H*scale, W*scale], tf.int32))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2568 次 |
| 最近记录: |