首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在紧急模式下用pdb调试TensorFlow回调

在紧急模式下用pdb调试TensorFlow回调
EN

Stack Overflow用户
提问于 2020-07-12 21:59:09
回答 1查看 373关注 0票数 1

如何正确地调试TensoFlow中具有pdb在急切执行模式的回调?下面的场景显示了错误。回调是此表单的度量函数:

代码语言:javascript
运行
复制
def my_custom_metric_in_top_k(k):
    def metric_in_top_k(labels,predictions,features):
        import pdb
        pdb.set_trace()
        ...
    return metric_in_top_k

在pdb控制台中,我使用sess=tf.compat.v1.InteractiveSession()创建一个会话,然后通过labels.eval()获取标签张量的值。但是,当我运行predictions.eval()时,我会得到以下错误

*从容器: localhost读取资源变量组_score/稠密_2/偏差时出现tensorflow.python.framework.errors_impl.FailedPreconditionError:错误。这可能意味着变量未初始化。找不到:资源localhost/group_score/batch_normalization_2/gamma/N10tensorflow3VarE不存在。

是什么导致了错误,以及如何使predictions.eval()工作?另外,有关于在Tensorflow中调试回调的建议吗?

编辑:我怀疑问题在于有两个不同的会话:交互式会话和用于读取模型的会话。但是,我通过在创建估计量实例时提供带有训练检查点的目录以及在估计器上调用evaluate来读取模型。在我看来,这个会话是在估值器的某个地方创建的。

EN

回答 1

Stack Overflow用户

发布于 2020-07-13 23:19:01

如果有人有类似的问题,问题是TF关闭了急切的执行模式。检查的方法是通过tf.execusing_eagerly()调用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62866878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档