我正在使用线圈 100 数据集,其中包含 100 个对象的图像,每个对象通过将每个图像旋转 5 度,从固定相机拍摄的每个对象有 72 个图像。以下是我正在使用的文件夹结构:
数据/火车/obj1/obj01_0.png, obj01_5.png ... obj01_355.png
。
.
数据/火车/obj85/obj85_0.png, obj85_5.png ... obj85_355.png
。
.
数据/测试/obj86/obj86_0.ong, obj86_5.png ... obj86_355.png
。
.
数据/测试/obj100/obj100_0.ong, obj100_5.png ... obj100_355.png
我使用了 imageloader 和 dataloader 类。训练和测试数据集正确加载,我可以打印类名。
train_path = 'data/train/'
test_path = 'data/test/'
data_transforms = {
transforms.Compose([
transforms.Resize(224, 224),
transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
])
}
train_data = torchvision.datasets.ImageFolder(
root=train_path,
transform= data_transforms
)
test_data = torchvision.datasets.ImageFolder(
root = test_path,
transform = data_transforms
)
train_loader = torch.utils.data.DataLoader(
train_data,
batch_size=None,
num_workers=1, …
Run Code Online (Sandbox Code Playgroud) 我已将 GitHub 存储库克隆到 google colab 中,并尝试使用 PyTorch 的 DataLoader 加载数据。
global gpu, device
if torch.cuda.is_available():
gpu = True
device = 'cuda:0'
torch.set_default_tensor_type('torch.cuda.FloatTensor')
print("Using GPU")
else:
gpu = False
device = 'cpu'
print("Using CPU")
data_transforms = transforms.Compose([
#transforms.Resize(224),
transforms.ToTensor(),
transforms.Normalize([0.3112, 0.2636, 0.2047], [0.2419, 0.1972, 0.1554])
])
train_path = '/content/convLSTM/code/data/train/'
val_path = '/content/convLSTM/code/data/val/'
test_path = '/content/convLSTM/code/data/test/'
train_data = datasets.ImageFolder(root=train_path, transform=data_transforms)
val_data = datasets.ImageFolder(root=val_path, transform=data_transforms)
test_data = datasets.ImageFolder(root=test_path, transform=data_transforms)
train_loader = torch.utils.data.DataLoader(
train_data,
batch_size=18,
num_workers=4,
shuffle=False,
pin_memory=True
)
val_loader = torch.utils.data.DataLoader(
val_data,
batch_size=18, …
Run Code Online (Sandbox Code Playgroud)