我将带有dtype
of torch.uint8
的torch.Tensor
传递给nn.Conv2d
模块,它给出了错误
RuntimeError: value cannot be converted to type uint8_t without overflow: -0.0344873
我的conv2d定义为self.conv1 = nn.Conv2d(3, 6, 5)
。当我将张量传递给像self.conv1(x)
这样的模块时,错误出现在我的forward
方法中。张量具有形状(4,3,480,640)。我不知道如何解决这个问题。这是堆栈跟踪
Traceback (most recent call last):
File "cnn.py", line 54, in <module>
outputs = net(inputs)
File "/Users/my_repos/venv_projc/lib/python3.7/site-packages/torch/nn/modules/module.py", line 532, in __call__
result = self.forward(*input, **kwargs)
File "cnn.py", line 24, in forward
test = self.conv1(x)
File "/Users/my_repos/venv_projc/lib/python3.7/site-packages/torch/nn/modules/module.py", line 532, in __call__
result = self.forward(*input, **kwargs)
File "/Users/my_repos/venv_projc/lib/python3.7/site-packages/torch/nn/modules/conv.py", line 345, in forward
return self.conv2d_forward(input, self.weight)
File "/Users/my_repos/venv_projc/lib/python3.7/site-packages/torch/nn/modules/conv.py", line 342, in conv2d_forward
self.padding, self.dilation, self.groups)
RuntimeError: value cannot be converted to type uint8_t without overflow: -0.0344873
将张量转换为浮点数似乎可以修复它
self.conv1(x.float())
相关问题 更多 >
编程相关推荐