【问题标题】:Observing tensorflow rnn model weights观察 tensorflow rnn 模型权重
【发布时间】:2016-09-29 02:29:29
【问题描述】:

我使用的是tensorflow rnn翻译模型发布在这里:
translation model

我想根据自己的想法对这段代码的一部分进行修改。
我想做的第一件事是在每一层中查看target_weights
我所知道的是,首先是一个 target_weights 数组,其中包含用于填充的零和句子中每个单词的 1。
初始化后,它被馈送到 session.run 方法,它肯定会改变。
现在我想知道是否有人知道在学习过程中我应该如何看到这个数组的变化。
或者别的什么,我怎样才能看到每一层的权重并检查每一层对应的值。

提前致谢

【问题讨论】:

    标签: python machine-learning tensorflow machine-translation


    【解决方案1】:

    您正在寻找的可能是 TensorBoard,它使您能够可视化网络的任意值/统计信息。

    您所要做的就是在您的代码中添加summarizers,例如通过

    tf.scalar_summary("norm of weights going", norm_of_weights)
    

    稍后创建摘要编写器

    merged = tf.merge_all_summaries()
    writer = tf.train.SummaryWriter("logs_directory/", sess.graph_def)
    

    这将创建您的日志,您可以通过 tensorboard 对其进行分析。 您定义摘要的方式、您记录的内容等取决于您,并且完全取决于问题。您想单独跟踪每个重量吗?如果是这样 - 为每一个添加标量摘要。你想要一个短暂的进化?关注这些规范。您还可以通过tf.histogram_summary 等监控直方图(例如激活分布)。

    【讨论】:

    • 非常感谢。事实上,我想在第一步检查权重,然后将其与我需要在我的代码中包含该数组的实际值的其他内容进行比较。我应该在我的代码中添加什么?
    猜你喜欢
    • 2017-08-19
    • 2022-08-17
    • 2016-03-03
    • 1970-01-01
    • 2017-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多