在处理模型的损失或者根据模型的输出我们可能会做一些其他的numpy操作,但是通常模型中出来的都是tensor类型。
使用tensorflow2.3 tensor直接转numpy遇到了各种坑,网上的一些教程都是tensorflow1的,都不适用。
踩坑之旅来了:
目前没有用直接转的方式,经过测试通过Session的方式是可以的。
第一种使用with
import tensorflow as tf
Test = tf.Variable(10, dtype=tf.int32)
with tf.compat.v1.Session() as sess:
sess.run(tf.compat.v1.global_variables_initializer())
nd_Test = sess.run(Test) #nd_Test就是ndarray类型,可以在此基础上做其他操作
第二种
import tensorflow as tf
Test = tf.Variable(10, dtype=tf.int32)
sess = tf.compat.v1.InteractiveSession()
sess.run(tf.compat.v1.global_variables_initializer())
nd_Test = sess.run(Test) #nd_Test就是ndarray类型,可以在此基础上做其他操作