-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.txt
134 lines (109 loc) · 6.26 KB
/
README.txt
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
Dense-Generative models with DenseNet equivalent for Fisher GANs
###updates 11/1
Added Complete Dense Connected Generator and Discriminator (~50 layers each). Size is still hard coded for Cifar, so 32*32 (will make it a parameter) Architecture is available below. The Generations dont converge properly, needs more tweaking.
Please refer to the DenseFisher Folder for latest Source/Sample/Details.
######################D#####################
Input shape torch.Size([64, 3, 32, 32])
con1 shape torch.Size([64, 48, 32, 32])
dense internal shape 1 torch.Size([64, 48, 32, 32])
dense internal shape 2 torch.Size([64, 96, 32, 32])
dense internal shape 3 torch.Size([64, 24, 32, 32])
dense internal shape 4 torch.Size([64, 72, 32, 32])
transition internal shape 1torch.Size([64, 72, 32, 32])
transition internal shape 2torch.Size([64, 72, 32, 32])
transition internal shape 3torch.Size([64, 72, 16, 16])
dense + trans 1 finished shape torch.Size([64, 72, 16, 16])
dense internal shape 1 torch.Size([64, 72, 16, 16])
dense internal shape 2 torch.Size([64, 96, 16, 16])
dense internal shape 3 torch.Size([64, 24, 16, 16])
dense internal shape 4 torch.Size([64, 96, 16, 16])
transition internal shape 1torch.Size([64, 96, 16, 16])
transition internal shape 2torch.Size([64, 96, 16, 16])
transition internal shape 3torch.Size([64, 96, 8, 8])
dense + trans 2 finished shape torch.Size([64, 96, 8, 8])
dense internal shape 1 torch.Size([64, 96, 8, 8])
dense internal shape 2 torch.Size([64, 96, 8, 8])
dense internal shape 3 torch.Size([64, 24, 8, 8])
dense internal shape 4 torch.Size([64, 120, 8, 8])
transition internal shape 1torch.Size([64, 120, 8, 8])
transition internal shape 2torch.Size([64, 120, 8, 8])
transition internal shape 3torch.Size([64, 120, 4, 4])
dense + trans 3 finished shape torch.Size([64, 120, 4, 4])
dense internal shape 1 torch.Size([64, 120, 4, 4])
dense internal shape 2 torch.Size([64, 96, 4, 4])
dense internal shape 3 torch.Size([64, 24, 4, 4])
dense internal shape 4 torch.Size([64, 144, 4, 4])
transition internal shape 1torch.Size([64, 144, 4, 4])
transition internal shape 2torch.Size([64, 144, 4, 4])
transition internal shape 3torch.Size([64, 144, 2, 2])
dense + trans 4 finished shape torch.Size([64, 144, 2, 2])
dense internal shape 1 torch.Size([64, 144, 2, 2])
dense internal shape 2 torch.Size([64, 96, 2, 2])
dense internal shape 3 torch.Size([64, 24, 2, 2])
dense internal shape 4 torch.Size([64, 168, 2, 2])
transition internal shape 1torch.Size([64, 168, 2, 2])
transition internal shape 2torch.Size([64, 168, 2, 2])
transition internal shape 3torch.Size([64, 168, 1, 1])
dense + trans 5 finished shape torch.Size([64, 168, 1, 1])
Final shape torch.Size([64, 1, 1, 1])
######################D#####################
######################G#####################
Input shape torch.Size([64, 100, 1, 1])
conv1 shape torch.Size([64, 168, 1, 1])
dense internal shape 1 torch.Size([64, 168, 1, 1])
dense internal shape 2 torch.Size([64, 96, 1, 1])
dense internal shape 3 torch.Size([64, 24, 1, 1])
dense internal shape 4 torch.Size([64, 192, 1, 1])
transition internal shape 1torch.Size([64, 192, 1, 1])
transition internal shape 2torch.Size([64, 144, 1, 1])
transition internal shape 3torch.Size([64, 144, 2, 2])
dense + trans 1 finished shape torch.Size([64, 144, 2, 2])
dense internal shape 1 torch.Size([64, 144, 2, 2])
dense internal shape 2 torch.Size([64, 96, 2, 2])
dense internal shape 3 torch.Size([64, 24, 2, 2])
dense internal shape 4 torch.Size([64, 168, 2, 2])
transition internal shape 1torch.Size([64, 168, 2, 2])
transition internal shape 2torch.Size([64, 120, 2, 2])
transition internal shape 3torch.Size([64, 120, 4, 4])
dense + trans 2 finished shape torch.Size([64, 120, 4, 4])
dense internal shape 1 torch.Size([64, 120, 4, 4])
dense internal shape 2 torch.Size([64, 96, 4, 4])
dense internal shape 3 torch.Size([64, 24, 4, 4])
dense internal shape 4 torch.Size([64, 144, 4, 4])
transition internal shape 1torch.Size([64, 144, 4, 4])
transition internal shape 2torch.Size([64, 96, 4, 4])
transition internal shape 3torch.Size([64, 96, 8, 8])
dense + trans 3 finished shape torch.Size([64, 96, 8, 8])
dense internal shape 1 torch.Size([64, 96, 8, 8])
dense internal shape 2 torch.Size([64, 96, 8, 8])
dense internal shape 3 torch.Size([64, 24, 8, 8])
dense internal shape 4 torch.Size([64, 120, 8, 8])
transition internal shape 1torch.Size([64, 120, 8, 8])
transition internal shape 2torch.Size([64, 72, 8, 8])
transition internal shape 3torch.Size([64, 72, 16, 16])
dense + trans 4 finished shape torch.Size([64, 72, 16, 16])
dense internal shape 1 torch.Size([64, 72, 16, 16])
dense internal shape 2 torch.Size([64, 96, 16, 16])
dense internal shape 3 torch.Size([64, 24, 16, 16])
dense internal shape 4 torch.Size([64, 96, 16, 16])
transition internal shape 1torch.Size([64, 96, 16, 16])
transition internal shape 2torch.Size([64, 48, 16, 16])
transition internal shape 3torch.Size([64, 48, 32, 32])
dense + trans 5 finished shape torch.Size([64, 48, 32, 32])
Output shape torch.Size([64, 3, 32, 32])
######################G#####################
###
###updates 10/27
Implemented SSL on the model, however after 8 epochs the loss hasn’t changed a bit.
The last convolution layer is now followed by a fully-connected layer and then softmax is computed.
###
Also in DCGAN folder you will find a DCGAN with Dense Connectioins -
ganGraph.py - gan.py converted to graph like Neural Architecture instead of NN.sequential architecture, precursor to ganDense
ganDenseAlternate.py - DOESNOT WORK. Another attempt at a dense connection with different kernel size, do not use output padding in Generators, only input padding!
summary.py - Prints summary of the architectures to understand architecture of models and sizes of layers. Works.
densenet_notransition.py - DenseNet without transition layers, with thresholded connections. Doesn't work yet, only created it to experiment and better understand DenseNet architecture
fake_samples => Generated Image from DCGAN
Already Available code online under Creative Commons License
DenseNet.py => DenseNet classifier (https://github.com/bamos/densenet.pytorch/blob/master/densenet.py)
train.py => trains DenseNet on Cifar10 . (https://github.com/bamos/densenet.pytorch/blob/master/train.py)
gan.py => Runs DCGan on Cifar10 . (https://github.com/pytorch/examples/blob/master/dcgan/main.py)