gpt4 book ai didi

python - 如何在 Tensorflow 中保存张量的值

转载 作者:行者123 更新时间:2023-12-05 01:58:48 28 4
gpt4 key购买 nike

我试图用装饰器 @tf.function 将必须计算的张量数组保存到函数中,这使得函数内的所有张量都变成张量图,因此,非可迭代的对象。例如,在下面的最小代码中,我想知道是否可以使用函数 foo() 中的代码将张量保存到文件中。

@tf.function
def foo(x):
# code for saving x


a=tf.constant([1,2,3])
foo(a)

最佳答案

好吧,我假设您正在图形模式下运行该函数,否则(eager 模式执行)您可以使用 NumPy 或正常的 pythonic 文件处理方式在通过 .numpy() 张量函数。
在图形模式下,您可以使用tf.io.write_file() 操作。详细阐述前面提到的解决方案,write_file fn 采用单个字符串。下面的示例可能会有更多帮助:

a = tf.constant([1,2,3,4,5] , dtype = tf.int32)
b = tf.constant([53.44569] , dtype= tf.float32)
c = tf.constant(0)
# if u wish to write all these tensors on each line ,
# then create a single string out of these.
one_string = tf.strings.format("{}\n{}\n{}\n", (a,b,c))
# {} is a placeholder for each element ina string and thus you would need n PH for n tensors.
# send this string to write_file fn
tf.io.write_file(filename, one_string)

write_file fn 只接受字符串,因此您需要先将所有内容转换为字符串。此外,如果您在同一次运行中调用 write_file fn n 次,则每次调用都会覆盖之前的输出,因此文件将包含最后一次调用的内容。

关于python - 如何在 Tensorflow 中保存张量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68262503/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com