Traceback (most recent call last): File "D:/HBISHE/04/105/SRGAN/test3match.py", line 58, in <module> weight = torch.tensor(weight).permute(1, 0, 2, 3).contiguous() RuntimeError: Could not infer dtype of collections.OrderedDict
时间: 2024-03-02 22:50:12 浏览: 171
linux 下 pip3 报错“ File “/usr/bin/pip3”, line 9, in from pip import mainImportError: canno”处理
5星 · 资源好评率100%
这个错误信息显示无法推断collections.OrderedDict的dtype(数据类型)。这通常是由于将一个不支持的数据类型传递给了torch.tensor()。请确保weight变量的数据类型是支持的,如float64、float32、float16、int64、int32、int16、int8、uint8和bool等数据类型。如果权重变量是一个collections.OrderedDict,你可以尝试使用torch.load()函数读取权重,然后将其转换为支持的数据类型,例如:
```
weights = torch.load('weights.pth')
weight = []
for name, param in weights.items():
weight.append(param.numpy())
weight = np.array(weight)
weight = torch.from_numpy(weight).permute(1, 0, 2, 3).contiguous()
```
这将读取名为'weights.pth'的权重文件,将其转换为numpy数组,然后将其转换为支持的数据类型,以便进行后续操作。
阅读全文