python - Softmax 输出层。哪个维度?
问题描述
我有一个关于用于图像分割的神经元网络的问题。我正在使用可以在这里找到的 Deeplab 的 3D 实现
我正在使用softmax
,所以输出层如下:
elif self.last_activation.lower() == 'softmax':
output = nn.Softmax()(output)
没有定义维度,所以我想手动定义它。但我不确定我需要设置哪个维度。输出张量的维度如下:
[batch_size, num_classes, width, height, depth]
所以我认为这dim=1
是正确的。那是对的吗?
谢谢!
解决方案
实际上它应该是 1,因为您希望该轴总和为 1。
如果您需要使用交叉熵损失来训练您的网络,请小心,因为后者已经包含一个 softmax。
推荐阅读
- arbitrary-precision - 为什么不在任意精度整数中使用二进制补码进行减法?
- c# - 在 Windows 登录时启动 .NET Core 桌面应用程序
- c# - 如何使用现有的 for 循环实现空数据行检查
- php - 注册表未注册用户
- javascript - 前端 Javascript 框架(如 Vue.js)如何在不使用 Web 组件的情况下使用自定义元素?
- python - 我收到程序错误:“不支持的格式字符串传递给 list.__format__”
- django - 为什么我的基于类的视图只能使用 GET?
- python - 如何使圆形精灵出现 - pygame
- c++ - 'vlq' 的初始化没有匹配的构造函数
- javascript - 如何在nestjs graphql中实现用户保护