for epoch in range(num_epochs): for i, real_images in enumerate(dataloader): # 训练判别器 real_images = real_images.to(device) #print(real_images.shape) labels_real = torch.full((real_images.size(0),), 1.0, device=device) labels_fake = torch.full((real_images.size(0),), 0.0, device=device) 这段代码运行之后,报 'list' object has no attribute 'to'的错误,该如何修改
时间: 2024-04-14 12:25:31 浏览: 136
pytorch之inception_v3的实现案例
这个错误通常是因为你的 `dataloader` 返回的是一个列表而不是一个张量。你可以尝试将 `real_images` 转换为张量再进行操作。代码修改如下:
```python
for epoch in range(num_epochs):
for i, real_images_list in enumerate(dataloader):
real_images = torch.tensor(real_images_list).to(device)
#print(real_images.shape)
labels_real = torch.full((real_images.size(0),), 1.0, device=device)
labels_fake = torch.full((real_images.size(0),), 0.0, device=device)
```
这样,你应该能够解决 `'list' object has no attribute 'to'` 错误。
阅读全文