Python 将tf.Tensor转换为numpy数组,然后将其另存为中的图像,无需急于执行
我的OC对于apple M1来说是一个大的sur,因此我的tensorflow版本是2.4,它是从官方的apple github repo()安装的。当我使用下面的代码时,我得到张量()Python 将tf.Tensor转换为numpy数组,然后将其另存为中的图像,无需急于执行,python,tensorflow,keras,Python,Tensorflow,Keras,我的OC对于apple M1来说是一个大的sur,因此我的tensorflow版本是2.4,它是从官方的apple github repo()安装的。当我使用下面的代码时,我得到张量() 将tensorflow导入为tf 将tensorflow_hub导入为hub 从PIL导入图像 将numpy作为np导入 从tensorflow.python.compiler.mlcompute导入mlcompute 从tensorflow.python.framework.ops导入禁用执行 禁用\u渴望\
将tensorflow导入为tf
将tensorflow_hub导入为hub
从PIL导入图像
将numpy作为np导入
从tensorflow.python.compiler.mlcompute导入mlcompute
从tensorflow.python.framework.ops导入禁用执行
禁用\u渴望\u执行()
mlcompute.set_mlc_device(device_name='gpu')#可用选项有“cpu”、“gpu”和“any”。
tf.config.run_函数(False)
打印(tf.executing_急切地()
image=np.asarray(image.open('/Users/alex26/Downloads/face.jpg'))
image=tf.cast(image,tf.float32)
image=tf.展开(图像,0)
型号=轮毂。负载(“https://tfhub.dev/captain-pool/esrgan-tf2/1")
sr=模型(图像)#
如何从sr Tensor获取图像?要从tensorflow Tensor创建numpy数组,可以使用“make_ndarray”:
make_ndarray
将原张量作为参数,因此必须首先将张量转换为原张量
proto_tensor=tf.make_tensor_proto(a)#将张量a转换为proto tensor
()
张量必须为if shape(img\u height,img\u width,3)
,3
如果要生成RGB图像(3个通道),请参阅以下代码,使用PIL将numpy aaray转换为图像
要从numpy数组生成图像,可以使用PIL
(Python图像库):
从PIL导入图像
将numpy作为np导入
img_w,img_h=200200
data=np.zero((img_h,img_w,3),dtype=np.uint8)如果您急切地执行它,它会起作用:
import tensorflow as tf
import numpy as np
import tensorflow_hub as hub
model = hub.load("https://tfhub.dev/captain-pool/esrgan-tf2/1")
x = np.random.rand(1, 224, 224, 3).astype(np.float32)
image = model(x)
然后可以使用保存生成的图像。您可能需要将结果乘以255
,然后转换为np.uint8
,才能使该函数正常工作,我不确定。这是您正在考虑的老式方法吗
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
sess.run(sr)
这是什么?请在此包含重要信息。我甚至不能打开链接(域名被封锁)这个信息是大的,我会包括在这里,如果链接贝娄也不适合你。我不急于使用执行。为什么不使用?是的,我不能将张量类转换为numpy数组,这是主要问题。我试着用make_ndary,但没用。假设pastebin对你也不起作用,make_ndarray
以原张量为参数,所以你必须先将张量转换成原张量,我在上面修改了这个。。。我试过了,但没有work@Ymka抱歉,缺少初始化。现在它说了什么?您可能希望将tensorflow.compat.v1导入为tf
,而不是完全导入TF1。
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
sess.run(sr)