pytorch 载入图像
时间: 2023-08-08 20:11:48 浏览: 109
在PyTorch中载入图像有多种方法。一种常用的方法是使用`ImageFolder`类和`DataLoader`类。首先,需要导入相关的包和设置转换操作。可以使用`torchvision.datasets.ImageFolder`导入`ImageFolder`类,然后使用`torchvision.transforms`导入`transforms`模块。接下来,可以使用`transforms.Compose`创建一个转换操作的组合,其中包括将图片缩放至256x256像素、从中心裁剪成224x224像素、以及将图片转换为Tensor类型并进行归一化的操作。\[1\]
然后,可以使用`ImageFolder`类加载数据集。将包含分类图片的父目录路径传递给`ImageFolder`类,并传入之前创建的转换操作。这样就可以得到要加载的数据集。接下来,可以使用`DataLoader`类加载数据集,并设置批量大小和是否打乱数据的参数。\[2\]
以下是一个示例代码,展示了如何使用`DataLoader`加载数据集并显示其中的图片:
```python
import torch
from torchvision import transforms, datasets
from torch.utils.data import DataLoader
# 设置转换操作
transforms = transforms.Compose(\[
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor()
\])
# 加载数据集
path = r'D:\dataset_deep_learning\Flower_Orig_dataset'
data_train = datasets.ImageFolder(path, transform=transforms)
# 使用DataLoader加载数据
data_loader = DataLoader(data_train, batch_size=64, shuffle=True)
# 显示数据集中的图片
import matplotlib.pyplot as plt
import numpy as np
import torchvision
for i, data in enumerate(data_loader):
images, labels = data
img = torchvision.utils.make_grid(images).numpy()
plt.imshow(np.transpose(img, (1, 2, 0)))
plt.show()
break
```
这段代码首先导入了必要的包,并设置了转换操作。然后使用`ImageFolder`类加载数据集,并使用`DataLoader`类加载数据。最后,使用`matplotlib.pyplot`和`numpy`库显示数据集中的图片。\[2\]
希望这个例子能帮助你理解如何在PyTorch中载入图像数据集。如果你需要更多细节,可以参考我在文章中提供的其他资料。\[3\]
#### 引用[.reference_title]
- *1* *2* [pytorch加载自己的图片数据集的两种方法](https://blog.csdn.net/qq_53345829/article/details/124308515)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [【深度学习】数据准备-pytorch自定义图像分割类数据集加载](https://blog.csdn.net/adreammaker/article/details/126037510)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文