How do I load png images together with alpha channel?

using this code

data_path = '.'
train_dataset = torchvision.datasets.ImageFolder(
    root=data_path,
    transform=torchvision.transforms.ToTensor()
)
train_loader = torch.utils.data.DataLoader(
    train_dataset,
    batch_size=1,
    num_workers=1,
    shuffle=True
)

I can load multiple png images but all transparent parts turn into black. I want to keep all four channels. I searched how to do it but people have the inverse problem - they have all four channels and they want to drop the alpha channel. So what shall I do so the alpha channel is loaded also?

I figured it out myself.

from scipy import misc
data_path = '.'
def my_loader(path):
    return misc.imread(path);
train_dataset = torchvision.datasets.ImageFolder(
    root=data_path,
    transform=torchvision.transforms.ToTensor(),
    loader = my_loader
)
train_loader = torch.utils.data.DataLoader(
    train_dataset,
    batch_size=1,
    num_workers=1,
    shuffle=True
)
1 Like