In [26]:
import torch
import torchvision.transforms as transforms
import torchvision.datasets as datasets
from torchvision.utils import make_grid
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
import random
In [27]:
import scipy.misc
In [28]:
lena = scipy.misc.face()
img = transforms.ToTensor()(lena)
In [29]:
print(img.size())
In [30]:
from __future__ import print_function
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
from torchvision import datasets, transforms
from torch.autograd import Variable
In [39]:
transform = transforms.Compose([transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)),
])
trainset = datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)
train_loader = torch.utils.data.DataLoader(trainset, batch_size=10,
shuffle=True, num_workers=2)
In [69]:
for batch_idx, (data, target) in enumerate(train_loader):
data, target = data, target
print(type(data), data.size())
mean = torch.mean(data, dim=1)
std = torch.std(data, dim=1)
# img = transforms.ToTensor()(data[0])
data = (data - mean) / std
img = make_grid(data, nrow=5)
print(img.size())
# %matplotlib inline
def imshow(img):
# img = img / 2 + 0.5 # unnormalize
print(type(img), img.size())
npimg = img.numpy()
plt.imshow(np.transpose(npimg, (1,2,0)))
imshow(img)
break
In [ ]: