接触tensorflow的同学对这两句代码一定无比熟悉,作为python新手的我,一直不太明白两者的区别,对数组或者矩阵操作的时候一会儿np.xx(),一会tf.xx(),各种混用导致频繁报错。。。
import tensorflow as tf
import numpy as np
这里用一个最简单的列子,证明二者的不同:
输入
a=tf.constant([[1,2],[3,4]],dtype=tf.float32)
print(a.dtype)
b=np.array([[1,2],[3,4]],dtype='float32')
print(b.dtype)
输出:
<dtype: 'float32'>
float32
看来张量和数组还是完全两码事啊。。。所以判断一个变量究竟是tensor还是array,直接输出它的dtype,输出上面那样的就是tensor,输出下面那样的就是array~~
相互转换
还是上面那个例子,a是tensor,b是array
tensor转array:
a.eval()
array转tensor:
tf.convert_to_tensor(b)