python - 尝试学习如何实现单个神经元
问题描述
我在 Pytorch 中有这段代码,但无法让它工作。我让它使用 Numpy 作为 return (XT * W).sum(axis=1) + B
但是使用 Pytorch 我不断收到这个错误......
def neural_network_neurons(W, B, X):
W = W.view(W.size(0), -1)
z1 = torch.matmul(X, W) + B
return ReLU(z1)
# --------------------------------------------------
W = torch.tensor([[1.2, 0.3, 0.1], [.01, 2.1, 0.7]])
B = torch.tensor([2.1, 0.89])
X = torch.tensor([0.3, 6.8, 0.59])
neural_network_neurons(W, B, X)
---------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
<ipython-input-21-8a5d3a425c16> in <module>
4 X = torch.tensor([0.3, 6.8, 0.59])
5
----> 6 neural_network_neurons(W, B, X)
<ipython-input-20-7450924eb4a5> in neural_network_neurons(W, B, X)
5 ###
6 W = W.view(W.size(0), -1)
----> 7 z1 = torch.matmul(X, W) + B
8 return ReLU(z1)
9 #return (X.T * W).sum(axis=1) + B
RuntimeError: size mismatch, m1: [1 x 3], m2: [2 x 3] at
/pytorch/aten/src/TH/generic/THTensorMath.cpp:197
解决方案
您的方向错误W
:您定义了一个 2x3 矩阵,但您的算法需要一个 3x2。试试W.T
?
推荐阅读
- python - numpy.array 中没有 fortran 顺序
- sql-server - SQL 代码到 Tableau
- vba - 从表 4 及以后开始,VBA 将表导出到单独的 CSV
- python-3.x - Pandas KeyError:绘制时间序列时“不在索引中”
- reactjs - React 在组件中添加键
- java - JMX 更新 TabularData 值
- angular - 当尝试导航到同一路由中的某个元素时,href 会在 URL 中加载
- python - 导入熊猫错误
- vba - 如果单元格的单元格值不以数字开头,如何删除整行
- aws-codebuild - 执行脚本,即使它们在 yml 文件中失败