Python 从tensorflow到rgb的单通道给出秩0
我正在创建一个多维数组Python 从tensorflow到rgb的单通道给出秩0,python,numpy,tensorflow,Python,Numpy,Tensorflow,我正在创建一个多维数组 import numpy as np import tensorflow as tf a = np.zeros((10, 4, 4, 1)) print(a.shape) (10, 4, 4, 1) 我想添加rgb频道,因此我正在执行以下操作: tf_a = tf.image.grayscale_to_rgb(a, name=None) print(tf.rank(tf_a)) Tensor("Rank:0", shape=(), dtype=int32) 它
import numpy as np
import tensorflow as tf
a = np.zeros((10, 4, 4, 1))
print(a.shape)
(10, 4, 4, 1)
我想添加rgb频道,因此我正在执行以下操作:
tf_a = tf.image.grayscale_to_rgb(a, name=None)
print(tf.rank(tf_a))
Tensor("Rank:0", shape=(), dtype=int32)
它给了我一个秩为0而不是4的张量
此外,形状:
print(tf.shape(tf_a))
给出:
张量(“Shape:0”,Shape=(4,),dtype=int32)
在Tensorflow中,tf.rank(tf\u a)和tf.Shape(tf\u a)返回张量。因此,您正在打印这些张量的形状和秩,而不是tf_a的形状和秩
因此,我稍微编辑了一下您的代码以获得实际结果
import numpy as np
import tensorflow as tf
a = np.zeros((10, 4, 4, 1))
tf_a = tf.image.grayscale_to_rgb(a, name=None)
sess = tf.Session()
with sess.as_default():
print(tf.rank(tf_a).eval()) # rank
print(tf.shape(tf_a).eval()) #shape
4 #rank
[10 4 4 3] #result
希望这有帮助