【发布时间】:2018-12-04 00:10:12
【问题描述】:
我有以下图片:
import tensorflow as tf
tf.enable_eager_execution()
tf.executing_eagerly()
img = Image.open('image.jpg')
try:
data = np.asarray(img, dtype='uint8' )
except SystemError:
data = np.asarray(img.getdata(), dtype='uint8' )
重塑:
tf.shape(data)
<tf.Tensor: id=2, shape=(3,), dtype=int32, numpy=array([263, 320, 3], dtype=int32)>
image = tf.expand_dims(data, 0)
tf.shape(image)
<tf.Tensor: id=16, shape=(4,), dtype=int32, numpy=array([ 1, 263, 320, 3], dtype=int32)>
tf.squeeze(image, squeeze_dims=[0])
<tf.Tensor: id=22, shape=(263, 320, 3), dtype=uint8, numpy=...>
如何用类似的命令替换最后的tf.squeeze(例如:tf.reshape)?
【问题讨论】:
-
tf.reshape(image, [263, 320, 3], name=None) -
我怎样才能使这个通用?没有专门选择 Tensor 的 3 个元素?
-
@spicyramen 你的意思是它不一定是4维吗?
-
我会一直处理图片,需要先tf.expand_dims(data, 0) 将张量转换成4维,然后再squeeze,只是找squeeze替代。
标签: python tensorflow reshape