In [2]:
%load_ext autoreload
%autoreload 2
import cPickle as pickle
import os; import sys; sys.path.append('..')
import gp
import gp.nets as nets
from nolearn.lasagne.visualize import plot_loss
from nolearn.lasagne.visualize import plot_conv_weights
from nolearn.lasagne.visualize import plot_conv_activity
from nolearn.lasagne.visualize import plot_occlusion
from matplotlib.pyplot import imshow
import matplotlib.pyplot as plt
%matplotlib inline
The autoreload extension is already loaded. To reload it, use:
%reload_ext autoreload
In [3]:
PATCH_PATH = ('cylinder2_rgba_small')
In [4]:
X_train, y_train, X_test, y_test = gp.Patch.load_rgba(PATCH_PATH)
Loaded /home/d/patches//cylinder2_rgba_small/ in 0.000566005706787 seconds.
In [5]:
gp.Util.view_rgba(X_train[100], y_train[100])
In [7]:
cnn = nets.RGBANetPlus()
CNN configuration:
Our CNN with image, prob, merged_array and border overlap as RGBA.
This includes dropout.
In [8]:
cnn = cnn.fit(X_train, y_train)
# Neural Network with 171474 learnable parameters
## Layer information
# name size
--- -------- --------
0 input 4x75x75
1 conv1 64x73x73
2 pool1 64x36x36
3 dropout1 64x36x36
4 conv2 48x34x34
5 pool2 48x17x17
6 dropout2 48x17x17
7 conv3 48x15x15
8 pool3 48x7x7
9 dropout3 48x7x7
10 conv4 48x5x5
11 pool4 48x2x2
12 dropout4 48x2x2
13 hidden5 512
14 dropout5 512
15 output 2
epoch train loss valid loss train/val valid acc dur
------- ------------ ------------ ----------- ----------- ------
1 0.46396 0.31323 1.48122 0.87315 27.51s
2 0.28116 0.25516 1.10193 0.90459 26.38s
3 0.23199 0.21672 1.07049 0.91938 26.42s
4 0.21736 0.19727 1.10185 0.92764 26.37s
5 0.20625 0.19145 1.07729 0.92794 26.63s
6 0.20049 0.17983 1.11486 0.93309 26.48s
7 0.19307 0.18020 1.07142 0.93352 26.34s
8 0.18663 0.17094 1.09178 0.93674 26.54s
9 0.18074 0.16797 1.07601 0.93854 26.32s
10 0.17738 0.16302 1.08810 0.93997 26.65s
11 0.17079 0.15933 1.07190 0.93970 26.87s
12 0.16659 0.15155 1.09922 0.94380 26.94s
13 0.16236 0.15016 1.08120 0.94476 27.00s
14 0.16143 0.14958 1.07924 0.94290 27.01s
15 0.15620 0.15028 1.03939 0.94416 27.11s
16 0.15424 0.13842 1.11435 0.94919 27.16s
17 0.15031 0.13640 1.10194 0.95083 27.10s
18 0.14824 0.13696 1.08238 0.94764 26.76s
19 0.14474 0.13327 1.08607 0.95182 26.44s
20 0.14093 0.12454 1.13161 0.95608 26.75s
21 0.13745 0.12440 1.10489 0.95721 26.64s
22 0.13957 0.13246 1.05370 0.95353 26.41s
23 0.13481 0.12786 1.05433 0.95350 26.36s
24 0.13137 0.12323 1.06599 0.95595 26.68s
25 0.12879 0.11473 1.12255 0.95811 26.61s
26 0.12662 0.11592 1.09229 0.95604 26.41s
27 0.12597 0.11199 1.12487 0.96074 26.49s
28 0.12393 0.11511 1.07667 0.95966 26.49s
29 0.12202 0.10726 1.13763 0.96394 26.47s
30 0.11996 0.11250 1.06634 0.95954 26.41s
31 0.11926 0.10426 1.14388 0.96215 26.47s
32 0.11959 0.10287 1.16254 0.96490 26.66s
33 0.11385 0.10363 1.09864 0.96472 26.40s
34 0.11508 0.09946 1.15706 0.96457 26.52s
35 0.11264 0.09801 1.14933 0.96496 26.78s
36 0.11324 0.09997 1.13271 0.96523 26.52s
37 0.10929 0.10371 1.05379 0.96307 26.53s
38 0.10705 0.08843 1.21058 0.96864 26.51s
39 0.10456 0.08753 1.19462 0.97142 26.60s
40 0.10477 0.08260 1.26849 0.97163 26.49s
41 0.10092 0.08893 1.13483 0.97082 26.29s
42 0.10447 0.08779 1.18998 0.97118 26.71s
43 0.10000 0.08519 1.17386 0.97064 26.44s
44 0.09689 0.09274 1.04467 0.97148 26.29s
45 0.09681 0.08784 1.10211 0.97163 26.30s
46 0.09942 0.08171 1.21675 0.97475 26.29s
47 0.09331 0.07842 1.18992 0.97253 26.31s
48 0.09591 0.07644 1.25471 0.97549 26.28s
49 0.09349 0.07944 1.17687 0.97495 26.31s
50 0.08891 0.07957 1.11736 0.97624 26.31s
51 0.09256 0.07443 1.24352 0.97573 26.28s
52 0.08758 0.07789 1.12437 0.97594 26.33s
53 0.08811 0.07704 1.14368 0.97603 26.28s
54 0.08462 0.07675 1.10250 0.97666 26.30s
55 0.08769 0.07503 1.16877 0.97890 26.29s
56 0.08377 0.07316 1.14491 0.97588 26.30s
57 0.08259 0.07020 1.17647 0.97857 26.35s
58 0.08124 0.06977 1.16445 0.97866 26.34s
59 0.08401 0.06799 1.23570 0.97983 26.31s
60 0.07829 0.06392 1.22491 0.98277 26.30s
61 0.08232 0.06532 1.26034 0.98163 26.33s
62 0.07830 0.06494 1.20583 0.98064 26.34s
63 0.07829 0.06971 1.12304 0.98076 26.33s
64 0.07817 0.05916 1.32126 0.98064 26.30s
65 0.07838 0.05895 1.32967 0.98214 26.27s
66 0.07292 0.05830 1.25073 0.98522 26.32s
67 0.07737 0.07235 1.06929 0.97738 26.30s
68 0.07723 0.05566 1.38758 0.98540 26.31s
69 0.07216 0.06140 1.17523 0.98396 26.35s
70 0.07566 0.06992 1.08200 0.97848 26.31s
71 0.07206 0.05881 1.22526 0.98187 26.31s
72 0.07201 0.05337 1.34930 0.98375 26.32s
73 0.06839 0.05230 1.30760 0.98621 26.28s
74 0.06570 0.05553 1.18314 0.98567 26.30s
75 0.07405 0.05347 1.38481 0.98459 26.34s
76 0.06862 0.05588 1.22799 0.98551 26.33s
77 0.06765 0.05787 1.16907 0.98504 26.31s
78 0.06869 0.05185 1.32461 0.98594 26.32s
79 0.06587 0.04930 1.33602 0.98773 26.35s
80 0.06698 0.05176 1.29399 0.98794 26.31s
81 0.06597 0.04702 1.40295 0.98755 26.30s
82 0.06315 0.04732 1.33454 0.98728 26.28s
83 0.06510 0.04631 1.40566 0.98854 26.32s
84 0.06219 0.05105 1.21803 0.98552 26.34s
85 0.06437 0.04627 1.39106 0.98881 26.35s
86 0.06254 0.04743 1.31846 0.98681 26.33s
87 0.06302 0.04470 1.40997 0.98785 26.29s
88 0.06253 0.04871 1.28370 0.98722 26.32s
89 0.06276 0.04584 1.36909 0.98875 26.35s
90 0.06089 0.04711 1.29263 0.98737 26.31s
91 0.05677 0.03941 1.44058 0.98917 26.31s
92 0.05842 0.04389 1.33119 0.98989 26.32s
93 0.06032 0.04117 1.46530 0.98809 26.34s
94 0.05829 0.05155 1.13081 0.98432 26.33s
95 0.05716 0.04658 1.22717 0.98785 26.36s
96 0.05601 0.04170 1.34321 0.98881 26.33s
97 0.05709 0.04193 1.36174 0.98944 26.41s
98 0.05568 0.04646 1.19845 0.98857 26.34s
99 0.05730 0.04170 1.37396 0.99025 26.31s
100 0.05336 0.04759 1.12130 0.98782 26.29s
101 0.05468 0.04105 1.33206 0.98944 26.32s
102 0.05375 0.04114 1.30649 0.98746 26.30s
103 0.05463 0.04457 1.22568 0.98902 26.30s
104 0.05086 0.04214 1.20678 0.99043 26.32s
105 0.05372 0.04105 1.30862 0.98971 26.36s
106 0.05264 0.03898 1.35030 0.99079 26.30s
107 0.05347 0.04014 1.33219 0.98890 26.29s
108 0.05313 0.03927 1.35290 0.98917 26.29s
109 0.05145 0.04787 1.07469 0.98710 26.38s
110 0.05213 0.04004 1.30189 0.99123 26.33s
111 0.04976 0.03533 1.40860 0.99213 26.29s
112 0.05133 0.03750 1.36889 0.99046 26.31s
113 0.04824 0.03842 1.25544 0.98998 26.31s
114 0.04835 0.03483 1.38822 0.98998 26.29s
115 0.04986 0.03573 1.39548 0.99070 26.29s
116 0.05027 0.03571 1.40789 0.99159 26.33s
117 0.04824 0.03604 1.33835 0.99159 26.28s
118 0.04674 0.03487 1.34031 0.99105 26.29s
119 0.04608 0.03465 1.33006 0.99180 26.30s
120 0.04606 0.03456 1.33291 0.99222 26.30s
121 0.04809 0.03694 1.30169 0.99150 26.30s
122 0.04636 0.03283 1.41228 0.99240 26.31s
123 0.04550 0.03690 1.23319 0.99231 26.30s
124 0.05004 0.03521 1.42115 0.99204 26.29s
125 0.04707 0.03385 1.39071 0.99312 26.29s
126 0.04572 0.03548 1.28865 0.99132 26.30s
127 0.04719 0.04356 1.08337 0.98890 26.30s
128 0.04724 0.03943 1.19805 0.99123 26.37s
129 0.04835 0.03911 1.23616 0.99052 26.32s
130 0.04680 0.03225 1.45118 0.99330 26.31s
131 0.04585 0.03585 1.27881 0.99150 26.30s
132 0.04544 0.03415 1.33066 0.99249 26.32s
133 0.04655 0.03477 1.33879 0.99375 26.30s
134 0.04208 0.03097 1.35847 0.99369 26.38s
135 0.04138 0.03286 1.25954 0.99267 26.30s
136 0.04766 0.03291 1.44794 0.99312 26.31s
137 0.04210 0.03811 1.10454 0.99061 26.34s
138 0.04484 0.03585 1.25081 0.99195 26.33s
139 0.04529 0.03321 1.36374 0.99267 26.31s
140 0.04123 0.03215 1.28251 0.99267 26.30s
141 0.04441 0.03360 1.32182 0.99276 26.31s
142 0.04147 0.03182 1.30325 0.99276 26.31s
143 0.04013 0.03493 1.14900 0.99123 26.36s
144 0.04500 0.03542 1.27052 0.99258 26.30s
145 0.04346 0.03929 1.10616 0.99061 26.55s
146 0.04604 0.03638 1.26563 0.99249 26.46s
147 0.04440 0.03422 1.29748 0.99195 26.51s
148 0.04157 0.03348 1.24175 0.99141 26.53s
149 0.03899 0.03099 1.25826 0.99285 26.57s
150 0.04042 0.03215 1.25745 0.99330 26.62s
151 0.04068 0.02940 1.38336 0.99222 26.64s
152 0.03820 0.03082 1.23925 0.99177 26.60s
153 0.04044 0.03208 1.26077 0.99348 26.47s
154 0.04189 0.03222 1.30037 0.99231 26.76s
155 0.04157 0.03438 1.20910 0.99105 26.32s
156 0.04059 0.03342 1.21443 0.99222 26.30s
157 0.03698 0.03034 1.21915 0.99348 26.30s
158 0.04171 0.02968 1.40546 0.99321 26.29s
159 0.04232 0.03157 1.34051 0.99231 26.33s
160 0.04036 0.03285 1.22867 0.99186 26.35s
161 0.03781 0.03150 1.20015 0.99267 26.31s
162 0.03797 0.03187 1.19172 0.99150 26.29s
163 0.04102 0.02993 1.37037 0.99303 26.30s
164 0.03833 0.02921 1.31222 0.99312 26.29s
165 0.03909 0.02921 1.33840 0.99294 26.31s
166 0.03702 0.02782 1.33041 0.99285 26.30s
167 0.03892 0.03106 1.25302 0.99249 26.31s
168 0.04091 0.02855 1.43309 0.99357 26.29s
169 0.03808 0.03228 1.17955 0.99222 26.30s
170 0.03648 0.03130 1.16551 0.99330 26.29s
171 0.03741 0.02932 1.27590 0.99270 26.30s
172 0.04100 0.02762 1.48444 0.99312 26.30s
173 0.03983 0.03004 1.32586 0.99333 26.29s
174 0.03712 0.03106 1.19484 0.99429 26.30s
175 0.03632 0.03107 1.16881 0.99312 26.42s
176 0.03789 0.03538 1.07096 0.99105 26.27s
177 0.03572 0.02752 1.29826 0.99285 26.32s
178 0.03725 0.03069 1.21374 0.99270 26.33s
179 0.03506 0.03088 1.13525 0.99321 26.29s
180 0.03709 0.03017 1.22943 0.99339 26.52s
181 0.03802 0.02792 1.36187 0.99396 26.36s
182 0.03595 0.02758 1.30352 0.99420 26.31s
183 0.03693 0.02815 1.31195 0.99420 26.35s
184 0.03646 0.02674 1.36359 0.99375 26.31s
185 0.03574 0.03043 1.17447 0.99375 26.48s
186 0.03695 0.02732 1.35226 0.99402 26.51s
187 0.03540 0.02544 1.39175 0.99411 26.74s
188 0.03307 0.02366 1.39743 0.99420 26.43s
189 0.03388 0.02947 1.14986 0.99360 26.68s
190 0.03590 0.02766 1.29789 0.99339 26.43s
191 0.03377 0.02795 1.20817 0.99384 26.49s
192 0.03218 0.03227 0.99723 0.99312 26.67s
193 0.03509 0.02968 1.18257 0.99195 26.64s
194 0.03844 0.02991 1.28519 0.99339 26.32s
195 0.03512 0.02889 1.21581 0.99267 26.49s
196 0.03520 0.02772 1.26970 0.99378 26.50s
197 0.03518 0.03063 1.14835 0.99375 26.51s
198 0.03439 0.03418 1.00605 0.99276 26.54s
199 0.03656 0.02930 1.24781 0.99315 26.56s
200 0.03342 0.03025 1.10489 0.99267 26.46s
201 0.03431 0.03064 1.11969 0.99303 26.55s
202 0.03271 0.03359 0.97377 0.99267 26.56s
203 0.03291 0.03283 1.00237 0.99294 26.56s
204 0.03145 0.03389 0.92780 0.99366 26.50s
205 0.03504 0.03060 1.14509 0.99402 26.65s
206 0.03191 0.02800 1.13972 0.99440 26.66s
207 0.03391 0.03067 1.10569 0.99276 26.47s
208 0.02986 0.03119 0.95748 0.99375 26.31s
209 0.03605 0.02906 1.24035 0.99330 26.53s
210 0.03290 0.03426 0.96016 0.99339 26.54s
211 0.03434 0.03105 1.10587 0.99357 26.55s
212 0.03670 0.02937 1.24930 0.99315 26.60s
213 0.03349 0.03194 1.04865 0.99369 26.50s
214 0.03469 0.03249 1.06786 0.99360 26.61s
215 0.03227 0.03132 1.03024 0.99375 26.42s
216 0.03249 0.03271 0.99337 0.99378 26.37s
217 0.03282 0.02746 1.19507 0.99369 26.56s
218 0.03155 0.02842 1.10988 0.99369 26.82s
219 0.03384 0.02629 1.28717 0.99396 26.33s
220 0.03078 0.02914 1.05640 0.99402 26.36s
221 0.03101 0.02811 1.10338 0.99432 26.34s
222 0.03438 0.03292 1.04425 0.99330 26.29s
223 0.03019 0.03262 0.92552 0.99276 26.39s
224 0.03308 0.02721 1.21565 0.99393 26.33s
225 0.03051 0.02614 1.16730 0.99420 26.28s
226 0.03275 0.03107 1.05390 0.99348 26.31s
227 0.02918 0.02796 1.04361 0.99414 26.30s
228 0.03250 0.03464 0.93834 0.99258 26.41s
229 0.03146 0.03096 1.01629 0.99339 26.30s
230 0.03335 0.03079 1.08310 0.99312 26.27s
231 0.03154 0.02619 1.20437 0.99432 26.30s
232 0.03071 0.03089 0.99404 0.99405 26.30s
233 0.03168 0.03336 0.94948 0.99432 26.29s
234 0.03150 0.02956 1.06533 0.99402 26.32s
235 0.02952 0.03742 0.78875 0.99270 26.32s
236 0.03411 0.03142 1.08560 0.99252 26.29s
237 0.02956 0.03469 0.85235 0.99369 26.31s
238 0.03063 0.03021 1.01384 0.99438 26.37s
Early stopping.
Best valid loss was 0.023663 at epoch 188.
Loaded parameters to layer 'conv1' (shape 64x4x3x3).
Loaded parameters to layer 'conv1' (shape 64).
Loaded parameters to layer 'conv2' (shape 48x64x3x3).
Loaded parameters to layer 'conv2' (shape 48).
Loaded parameters to layer 'conv3' (shape 48x48x3x3).
Loaded parameters to layer 'conv3' (shape 48).
Loaded parameters to layer 'conv4' (shape 48x48x3x3).
Loaded parameters to layer 'conv4' (shape 48).
Loaded parameters to layer 'hidden5' (shape 192x512).
Loaded parameters to layer 'hidden5' (shape 512).
Loaded parameters to layer 'output' (shape 512x2).
Loaded parameters to layer 'output' (shape 2).
In [10]:
test_accuracy = cnn.score(X_test, y_test)
In [11]:
test_accuracy
Out[11]:
0.9294150731158605
In [12]:
plot_loss(cnn)
Out[12]:
<module 'matplotlib.pyplot' from '/home/d/nolearn/local/lib/python2.7/site-packages/matplotlib/pyplot.pyc'>
In [16]:
# store CNN
sys.setrecursionlimit(1000000000)
with open(os.path.expanduser('~/Projects/gp/nets/RGBAPlus.p'), 'wb') as f:
pickle.dump(cnn, f, -1)
In [ ]:
In [ ]:
Content source: VCG/gp
Similar notebooks: