pytorch - 与 pytorch 权重的元素乘法
问题描述
我正在尝试构建一个简单的“神经网络”,只需按元素乘以权重。仅对于这种情况,我有一个具有 5 个特征的数据,其中只有一个是“1”,其余的都是“0”(一个热编码),我试图用 softmax 和交叉熵损失预测正确的类。这是我的代码(假设我有 26 个功能和(类):
class Net(nn.Module):
def __init__(self,n):
super(Net, self).__init__()
self.weights = nn.Parameter(torch.Tensor(n))
def forward(self, x):
return F.softmax(x * self.weights)
net = Net(n=26)
现在我尝试给出形状为 的未压缩张量数据(例如批量大小为 1)和形状为(1,1,26)
的张量标签(1,26)
。当我通过使用插入损失函数loss = criterion(nn_outputs, labels)
并收到以下错误时:
RuntimeError: Assertion `cur_target >= 0 && cur_target < n_classes' failed. at c:\a\w\1\s\tmp_conda_3.7_110509\conda\conda-bld\pytorch_1544094576194\work\aten\src\thnn\generic/SpatialClassNLLCriterion.c:110
也许有更简单的方法来构建和训练这个简单的神经网络而不会出错?
解决方案
推荐阅读
- ramda.js - 为什么 Ramda 的 R.adjust 在浏览器中出现错误?
- javascript - 如何将链接文本更改为 HTML 中的图像
- python - 跨多个numpy数组应用函数的最快方法是什么
- python - Python 要求每 1 分钟按一次 ENTER 以继续计划
- python - 将所有字典值转换为比例
- algorithm - 使用最大/最小堆进行堆排序和反向堆排序
- windows - 无法在 Windows Kubernetes 节点上获取 cAdvisor 容器指标
- python - 转换 tf.data.dataset
- android - 如何将协程范围限定为片段,以便在片段离开屏幕或被销毁时自动取消?
- git - 如何防止 Git 提交 Jupyter Notebook 结果?