在tensorflow[1.x/2.x]下,实现tensor与numpy互转

转自 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)

你可能感兴趣的:(GAN学习,tensorflow,numpy)