还是报错:AttributeError: 'tuple' object has no attribute 'to'
时间: 2023-06-22 22:39:55 浏览: 219
求解报错:AttributeError:module ‘os’ has no attribute ‘exit’
这个错误提示表明你的 `batch_data` 中除了张量类型之外,还包含了其他类型的元素,不能直接使用 `.to()` 方法进行转移。你可以在训练循环中加入类型判断和异常处理,将张量类型的数据转移到GPU上,而非张量类型的数据则忽略掉。可以像下面这样修改代码:
```python
for batch_idx, batch_data in enumerate(train_loader):
head = batch_data[0]
tail = batch_data[1]
relation = batch_data[2]
try:
if isinstance(head, torch.Tensor):
head = head.to(device)
if isinstance(tail, torch.Tensor):
tail = tail.to(device)
if isinstance(relation, torch.Tensor):
relation = relation.to(device)
except AttributeError:
pass
```
这样就可以避免因为元组中出现非张量类型而导致的错误。
阅读全文