首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Tensorflow ValueError:只调用带有命名参数的`sparse_softmax_cross_entropy_with_logits`

Tensorflow ValueError:只调用带有命名参数的`sparse_softmax_cross_entropy_with_logits`
EN

Stack Overflow用户
提问于 2017-12-20 15:36:41
回答 1查看 994关注 0票数 1

调用以下方法时:

代码语言:javascript
运行
复制
losses = [tf.nn.sparse_softmax_cross_entropy_with_logits(logits, labels)
          for logits, labels in zip(logits_series,labels_series)]

我收到以下ValueError:

代码语言:javascript
运行
复制
ValueError: Only call `sparse_softmax_cross_entropy_with_logits` with named arguments (labels=..., logits=..., ...)

反对这一点:

代码语言:javascript
运行
复制
[tf.nn.sparse_softmax_cross_entropy_with_logits(logits, labels)

根据nn_ops.py的文档,我需要确保登录和标签初始化为以下内容:

def _ensure_xent_args(名称、哨兵、标签、逻辑):#确保所有参数都作为命名参数传递。如果哨兵不是无:引发ValueError(“只调用带有”labels=.,logits=.,.)命名参数的%s“% name)如果标签为None或logits为None:引发ValueError(”必须同时提供标签和日志“)。 Logits=X,标签=Y

这是什么原因?我是否将它们初始化为某种价值,比如损失?或?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-20 16:37:28

原因是_sentineltf.nn.sparse_softmax_cross_entropy_with_logits的第一个参数。

_sentinel:用于防止位置参数。内部,不要使用。

这个API鼓励您命名您的论点,如下所示:

代码语言:javascript
运行
复制
tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits, labels=labels)

..。这样您就不会意外地将logits传递给labels,反之亦然。

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

https://stackoverflow.com/questions/47909606

复制
相关文章

相似问题

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