之前在使用tensorflow时遇到将Tensor和ndarry形式相互转换的坑,在此记录一下:
1.Tensor转化为ndarry
首先先输入一个Tensor格式的矩阵:
z = tf.random_normal([2, 3])
print(z)
输出显示为Tensor格式:
Tensor("random_normal_2:0", shape=(2, 3), dtype=float32)
要将以上Tensor格式的矩阵转换为ndarry形式,列举以下两种方法:(都是使用 tf.Session() )
1) 在session中执行命令,使用Tensor.eval():
z = tf.random_normal([2, 3])
with tf.Session():
z_np = z.eval()
print(z_np)
输出结果(ndarry形式):
[[-0.31064209 -0.08908395 -1.17921364]
[ 1.39581752 0.41957435 1.13686609]]
2) 将session赋值定义,使用以下操作:
z = tf.random_normal([2, 3])
sess = tf.Session()
z_np = sess.run(z)
print(z_np)
输出结果(ndarry形式):
[[-0.46523135 -0.46153125 -2.94854551]
[ 3.02131545 0.15201205 3.84931325]]
2.ndarry转化为Tensor
首先先输入一个ndarry格式的矩阵:
a = np.random.random((2,3))
print(a)
输出显示为ndarry形式:
[[0.72948692 0.69415771 0.66658111]
[0.04923425 0.57252612 0.68851612]]
使用以下命令进行转化:
tensor_a=tf.convert_to_tensor(a)
print(tensor_a)
输出显示为Tensor格式:
Tensor("Const:0", shape=(2, 3), dtype=float64)
记录一哈,希望可以帮到你。
版权声明:本文为qq_41603193原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。