TensorFlow中numpy与tensor数据相互转化(支持tf1.x-tf2.x)

TensorFlow中numpy与tensor数据相互转化(支持tf1.x-tf2.x)

TF 1.x版本

有时候解决起来很简单,就是错误比较难找到,所以我推荐的方法为将数据进行显式的转化。

  • Numpy2Tensor
    虽然TensorFlow网络在输入Numpy数据时会自动转换为Tensor来处理,但是我们自己也可以去显式的转换:
data_tensor= tf.convert_to_tensor(data_numpy)
  • Tensor2Numpy
    网络输出的结果仍为Tensor,当我们要用这些结果去执行只能由Numpy数据来执行的操作时就会出现莫名其妙的错误。解决方法:
with tf.Session() as sess:
    data_numpy = data_tensor.eval()

TF 2.x版本

  • Numpy2Tensor(与1.x版本相同)
    虽然TensorFlow网络在输入Numpy数据时会自动转换为Tensor来处理,但是我们自己也可以去显式的转换:
data_tensor= tf.convert_to_tensor(data_numpy)
  • Tensor2Numpy
    由于2.x版本取消了session机制,开发人员可以直接执行 .numpy()方法转换tensor:
data_numpy = data_tensor.numpy()
posted @ 2024-07-04 11:05  michaelchengjl  阅读(106)  评论(0编辑  收藏  举报