-
Notifications
You must be signed in to change notification settings - Fork 0
/
ae_class.py
73 lines (64 loc) · 2.21 KB
/
ae_class.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#%matplotlib inline
import torch
import matplotlib.pyplot as plt
import torch.nn as nn
import torch.nn.functional as F
from torch.autograd import Variable
import torch.optim as optim
import torchvision
from torchvision import datasets,transforms
import numpy as np
from PIL import Image
import copy
import time
trainLoader=torch.utils.data.DataLoader(datasets.FashionMNIST('./fmnist/',train=True,
download=True,
transform=transforms.Compose(
[transforms.ToTensor()])),batch_size
=1024,shuffle=True,num_workers=1)
testLoader=torch.utils.data.DataLoader(datasets.FashionMNIST('./fmnist/',train=False,
download=True,
transform=transforms.Compose(
[transforms.ToTensor()])),batch_size
=1024,shuffle=True,num_workers=1)
import torch
print(123)
a=torch.rand(3,3)
print(a)
import os
import struct
import torch
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
import torchvision
from torchvision import datasets
from torch.autograd import Variable
import torch.nn as nn
import torch.nn.functional as F
import copy
class autoencoder(nn.Module):
def __init__(self):
super(autoencoder, self).__init__()
self.encoder = nn.Sequential(
nn.Linear(28*28, 100),
nn.ReLU(),
nn.Linear(100, 100),
nn.ReLU())
self.decoder = nn.Sequential(
nn.Linear(100, 100),
nn.ReLU(),
nn.Linear(100, 28*28),
nn.ReLU())
def forward(self, x):
x = self.encoder(x)
x = self.decoder(x)
return x
net = autoencoder()
print(net)
use_gpu = torch.cuda.is_available()
if use_gpu:
net = net.double().cuda()
else:
net = net.double()
init_weights = copy.deepcopy(net.encoder[0].weight.data)