In [1]:
import matplotlib
matplotlib.use('agg')
import cPickle as pickle
import os; import sys; sys.path.append('..')
import gp
import gp.nets as nets
import time
PATCH_PATH = ('ipmlb') # image, prob, binary, largeborder
Using gpu device 0: GeForce GTX TITAN (CNMeM is disabled, CuDNN 4007)
/home/d/nolearnNEW/local/lib/python2.7/site-packages/theano/tensor/signal/downsample.py:6: UserWarning: downsample module has been moved to the theano.tensor.signal.pool module.
"downsample module has been moved to the theano.tensor.signal.pool module.")
In [2]:
import numpy as np
%pylab inline
Populating the interactive namespace from numpy and matplotlib
In [3]:
t0=time.time()
X_train, y_train, X_test, y_test = gp.Patch.load_rgba(PATCH_PATH)
# print 'Training patches', y_train.shape[0]
# print 'Test patches', y_test.shape[0]
# X_train, y_train, X_test, y_test = gp.Patch.load_rgb(PATCH_PATH)
# X_train = X_train[:,:-1,:,:]
# X_test = X_test[:,:-1,:,:]
print time.time()-t0
Loaded /home/d/patches//ipmlb/ in 0.000643968582153 seconds.
32.1650679111
In [4]:
t0 =time.time()
X_train = np.delete(X_train, [0] , axis=1) # delete image
print time.time() - t0
4.88444399834
In [5]:
X_train.shape
Out[5]:
(225520, 3, 75, 75)
In [6]:
imshow(X_train[0][0], cmap='gray')
Out[6]:
<matplotlib.image.AxesImage at 0x7f914dbf8790>
In [7]:
imshow(X_train[0][1], cmap='gray')
Out[7]:
<matplotlib.image.AxesImage at 0x7f914db05c50>
In [8]:
imshow(X_train[0][2], cmap='gray')
Out[8]:
<matplotlib.image.AxesImage at 0x7f914da541d0>
In [9]:
t0 =time.time()
X_test = np.delete(X_test, [0] , axis=1) # delete image
print time.time() - t0
0.349529027939
In [10]:
cnn = nets.RGBNetPlus()
cnn = cnn.fit(X_train, y_train)
test_accuracy = cnn.score(X_test, y_test)
print test_accuracy
# store CNN
sys.setrecursionlimit(1000000000)
with open(os.path.expanduser('~/Projects/gp/nets/PMLB_FULL.p'), 'wb') as f:
pickle.dump(cnn, f, -1)
CNN configuration:
Our CNN with image, prob, merged_array as RGB.
This includes dropout. This also includes more layers.
# Neural Network with 170898 learnable parameters
## Layer information
# name size
--- -------- --------
0 input 3x75x75
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 trn loss val loss trn/val valid acc dur
------- ---------- ---------- --------- ----------- -------
1 0.27987 0.23991 1.16657 0.90837 191.98s
2 0.22107 0.21986 1.00551 0.91722 192.00s
3 0.21687 0.21978 0.98677 0.91715 192.04s
4 0.21357 0.21816 0.97897 0.91784 191.94s
5 0.21188 0.21381 0.99097 0.92036 192.09s
6 0.21022 0.21334 0.98538 0.92001 192.08s
7 0.20826 0.21057 0.98903 0.92100 192.02s
8 0.20714 0.21644 0.95703 0.91869 191.99s
9 0.20570 0.21327 0.96452 0.91935 192.01s
10 0.20416 0.20491 0.99634 0.92325 192.01s
11 0.20385 0.20943 0.97334 0.92150 192.04s
12 0.20286 0.20783 0.97610 0.92224 192.07s
13 0.20019 0.20360 0.98323 0.92398 192.09s
14 0.19982 0.20733 0.96379 0.92219 192.04s
15 0.19913 0.20251 0.98332 0.92455 192.00s
16 0.19854 0.20267 0.97961 0.92464 192.01s
17 0.19710 0.19919 0.98950 0.92582 192.02s
18 0.19610 0.19943 0.98328 0.92575 192.08s
19 0.19562 0.20591 0.95005 0.92379 192.04s
20 0.19492 0.19939 0.97755 0.92639 192.01s
21 0.19307 0.19560 0.98705 0.92774 191.97s
22 0.19248 0.19634 0.98035 0.92682 192.04s
23 0.19172 0.19371 0.98970 0.92854 192.07s
24 0.19059 0.19754 0.96480 0.92634 191.93s
25 0.19088 0.18971 1.00621 0.93040 191.99s
26 0.19021 0.19339 0.98357 0.92863 192.09s
27 0.18898 0.18890 1.00039 0.93031 192.01s
28 0.18757 0.18786 0.99842 0.93081 192.08s
29 0.18743 0.18895 0.99196 0.93044 192.12s
30 0.18580 0.18911 0.98245 0.93015 192.05s
31 0.18634 0.18351 1.01541 0.93203 192.09s
32 0.18505 0.18615 0.99407 0.93107 192.04s
33 0.18423 0.18774 0.98127 0.93047 192.04s
34 0.18447 0.18699 0.98652 0.93127 192.03s
35 0.18337 0.18336 1.00002 0.93216 192.03s
36 0.18206 0.18116 1.00496 0.93350 192.07s
37 0.18166 0.18282 0.99367 0.93228 192.08s
38 0.18124 0.18073 1.00280 0.93303 192.10s
39 0.18044 0.18230 0.98982 0.93280 192.09s
40 0.18020 0.17972 1.00270 0.93303 192.07s
41 0.17938 0.17819 1.00665 0.93381 192.17s
42 0.17874 0.17658 1.01223 0.93471 192.06s
43 0.17835 0.17714 1.00684 0.93434 192.12s
44 0.17746 0.17648 1.00557 0.93507 192.13s
45 0.17695 0.17235 1.02670 0.93624 192.08s
46 0.17630 0.17605 1.00143 0.93498 192.12s
47 0.17600 0.17267 1.01928 0.93562 192.15s
48 0.17515 0.17379 1.00782 0.93547 192.10s
49 0.17456 0.17014 1.02600 0.93721 192.10s
50 0.17479 0.17296 1.01054 0.93659 192.04s
51 0.17422 0.17114 1.01799 0.93714 192.02s
52 0.17299 0.16996 1.01780 0.93817 191.94s
53 0.17276 0.17004 1.01603 0.93728 192.05s
54 0.17215 0.16609 1.03651 0.93851 192.01s
55 0.17146 0.16908 1.01406 0.93734 192.05s
56 0.17008 0.16701 1.01843 0.93844 192.08s
57 0.17055 0.16626 1.02581 0.93907 192.20s
58 0.17008 0.16630 1.02272 0.93906 192.03s
59 0.16929 0.16451 1.02903 0.93996 192.18s
60 0.16853 0.16438 1.02523 0.93943 192.08s
61 0.16752 0.16913 0.99050 0.93758 192.11s
62 0.16863 0.16523 1.02054 0.93977 192.18s
63 0.16685 0.16537 1.00895 0.93955 192.07s
64 0.16696 0.16444 1.01529 0.94039 192.09s
65 0.16700 0.16340 1.02204 0.94010 192.03s
66 0.16543 0.16142 1.02488 0.94079 192.00s
67 0.16507 0.16085 1.02621 0.94166 192.07s
68 0.16479 0.16002 1.02982 0.94149 192.04s
69 0.16458 0.16206 1.01550 0.94118 192.06s
70 0.16402 0.15949 1.02841 0.94113 192.06s
71 0.16351 0.16085 1.01657 0.94117 192.07s
72 0.16205 0.15959 1.01541 0.94108 192.11s
73 0.16324 0.15729 1.03783 0.94262 192.08s
74 0.16123 0.15905 1.01370 0.94172 191.98s
75 0.16095 0.15652 1.02826 0.94310 192.09s
76 0.16134 0.16051 1.00518 0.94111 191.99s
77 0.16070 0.16080 0.99940 0.94111 192.03s
78 0.15983 0.15408 1.03728 0.94321 191.95s
79 0.15853 0.15332 1.03400 0.94358 192.11s
80 0.15946 0.15674 1.01737 0.94253 192.14s
81 0.15899 0.15939 0.99752 0.94197 192.03s
82 0.15872 0.14895 1.06562 0.94546 192.06s
83 0.15861 0.15724 1.00872 0.94147 192.07s
84 0.15751 0.15545 1.01321 0.94255 192.08s
85 0.15653 0.15063 1.03919 0.94466 192.08s
86 0.15698 0.14983 1.04776 0.94507 192.08s
87 0.15566 0.14991 1.03841 0.94548 192.07s
88 0.15655 0.15097 1.03698 0.94457 192.10s
89 0.15562 0.14772 1.05347 0.94615 192.08s
90 0.15389 0.14896 1.03311 0.94608 192.12s
91 0.15573 0.14953 1.04149 0.94576 192.07s
92 0.15504 0.15038 1.03102 0.94528 192.03s
93 0.15384 0.14701 1.04642 0.94629 192.09s
94 0.15413 0.14759 1.04428 0.94658 192.07s
95 0.15360 0.14796 1.03818 0.94594 192.08s
96 0.15275 0.14751 1.03555 0.94684 192.11s
97 0.15223 0.14368 1.05952 0.94824 192.06s
98 0.15217 0.14882 1.02251 0.94537 192.03s
99 0.15242 0.14375 1.06033 0.94814 192.23s
100 0.15052 0.14547 1.03471 0.94643 192.12s
101 0.15117 0.14180 1.06609 0.94878 192.13s
102 0.15088 0.14321 1.05356 0.94823 191.74s
103 0.14998 0.14685 1.02133 0.94652 191.67s
104 0.15017 0.14374 1.04477 0.94805 191.66s
105 0.15025 0.14091 1.06628 0.94899 191.63s
106 0.14872 0.14108 1.05410 0.94855 191.64s
107 0.14999 0.14284 1.05007 0.94798 191.65s
108 0.15015 0.14077 1.06660 0.94867 191.54s
109 0.14851 0.14043 1.05753 0.94890 191.63s
110 0.14888 0.14119 1.05446 0.94941 191.65s
111 0.14823 0.13803 1.07387 0.95021 191.60s
112 0.14651 0.13830 1.05933 0.95018 191.64s
113 0.14770 0.13883 1.06385 0.95016 191.67s
114 0.14737 0.14136 1.04250 0.94863 191.66s
115 0.14740 0.13759 1.07129 0.95055 191.68s
116 0.14741 0.13765 1.07086 0.95057 191.66s
117 0.14574 0.13419 1.08603 0.95206 191.65s
118 0.14585 0.13361 1.09165 0.95183 191.60s
119 0.14544 0.13868 1.04870 0.94988 191.64s
120 0.14591 0.13884 1.05089 0.94931 191.66s
121 0.14458 0.13434 1.07623 0.95156 191.62s
122 0.14479 0.13474 1.07463 0.95137 191.59s
123 0.14570 0.13644 1.06785 0.95153 191.63s
124 0.14435 0.13462 1.07228 0.95122 191.60s
125 0.14415 0.13637 1.05700 0.95060 191.61s
126 0.14480 0.13716 1.05572 0.95034 191.58s
127 0.14372 0.13567 1.05931 0.95119 191.62s
128 0.14399 0.13784 1.04463 0.95023 191.66s
129 0.14278 0.13423 1.06364 0.95172 191.67s
130 0.14333 0.13649 1.05012 0.95083 191.65s
131 0.14241 0.13480 1.05642 0.95133 191.65s
132 0.14200 0.13262 1.07074 0.95147 191.61s
133 0.14166 0.13431 1.05474 0.95151 191.62s
134 0.14207 0.13150 1.08039 0.95305 191.64s
135 0.14282 0.13673 1.04458 0.95039 191.63s
136 0.14181 0.13131 1.07992 0.95234 191.61s
137 0.14148 0.13143 1.07641 0.95332 191.60s
138 0.14076 0.13192 1.06702 0.95259 191.63s
139 0.14095 0.13126 1.07383 0.95323 191.64s
140 0.14054 0.13075 1.07491 0.95312 191.59s
141 0.13962 0.13081 1.06738 0.95314 191.64s
142 0.14032 0.12911 1.08680 0.95420 191.64s
143 0.13958 0.12854 1.08592 0.95435 191.68s
144 0.14031 0.13166 1.06567 0.95215 191.63s
145 0.14001 0.12788 1.09488 0.95458 191.58s
146 0.13922 0.12911 1.07830 0.95410 191.63s
147 0.13949 0.13216 1.05545 0.95223 191.58s
148 0.13860 0.12925 1.07234 0.95353 191.62s
149 0.13851 0.12800 1.08216 0.95456 191.61s
150 0.13745 0.12641 1.08727 0.95456 191.60s
151 0.13772 0.12679 1.08622 0.95500 191.59s
152 0.13818 0.12923 1.06925 0.95394 191.53s
153 0.13672 0.12833 1.06537 0.95438 191.61s
154 0.13766 0.12746 1.07996 0.95459 191.77s
155 0.13805 0.12572 1.09813 0.95527 191.72s
156 0.13780 0.12811 1.07562 0.95452 191.65s
157 0.13746 0.12670 1.08494 0.95456 191.63s
158 0.13603 0.12665 1.07405 0.95514 191.66s
159 0.13564 0.12985 1.04454 0.95364 191.63s
160 0.13677 0.12757 1.07215 0.95451 191.62s
161 0.13528 0.12544 1.07850 0.95548 191.63s
162 0.13498 0.12324 1.09522 0.95605 191.65s
163 0.13610 0.12828 1.06090 0.95404 191.66s
164 0.13510 0.12382 1.09115 0.95573 191.62s
165 0.13531 0.12452 1.08664 0.95559 191.61s
166 0.13498 0.12512 1.07876 0.95468 191.62s
167 0.13430 0.12200 1.10080 0.95649 191.64s
168 0.13569 0.12130 1.11864 0.95676 191.62s
169 0.13487 0.12516 1.07753 0.95530 191.65s
170 0.13426 0.12154 1.10465 0.95702 191.65s
171 0.13445 0.12438 1.08093 0.95560 191.64s
172 0.13309 0.12261 1.08544 0.95649 191.65s
173 0.13328 0.12538 1.06305 0.95564 191.63s
174 0.13311 0.12463 1.06808 0.95564 191.62s
175 0.13331 0.12174 1.09499 0.95683 191.62s
176 0.13270 0.11845 1.12032 0.95768 191.64s
177 0.13299 0.12656 1.05078 0.95458 191.60s
178 0.13322 0.12122 1.09902 0.95734 191.64s
179 0.13216 0.12174 1.08556 0.95678 191.61s
180 0.13212 0.12155 1.08702 0.95729 191.56s
181 0.13240 0.12121 1.09234 0.95756 191.62s
182 0.13328 0.12342 1.07989 0.95653 191.61s
183 0.13115 0.11841 1.10758 0.95821 191.62s
0.938268792711
In [11]:
# store CNN
sys.setrecursionlimit(1000000000)
with open(os.path.expanduser('~/Projects/gp/nets/PMLB_FULL.p'), 'wb') as f:
pickle.dump(cnn, f, -1)
In [ ]:
Content source: VCG/gp
Similar notebooks: