转自 https://blog.csdn.net/qq_36229876/article/details/106451399
https://blog.csdn.net/qq_36229876/article/details/106451399
https://blog.csdn.net/pan15125284/article/details/93589469?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param
与numpy的互相转换,必不可少。
请注意,tf2因为使用eager机制,转换时不需要new session。出现如下错误,多半是没有搞清楚所在环境。‘Tensor’ object has no attribute ‘numpy’
TF1.x
tensor -> numpy
with tf.Session() as sess:
numpy_data = tensor_data.eval()
numpy->tensor
tensor_data= tf.convert_to_tensor(numpy_data)
TF2.x
tensor -> numpy
numpy_data = tensor_data.numpy()
numpy -> tensor
tensor_data = tf.cast(numpy_data, dtype=tf.float32)#numpy转张量
tensorflow2.0 numpy.ndarray 与tenor直接互转
import numpy as np
import tensorflow as tf
a = np.random.random((5,3))
b = np.random.randint(0,9,(3,1))
c = tf.tensordot(a.astype(np.float),b.astype(np.float),axes=1)
# tensor 转ndarray
dn = c.numpy()
print(dn)
# ndarray转tensor
tn = tf.convert_to_tensor(dn)
print(tn)