TypeError: pic should be PIL Image or ndarray. Got <class 'torch.Tensor'>
时间: 2024-02-16 19:59:56 浏览: 52
TypeError: unsupported format string passed to NoneType.__format__
5星 · 资源好评率100%
这个错误通常是因为传入的 pic 参数不是 PIL Image 或 ndarray 类型,而是 torch.Tensor 类型。如果要将 torch.Tensor 类型的图片转换为 PIL Image 或 ndarray 类型,可以使用以下代码:
```
from torchvision.transforms.functional import to_pil_image, to_tensor
# 将 tensor 转换为 PIL Image
pil_img = to_pil_image(tensor_img)
# 将 tensor 转换为 ndarray
ndarray_img = tensor_img.cpu().numpy()
```
在这里,我们通过 `to_pil_image()` 将 tensor 转换为 PIL Image,或者通过 `cpu().numpy()` 将 tensor 转换为 ndarray。
需要注意的是,如果 tensor 是在 GPU 上,需要先将其移动到 CPU 上,然后再进行转换。因此,可以在转换之前调用 `cpu()` 方法将其移动到 CPU 上。
阅读全文