"docs/source/ko/using-diffusers/custom_pipeline_examples.mdx" did not exist on "dc2a1c1d07bef046a76491ee5d4aab61ecfd67bc"
Commit e659e27e authored by Soumith Chintala's avatar Soumith Chintala
Browse files

fix ToTensor to handle numpy

parent 63dabcaf
import torch import torch
import torchvision.datasets as dset import torchvision.datasets as dset
import torchvision.transforms as transforms
print('\n\nCifar 10') # print('\n\nCifar 10')
a = dset.CIFAR10(root="abc/def/ghi", download=True) # a = dset.CIFAR10(root="abc/def/ghi", download=True)
print(a[3]) # print(a[3])
print('\n\nCifar 100') # print('\n\nCifar 100')
a = dset.CIFAR100(root="abc/def/ghi", download=True) # a = dset.CIFAR100(root="abc/def/ghi", download=True)
# print(a[3])
dataset = dset.CIFAR10(root='cifar', download=True, transform=transforms.ToTensor())
dataloader = torch.utils.data.DataLoader(dataset, batch_size=32,
shuffle=True, num_workers=2)
# miter = dataloader.__iter__()
# def getBatch():
# global miter
# try:
# return miter.next()
# except StopIteration:
# miter = dataloader.__iter__()
# return miter.next()
# i=0
# while True:
# print(i)
# img, target = getBatch()
# i+=1
print(a[3])
...@@ -2,6 +2,7 @@ import torch ...@@ -2,6 +2,7 @@ import torch
import math import math
import random import random
from PIL import Image from PIL import Image
import numpy as np
class Compose(object): class Compose(object):
...@@ -16,6 +17,11 @@ class Compose(object): ...@@ -16,6 +17,11 @@ class Compose(object):
class ToTensor(object): class ToTensor(object):
def __call__(self, pic): def __call__(self, pic):
if isinstance(pic, np.ndarray):
# handle numpy array
img = torch.from_numpy(pic)
else:
# handle PIL Image
img = torch.ByteTensor(torch.ByteStorage.from_buffer(pic.tobytes())) img = torch.ByteTensor(torch.ByteStorage.from_buffer(pic.tobytes()))
img = img.view(pic.size[0], pic.size[1], 3) img = img.view(pic.size[0], pic.size[1], 3)
# put it in CHW format # put it in CHW format
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment