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 [ ]: