when I try to visualize the images of the dataset, always give me a white image
and when I feed another data set the correct image is was visualized
This is a code
import os
import torch
from torchvision import datasets, transforms
from torch.utils.data import Dataset, DataLoader
import torch
import torchvision
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import cv2
import numpy as np
Write data loaders for training, validation, and test sets
Specify appropriate transforms, and batch_sizes
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True
number of subprocesses to use for data loading
num_workers = 0
how many samples per batch to load
batch_size = 64
data_transform_train = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize((.5), (.5))
])
data_transform_test = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize((0.5), (0.5))
])
data_dir = ‘/content/drive/MyDrive/graduation_project_dataset/Mammogram’
train_dir = os.path.join(data_dir, ‘train’)
valid_dir = os.path.join(data_dir, ‘valid’)
test_dir = os.path.join(data_dir, ‘test’)
train_data = datasets.ImageFolder(train_dir, transform=data_transform_train)
valid_data = datasets.ImageFolder(valid_dir, transform=data_transform_test)
test_data = datasets.ImageFolder(test_dir, transform=data_transform_test)
train_loader = torch.utils.data.DataLoader(train_data, batch_size=batch_size, num_workers=num_workers, shuffle=True)
valid_loader = torch.utils.data.DataLoader(valid_data, batch_size=batch_size, num_workers=num_workers, shuffle=True)
test_loader = torch.utils.data.DataLoader(test_data, batch_size=batch_size, num_workers=num_workers, shuffle=True)
loaders_scratch = {
'train' : train_loader,
'valid' : valid_loader,
'test' : test_loader
}
train_images, train_labels = next(iter(train_loader))
for img in train_images:
print(‘\nShape of the image is: {0}’.format(train_images.shape))
grid = torchvision.utils.make_grid(img, nrow = 5)
img = train_images[2]
label = train_labels[2]
plt.imshow(np.transpose(grid,(1,2,0)), cmap = ‘gray’)
plt.show()
print(f"Label: {label}")
break