输出层在自定义估算器中没有激活功能

土豆

自定义估算器中,输出层没有激活。

logits = tf.layers.dense(net, params['n_classes'], activation=None)

然后sparse_softmax_cross_entropy用来计算损失

loss = tf.losses.sparse_softmax_cross_entropy(labels=labels, logits=logits)  

问题

  1. 一般来说,输出层还应该具有激活功能吗?
  2. sparse_softmax_cross_entropy 意味着在计算损失时使用softmax作为输出层的激活函数?
x乘0

“天真”地计算softmax和交叉熵在数值上可能不稳定。这就是为什么建议您在输出层中不要进行激活的原因(通常是tf.nn.softmax用于分类)。相反,Tensorflow提供了损失函数,例如sparse_softmax_cross_entropy在内部应用softmax(以数值稳定的方式),然后基于该函数计算交叉熵。也就是说,您应该提供没有自己的softmax(通常称为logits)的模型输出

例如在softmax opAPI文档中,您通常可以找到以下段落:

警告:此操作期望未缩放的logit,因为它在内部对logit执行softmax以提高效率。不要使用softmax的输出来调用该操作,因为这会产生错误的结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

自定义层不支持序列化自定义激活功能

在Tensorflow自定义估算器中急于执行

如何将卷积层添加到自定义估算器

创建自定义估算器:状态均值估算器

如何运行具有自定义管道的自定义估算器的网格搜索?

如何在Keras中实现具有动态形状的自定义输出层?

在Keras中添加自定义激活功能

在Tensorflow 2.0中制作自定义激活功能

Flutter:-有没有办法自定义列表构建器中每个扩展图块的输出?

Kmeans作为功能模型中的自定义层

“ValueError:没有为任何变量提供梯度”存在层中的自定义函数

Keras自定义softmax层:是否有可能基于零作为输入层中的数据在softmax层的输出中将输出神经元设置为0?

有没有办法将范围服务注入自定义控制器激活器(或页面模型激活器提供程序)?

pytorch自定义激活功能?

Tensorflow中的自定义估算器中的批量归一化

如何在sklearn中编写自定义估算器并在其上使用交叉验证?

在Sklearn中的自定义估算器上进行交叉验证的打印语句

ReactJS自定义钩子没有呈现预期的输出

创建没有输入或输出端口的自定义块

lua自定义终端没有命令输出

Spark自定义估算器,包括持久性

Spark自定义估算器对Param [T]的访问

Scikit:自定义估算器:无法克隆

用于逻辑“AND”的 Tensorflow 自定义估算器

没有库的JavaScript自定义确认功能

自定义论坛功能没有返回正确的ID?

pylint无法导入自定义模块和功能(模块中没有名称)

为什么在U-net的上采样层中没有激活功能?

如何激活自定义语言的“查看定义”功能