【问题标题】:How to write list returned from tf.get_collection into a file and read it如何将从 tf.get_collection 返回的列表写入文件并读取它
【发布时间】:2017-10-04 15:20:00
【问题描述】:

我尝试转换为字符串并存储,但无法将其转换回原始类型

我也试过 pickle.dump 但它给出了以下错误

raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: can't pickle module objects

我的代码:

with tf.Session() as sess:
    restorer = tf.train.import_meta_graph('abcd.ckpt.meta')
    restorer.restore(sess,'abcd.ckpt')
    vars = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES)
    with open("pickle_target.txt", "wb") as fp:   
        pickle.dump(vars, fp)

我需要将 tf.get_collection 存储到文件中,对其进行编辑并再次将其读取到列表中。

【问题讨论】:

  • 您应该包含代码/示例的相关部分以复制问题
  • 对不起!我现在编辑了它:) 请查看它

标签: python-2.7 list tensorflow pickle tensorflow-gpu


【解决方案1】:

tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES) 为您提供变量列表,而不是存储在这些变量中的值。要获取变量的当前值,您必须在会话中运行变量列表:

vars_list = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES)
with tf.Session() as sess:
    restorer = tf.train.import_meta_graph('abcd.ckpt.meta')
    restorer.restore(sess,'abcd.ckpt')
    vars = sess.run(vars_list)

现在 vars 是一个包含当前变量值的普通 python 列表。

【讨论】:

    猜你喜欢
    • 2017-06-19
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 2011-12-09
    • 2019-10-06
    相关资源
    最近更新 更多