In [1]:
cd ..


/afs/inf.ed.ac.uk/user/s13/s1320903/Neuroglycerin/neukrill-net-work

In [2]:
ls


calculate_normalisation_stats.py  predictions.pkl
check_test_score.py               pylearn2_cpu_model_function_builder.py
data/                             README.md
generate_hlf_cache.py             run_settings/
generate_prior_weighted_csv.py    settings.json
generate_prior_weighted_csv.py~   start_script.sh*
generate_prior_weighted_csv.pyc   test_attr.py
image_hack.sh*                    test_priors.py
LICENSE                           test.py*
logistic_sgd3.py                  test.py~
misc/                             train_attr.py
mlp3.py                           train_bow.py
mlp.py                            train.py*
mnist_train.py                    yaml_templates/
model.pkl                         y_pickle
notebooks/

In [5]:
import pylearn2.utils
import pylearn2.config
import theano
import neukrill_net.utils
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
import holoviews as hl
%load_ext holoviews.ipython
import sklearn.metrics
import pickle


Welcome to the HoloViews IPython extension! (http://ioam.github.io/holoviews/)
Available magics: %compositor, %opts, %params, %view, %%labels, %%opts, %%view
:0: FutureWarning: IPython widgets are experimental and may change in the future.
<matplotlib.figure.Figure at 0x7f503ed38090>
<matplotlib.figure.Figure at 0x7f503ed389d0>
<matplotlib.figure.Figure at 0x7f503ed387d0>

Model with col_norms set to a higher value and augmentations turned on. We saved its pickle with predictions across all superclass vectors.


In [6]:
with open("predictions.pkl", "rb") as f:
    predictions = pickle.load(f)

Get first parent predictions out.


In [16]:
superclasses = predictions[:,121:(121+38)]
s = np.sum(superclasses, axis = 1)
any((s < 0.9999 )*(s>1.00001))


Out[16]:
False

In [84]:
import neukrill_net.utils as utils
settings = neukrill_net.utils.Settings("settings.json")
import neukrill_net.encoding as enc
hier = enc.get_hierarchy(settings)

Get those superclasses that only have classes as children.


In [150]:
import neukrill_net.taxonomy as t
only_leaf_children = []

layer = t.TaxonomyLayer(1)

for s in hier[1]:
    flag = True
    for key, values in t.superclasses.items():
        for i, v in enumerate(values):
            if v == s and i != 1:
                flag = False
    if flag:
        if s not in only_leaf_children:
            only_leaf_children.append(s)

In [154]:
only_leaf_children


Out[154]:
['acantharia',
 'appendicularians',
 'calanoid',
 'chaetognaths',
 'cydippid',
 'decapods_all',
 'detritus',
 'diatoms',
 'euphausiids_all_ages',
 'fish',
 'no_class',
 'oithona',
 'other_hydromedusae',
 'physonect',
 'pluteus',
 'pteropods',
 'radiolarian',
 'rocketship',
 'seastar',
 'sphaeronectes',
 'sub_hydromedusae1',
 'sub_hydromedusae2',
 'sub_protists',
 'trichodesmium',
 'tunicate',
 'unknown']

Create a list with keys being indices of a superclass (first parent) and values being all of the classes in it.


In [167]:
import neukrill_net.taxonomy as t
layer = t.TaxonomyLayer(1)

backmap = {}
for i, c in enumerate(settings.classes):
    j = int(np.where(np.array(hier[1]) == layer[c])[0])
    if hier[1][j] in only_leaf_children:
        try:
            backmap[j] += [i]
        except:
            backmap[j] = [i]

In [168]:
backmap


Out[168]:
{0: [0, 1, 2],
 1: [4, 5, 6, 7],
 2: [14, 15, 16, 17, 18, 19, 20, 21, 22, 26],
 4: [10, 11, 12],
 8: [29, 30],
 9: [32, 92, 94, 95],
 10: [33, 34, 35, 49],
 11: [36, 37],
 13: [47, 48],
 14: [50, 51, 52, 53, 54, 55],
 17: [8, 9],
 18: [24, 25],
 19: [58, 59, 66, 67, 68, 69, 70, 71, 74, 75, 76, 77],
 21: [104, 105],
 23: [38, 39, 40, 41, 45],
 25: [87, 88, 89],
 26: [90, 91],
 27: [97, 98],
 28: [42, 43],
 31: [99, 100, 101],
 32: [57, 60, 61, 62],
 33: [63, 64, 65, 72, 73],
 34: [82, 83, 85, 86],
 35: [108, 109, 110, 111],
 36: [113, 114, 115, 116, 117],
 37: [118, 119, 120]}

In [175]:
class_predictions = predictions[:, 0:121]
nr = class_predictions

Make a large array for class predictions for all images. Replace those predictions that correspond to only_leaf_children superclasses with its prediction weighted by the class prior. For other classes, use their own predictions.


In [176]:
for index,r in enumerate(superclasses):
    if index%1000 == 0:
        print index
    for i,j in enumerate(r):
        priors = []
        if i in backmap:
            d = sum([settings.class_priors[k] for k in backmap[i]])
            for a in backmap[i]:
                priors.append(settings.class_priors[a]/d)
            nr[index,backmap[i]] = j*np.array(priors)


0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
11000
12000
13000
14000
15000
16000
17000
18000
19000
20000
21000
22000
23000
24000
25000
26000
27000
28000
29000
30000
31000
32000
33000
34000
35000
36000
37000
38000
39000
40000
41000
42000
43000
44000
45000
46000
47000
48000
49000
50000
51000
52000
53000
54000
55000
56000
57000
58000
59000
60000
61000
62000
63000
64000
65000
66000
67000
68000
69000
70000
71000
72000
73000
74000
75000
76000
77000
78000
79000
80000
81000
82000
83000
84000
85000
86000
87000
88000
89000
90000
91000
92000
93000
94000
95000
96000
97000
98000
99000
100000
101000
102000
103000
104000
105000
106000
107000
108000
109000
110000
111000
112000
113000
114000
115000
116000
117000
118000
119000
120000
121000
122000
123000
124000
125000
126000
127000
128000
129000
130000

Write a .csv file.


In [71]:
import os
os.path.basename(settings.image_fnames['test'][0])


Out[71]:
u'1.jpg'

In [73]:
names = [os.path.basename(n) for n in settings.image_fnames['test']]


Out[73]:
[u'1.jpg',
 u'10.jpg',
 u'100.jpg',
 u'1000.jpg',
 u'10000.jpg',
 u'100000.jpg',
 u'100001.jpg',
 u'100002.jpg',
 u'100003.jpg',
 u'100004.jpg',
 u'100005.jpg',
 u'100006.jpg',
 u'100007.jpg',
 u'100008.jpg',
 u'10001.jpg',
 u'100011.jpg',
 u'100012.jpg',
 u'100013.jpg',
 u'100014.jpg',
 u'100015.jpg',
 u'100016.jpg',
 u'100017.jpg',
 u'100018.jpg',
 u'100019.jpg',
 u'10002.jpg',
 u'100020.jpg',
 u'100021.jpg',
 u'100022.jpg',
 u'100023.jpg',
 u'100024.jpg',
 u'100025.jpg',
 u'100026.jpg',
 u'100027.jpg',
 u'100028.jpg',
 u'10003.jpg',
 u'100030.jpg',
 u'100031.jpg',
 u'100032.jpg',
 u'100033.jpg',
 u'100034.jpg',
 u'100035.jpg',
 u'100036.jpg',
 u'100037.jpg',
 u'100038.jpg',
 u'100039.jpg',
 u'10004.jpg',
 u'100041.jpg',
 u'100042.jpg',
 u'100043.jpg',
 u'100045.jpg',
 u'100046.jpg',
 u'100047.jpg',
 u'100048.jpg',
 u'100049.jpg',
 u'10005.jpg',
 u'100050.jpg',
 u'100051.jpg',
 u'100052.jpg',
 u'100053.jpg',
 u'100054.jpg',
 u'100055.jpg',
 u'100057.jpg',
 u'100059.jpg',
 u'10006.jpg',
 u'100060.jpg',
 u'100062.jpg',
 u'100066.jpg',
 u'100067.jpg',
 u'100068.jpg',
 u'100069.jpg',
 u'10007.jpg',
 u'100071.jpg',
 u'100072.jpg',
 u'100075.jpg',
 u'100076.jpg',
 u'100077.jpg',
 u'100078.jpg',
 u'100079.jpg',
 u'10008.jpg',
 u'100080.jpg',
 u'100081.jpg',
 u'100082.jpg',
 u'100083.jpg',
 u'100084.jpg',
 u'100085.jpg',
 u'100086.jpg',
 u'100087.jpg',
 u'100089.jpg',
 u'100090.jpg',
 u'100091.jpg',
 u'100092.jpg',
 u'100093.jpg',
 u'100095.jpg',
 u'100097.jpg',
 u'100098.jpg',
 u'100099.jpg',
 u'1001.jpg',
 u'10010.jpg',
 u'100100.jpg',
 u'100101.jpg',
 u'100102.jpg',
 u'100103.jpg',
 u'100104.jpg',
 u'100105.jpg',
 u'100106.jpg',
 u'100107.jpg',
 u'100108.jpg',
 u'10011.jpg',
 u'100110.jpg',
 u'100111.jpg',
 u'100112.jpg',
 u'100113.jpg',
 u'100114.jpg',
 u'100117.jpg',
 u'100118.jpg',
 u'100119.jpg',
 u'10012.jpg',
 u'100120.jpg',
 u'100121.jpg',
 u'100122.jpg',
 u'100123.jpg',
 u'100124.jpg',
 u'100126.jpg',
 u'100127.jpg',
 u'100128.jpg',
 u'100129.jpg',
 u'10013.jpg',
 u'100131.jpg',
 u'100132.jpg',
 u'100134.jpg',
 u'100135.jpg',
 u'100137.jpg',
 u'100138.jpg',
 u'10014.jpg',
 u'100140.jpg',
 u'100142.jpg',
 u'100143.jpg',
 u'100144.jpg',
 u'100145.jpg',
 u'100146.jpg',
 u'100147.jpg',
 u'100148.jpg',
 u'10015.jpg',
 u'100150.jpg',
 u'100151.jpg',
 u'100152.jpg',
 u'100154.jpg',
 u'100155.jpg',
 u'100156.jpg',
 u'100157.jpg',
 u'100158.jpg',
 u'100159.jpg',
 u'10016.jpg',
 u'100161.jpg',
 u'100162.jpg',
 u'100163.jpg',
 u'100164.jpg',
 u'100165.jpg',
 u'100166.jpg',
 u'100167.jpg',
 u'100168.jpg',
 u'100169.jpg',
 u'10017.jpg',
 u'100170.jpg',
 u'100171.jpg',
 u'100172.jpg',
 u'100174.jpg',
 u'100175.jpg',
 u'100176.jpg',
 u'100177.jpg',
 u'100178.jpg',
 u'100179.jpg',
 u'100180.jpg',
 u'100182.jpg',
 u'100183.jpg',
 u'100184.jpg',
 u'100185.jpg',
 u'100186.jpg',
 u'100187.jpg',
 u'100189.jpg',
 u'100190.jpg',
 u'100191.jpg',
 u'100192.jpg',
 u'100193.jpg',
 u'100194.jpg',
 u'100195.jpg',
 u'100197.jpg',
 u'100198.jpg',
 u'100199.jpg',
 u'1002.jpg',
 u'10020.jpg',
 u'100200.jpg',
 u'100203.jpg',
 u'100204.jpg',
 u'100205.jpg',
 u'100206.jpg',
 u'100207.jpg',
 u'100208.jpg',
 u'100210.jpg',
 u'100211.jpg',
 u'100212.jpg',
 u'100213.jpg',
 u'100214.jpg',
 u'100215.jpg',
 u'100218.jpg',
 u'10022.jpg',
 u'100220.jpg',
 u'100221.jpg',
 u'100222.jpg',
 u'100223.jpg',
 u'100225.jpg',
 u'100227.jpg',
 u'100228.jpg',
 u'100229.jpg',
 u'10023.jpg',
 u'100230.jpg',
 u'100231.jpg',
 u'100232.jpg',
 u'100233.jpg',
 u'100234.jpg',
 u'100235.jpg',
 u'100236.jpg',
 u'100237.jpg',
 u'100239.jpg',
 u'10024.jpg',
 u'100240.jpg',
 u'100241.jpg',
 u'100242.jpg',
 u'100243.jpg',
 u'100244.jpg',
 u'100245.jpg',
 u'100246.jpg',
 u'100247.jpg',
 u'10025.jpg',
 u'100250.jpg',
 u'100251.jpg',
 u'100252.jpg',
 u'100254.jpg',
 u'100255.jpg',
 u'100256.jpg',
 u'100257.jpg',
 u'100258.jpg',
 u'100259.jpg',
 u'10026.jpg',
 u'100260.jpg',
 u'100261.jpg',
 u'100262.jpg',
 u'100264.jpg',
 u'100265.jpg',
 u'100266.jpg',
 u'100267.jpg',
 u'100268.jpg',
 u'100269.jpg',
 u'10027.jpg',
 u'100270.jpg',
 u'100272.jpg',
 u'100273.jpg',
 u'100274.jpg',
 u'100276.jpg',
 u'100278.jpg',
 u'100279.jpg',
 u'100280.jpg',
 u'100281.jpg',
 u'100282.jpg',
 u'100283.jpg',
 u'100284.jpg',
 u'100285.jpg',
 u'100286.jpg',
 u'100289.jpg',
 u'100290.jpg',
 u'100291.jpg',
 u'100292.jpg',
 u'100293.jpg',
 u'100294.jpg',
 u'100295.jpg',
 u'100296.jpg',
 u'100297.jpg',
 u'100298.jpg',
 u'100299.jpg',
 u'1003.jpg',
 u'100300.jpg',
 u'100301.jpg',
 u'100302.jpg',
 u'100304.jpg',
 u'100305.jpg',
 u'100306.jpg',
 u'100307.jpg',
 u'100308.jpg',
 u'100309.jpg',
 u'10031.jpg',
 u'100310.jpg',
 u'100311.jpg',
 u'100313.jpg',
 u'100314.jpg',
 u'100315.jpg',
 u'100317.jpg',
 u'100318.jpg',
 u'100319.jpg',
 u'10032.jpg',
 u'100320.jpg',
 u'100321.jpg',
 u'100322.jpg',
 u'100324.jpg',
 u'100326.jpg',
 u'100327.jpg',
 u'100328.jpg',
 u'100329.jpg',
 u'10033.jpg',
 u'100330.jpg',
 u'100331.jpg',
 u'100332.jpg',
 u'100334.jpg',
 u'100335.jpg',
 u'100336.jpg',
 u'100337.jpg',
 u'100338.jpg',
 u'10034.jpg',
 u'100340.jpg',
 u'100341.jpg',
 u'100342.jpg',
 u'100343.jpg',
 u'100344.jpg',
 u'100346.jpg',
 u'100348.jpg',
 u'100349.jpg',
 u'100350.jpg',
 u'100351.jpg',
 u'100352.jpg',
 u'100353.jpg',
 u'100354.jpg',
 u'100356.jpg',
 u'100357.jpg',
 u'100358.jpg',
 u'100359.jpg',
 u'10036.jpg',
 u'100360.jpg',
 u'100361.jpg',
 u'100362.jpg',
 u'100363.jpg',
 u'100364.jpg',
 u'100365.jpg',
 u'100366.jpg',
 u'100367.jpg',
 u'100368.jpg',
 u'100369.jpg',
 u'10037.jpg',
 u'100370.jpg',
 u'100371.jpg',
 u'100372.jpg',
 u'100373.jpg',
 u'100374.jpg',
 u'100375.jpg',
 u'100376.jpg',
 u'100377.jpg',
 u'100378.jpg',
 u'100379.jpg',
 u'10038.jpg',
 u'100380.jpg',
 u'100381.jpg',
 u'100382.jpg',
 u'100383.jpg',
 u'100384.jpg',
 u'100385.jpg',
 u'100386.jpg',
 u'100388.jpg',
 u'100389.jpg',
 u'10039.jpg',
 u'100390.jpg',
 u'100391.jpg',
 u'100392.jpg',
 u'100393.jpg',
 u'100394.jpg',
 u'100395.jpg',
 u'100398.jpg',
 u'1004.jpg',
 u'10040.jpg',
 u'100400.jpg',
 u'100401.jpg',
 u'100402.jpg',
 u'100403.jpg',
 u'100405.jpg',
 u'100406.jpg',
 u'100407.jpg',
 u'100408.jpg',
 u'100409.jpg',
 u'10041.jpg',
 u'100410.jpg',
 u'100411.jpg',
 u'100412.jpg',
 u'100413.jpg',
 u'100414.jpg',
 u'100416.jpg',
 u'100417.jpg',
 u'100419.jpg',
 u'10042.jpg',
 u'100420.jpg',
 u'100423.jpg',
 u'100424.jpg',
 u'100425.jpg',
 u'100426.jpg',
 u'100429.jpg',
 u'10043.jpg',
 u'100430.jpg',
 u'100431.jpg',
 u'100432.jpg',
 u'100433.jpg',
 u'100434.jpg',
 u'100435.jpg',
 u'100436.jpg',
 u'100437.jpg',
 u'100438.jpg',
 u'100439.jpg',
 u'10044.jpg',
 u'100440.jpg',
 u'100441.jpg',
 u'100442.jpg',
 u'100443.jpg',
 u'100444.jpg',
 u'100445.jpg',
 u'100446.jpg',
 u'100447.jpg',
 u'100448.jpg',
 u'100449.jpg',
 u'10045.jpg',
 u'100450.jpg',
 u'100453.jpg',
 u'100455.jpg',
 u'100456.jpg',
 u'100457.jpg',
 u'100458.jpg',
 u'100459.jpg',
 u'10046.jpg',
 u'100460.jpg',
 u'100461.jpg',
 u'100462.jpg',
 u'100463.jpg',
 u'100465.jpg',
 u'100467.jpg',
 u'100468.jpg',
 u'10047.jpg',
 u'100472.jpg',
 u'100473.jpg',
 u'100474.jpg',
 u'100475.jpg',
 u'100476.jpg',
 u'100477.jpg',
 u'100479.jpg',
 u'100481.jpg',
 u'100482.jpg',
 u'100484.jpg',
 u'100485.jpg',
 u'100486.jpg',
 u'100487.jpg',
 u'100489.jpg',
 u'10049.jpg',
 u'100490.jpg',
 u'100491.jpg',
 u'100492.jpg',
 u'100493.jpg',
 u'100495.jpg',
 u'100497.jpg',
 u'100498.jpg',
 u'100499.jpg',
 u'1005.jpg',
 u'10050.jpg',
 u'100500.jpg',
 u'100501.jpg',
 u'100503.jpg',
 u'100504.jpg',
 u'100506.jpg',
 u'100507.jpg',
 u'100509.jpg',
 u'10051.jpg',
 u'100510.jpg',
 u'100511.jpg',
 u'100512.jpg',
 u'100514.jpg',
 u'100515.jpg',
 u'100517.jpg',
 u'100518.jpg',
 u'100519.jpg',
 u'10052.jpg',
 u'100520.jpg',
 u'100521.jpg',
 u'100523.jpg',
 u'100524.jpg',
 u'100526.jpg',
 u'100527.jpg',
 u'100528.jpg',
 u'100529.jpg',
 u'100530.jpg',
 u'100531.jpg',
 u'100532.jpg',
 u'100533.jpg',
 u'100534.jpg',
 u'100535.jpg',
 u'100536.jpg',
 u'100537.jpg',
 u'100538.jpg',
 u'100539.jpg',
 u'10054.jpg',
 u'100540.jpg',
 u'100541.jpg',
 u'100542.jpg',
 u'100543.jpg',
 u'100546.jpg',
 u'100549.jpg',
 u'10055.jpg',
 u'100550.jpg',
 u'100551.jpg',
 u'100552.jpg',
 u'100553.jpg',
 u'100554.jpg',
 u'100555.jpg',
 u'100556.jpg',
 u'100558.jpg',
 u'100559.jpg',
 u'10056.jpg',
 u'100560.jpg',
 u'100561.jpg',
 u'100562.jpg',
 u'100563.jpg',
 u'100564.jpg',
 u'100566.jpg',
 u'100567.jpg',
 u'100568.jpg',
 u'10057.jpg',
 u'100570.jpg',
 u'100571.jpg',
 u'100572.jpg',
 u'100573.jpg',
 u'100574.jpg',
 u'100575.jpg',
 u'100576.jpg',
 u'100577.jpg',
 u'100578.jpg',
 u'100579.jpg',
 u'10058.jpg',
 u'100580.jpg',
 u'100581.jpg',
 u'100582.jpg',
 u'100583.jpg',
 u'100584.jpg',
 u'100585.jpg',
 u'100586.jpg',
 u'100587.jpg',
 u'100588.jpg',
 u'100589.jpg',
 u'10059.jpg',
 u'100590.jpg',
 u'100591.jpg',
 u'100592.jpg',
 u'100593.jpg',
 u'100594.jpg',
 u'100595.jpg',
 u'100598.jpg',
 u'100599.jpg',
 u'10060.jpg',
 u'100601.jpg',
 u'100602.jpg',
 u'100603.jpg',
 u'100604.jpg',
 u'100606.jpg',
 u'100608.jpg',
 u'10061.jpg',
 u'100610.jpg',
 u'100613.jpg',
 u'100614.jpg',
 u'100615.jpg',
 u'100616.jpg',
 u'100618.jpg',
 u'100619.jpg',
 u'10062.jpg',
 u'100620.jpg',
 u'100621.jpg',
 u'100623.jpg',
 u'100625.jpg',
 u'100626.jpg',
 u'100627.jpg',
 u'100628.jpg',
 u'100629.jpg',
 u'10063.jpg',
 u'100630.jpg',
 u'100631.jpg',
 u'100632.jpg',
 u'100634.jpg',
 u'100636.jpg',
 u'100637.jpg',
 u'100639.jpg',
 u'10064.jpg',
 u'100641.jpg',
 u'100642.jpg',
 u'100643.jpg',
 u'100644.jpg',
 u'100645.jpg',
 u'100646.jpg',
 u'100648.jpg',
 u'100649.jpg',
 u'10065.jpg',
 u'100650.jpg',
 u'100651.jpg',
 u'100652.jpg',
 u'100653.jpg',
 u'100654.jpg',
 u'100655.jpg',
 u'100656.jpg',
 u'100659.jpg',
 u'10066.jpg',
 u'100661.jpg',
 u'100662.jpg',
 u'100663.jpg',
 u'100664.jpg',
 u'100665.jpg',
 u'100668.jpg',
 u'100669.jpg',
 u'10067.jpg',
 u'100671.jpg',
 u'100672.jpg',
 u'100673.jpg',
 u'100674.jpg',
 u'100675.jpg',
 u'100676.jpg',
 u'100677.jpg',
 u'100678.jpg',
 u'100679.jpg',
 u'10068.jpg',
 u'100680.jpg',
 u'100681.jpg',
 u'100682.jpg',
 u'100683.jpg',
 u'100684.jpg',
 u'100685.jpg',
 u'100686.jpg',
 u'100687.jpg',
 u'100688.jpg',
 u'100689.jpg',
 u'10069.jpg',
 u'100690.jpg',
 u'100692.jpg',
 u'100693.jpg',
 u'100694.jpg',
 u'100695.jpg',
 u'100696.jpg',
 u'100697.jpg',
 u'100698.jpg',
 u'100699.jpg',
 u'1007.jpg',
 u'100700.jpg',
 u'100701.jpg',
 u'100702.jpg',
 u'100704.jpg',
 u'100705.jpg',
 u'100706.jpg',
 u'100707.jpg',
 u'100709.jpg',
 u'10071.jpg',
 u'100710.jpg',
 u'100712.jpg',
 u'100713.jpg',
 u'100714.jpg',
 u'100715.jpg',
 u'100716.jpg',
 u'100717.jpg',
 u'100718.jpg',
 u'100719.jpg',
 u'10072.jpg',
 u'100720.jpg',
 u'100721.jpg',
 u'100722.jpg',
 u'100726.jpg',
 u'100727.jpg',
 u'100729.jpg',
 u'10073.jpg',
 u'100732.jpg',
 u'100733.jpg',
 u'100734.jpg',
 u'100735.jpg',
 u'100737.jpg',
 u'100738.jpg',
 u'100739.jpg',
 u'10074.jpg',
 u'100740.jpg',
 u'100741.jpg',
 u'100742.jpg',
 u'100743.jpg',
 u'100748.jpg',
 u'10075.jpg',
 u'100751.jpg',
 u'100752.jpg',
 u'100753.jpg',
 u'100754.jpg',
 u'100755.jpg',
 u'100757.jpg',
 u'100758.jpg',
 u'100759.jpg',
 u'100760.jpg',
 u'100763.jpg',
 u'100764.jpg',
 u'100765.jpg',
 u'100766.jpg',
 u'100767.jpg',
 u'100768.jpg',
 u'100769.jpg',
 u'10077.jpg',
 u'100770.jpg',
 u'100771.jpg',
 u'100772.jpg',
 u'100773.jpg',
 u'100774.jpg',
 u'100775.jpg',
 u'100776.jpg',
 u'100777.jpg',
 u'100778.jpg',
 u'10078.jpg',
 u'100780.jpg',
 u'100781.jpg',
 u'100783.jpg',
 u'100785.jpg',
 u'100786.jpg',
 u'100787.jpg',
 u'100788.jpg',
 u'100789.jpg',
 u'10079.jpg',
 u'100790.jpg',
 u'100791.jpg',
 u'100792.jpg',
 u'100793.jpg',
 u'100794.jpg',
 u'100795.jpg',
 u'100798.jpg',
 u'100799.jpg',
 u'1008.jpg',
 u'10080.jpg',
 u'100800.jpg',
 u'100801.jpg',
 u'100805.jpg',
 u'100806.jpg',
 u'100807.jpg',
 u'100808.jpg',
 u'100809.jpg',
 u'10081.jpg',
 u'100811.jpg',
 u'100812.jpg',
 u'100813.jpg',
 u'100814.jpg',
 u'100815.jpg',
 u'100816.jpg',
 u'100817.jpg',
 u'100818.jpg',
 u'100819.jpg',
 u'10082.jpg',
 u'100820.jpg',
 u'100821.jpg',
 u'100822.jpg',
 u'100823.jpg',
 u'100824.jpg',
 u'100825.jpg',
 u'100826.jpg',
 u'100827.jpg',
 u'100828.jpg',
 u'100829.jpg',
 u'10083.jpg',
 u'100830.jpg',
 u'100832.jpg',
 u'100833.jpg',
 u'100834.jpg',
 u'100835.jpg',
 u'100836.jpg',
 u'100837.jpg',
 u'100839.jpg',
 u'10084.jpg',
 u'100840.jpg',
 u'100841.jpg',
 u'100843.jpg',
 u'100844.jpg',
 u'100846.jpg',
 u'100847.jpg',
 u'100848.jpg',
 u'100849.jpg',
 u'10085.jpg',
 u'100851.jpg',
 u'100852.jpg',
 u'100853.jpg',
 u'100854.jpg',
 u'100855.jpg',
 u'100856.jpg',
 u'100857.jpg',
 u'100858.jpg',
 u'100859.jpg',
 u'10086.jpg',
 u'100860.jpg',
 u'100861.jpg',
 u'100862.jpg',
 u'100863.jpg',
 u'100864.jpg',
 u'100865.jpg',
 u'100866.jpg',
 u'100867.jpg',
 u'100868.jpg',
 u'100869.jpg',
 u'10087.jpg',
 u'100870.jpg',
 u'100871.jpg',
 u'100872.jpg',
 u'100873.jpg',
 u'100874.jpg',
 u'100875.jpg',
 u'100876.jpg',
 u'100877.jpg',
 u'100878.jpg',
 u'10088.jpg',
 u'100880.jpg',
 u'100881.jpg',
 u'100882.jpg',
 u'100883.jpg',
 u'100884.jpg',
 u'100885.jpg',
 u'100886.jpg',
 u'100887.jpg',
 u'100888.jpg',
 u'100889.jpg',
 u'10089.jpg',
 u'100890.jpg',
 u'100891.jpg',
 u'100892.jpg',
 u'100893.jpg',
 u'100894.jpg',
 u'100895.jpg',
 u'100896.jpg',
 u'100897.jpg',
 u'100898.jpg',
 u'100899.jpg',
 u'1009.jpg',
 u'10090.jpg',
 u'100901.jpg',
 u'100902.jpg',
 u'100904.jpg',
 u'100905.jpg',
 u'100906.jpg',
 u'100907.jpg',
 u'100908.jpg',
 u'100909.jpg',
 u'10091.jpg',
 u'100910.jpg',
 u'100911.jpg',
 u'100912.jpg',
 u'100913.jpg',
 u'100914.jpg',
 u'100915.jpg',
 u'100916.jpg',
 u'100917.jpg',
 u'100918.jpg',
 u'100919.jpg',
 u'100920.jpg',
 u'100921.jpg',
 u'100922.jpg',
 u'100923.jpg',
 u'100924.jpg',
 u'100925.jpg',
 u'100926.jpg',
 u'100927.jpg',
 u'10093.jpg',
 u'100930.jpg',
 u'100932.jpg',
 u'100933.jpg',
 u'100936.jpg',
 u'100937.jpg',
 u'100938.jpg',
 u'100939.jpg',
 u'10094.jpg',
 u'100940.jpg',
 u'100941.jpg',
 u'100942.jpg',
 u'100943.jpg',
 u'100944.jpg',
 u'100945.jpg',
 u'100946.jpg',
 u'100947.jpg',
 u'100948.jpg',
 u'100949.jpg',
 u'10095.jpg',
 u'100950.jpg',
 u'100951.jpg',
 u'100952.jpg',
 u'100954.jpg',
 u'100955.jpg',
 u'100956.jpg',
 u'100957.jpg',
 u'100958.jpg',
 u'100959.jpg',
 u'100960.jpg',
 u'100961.jpg',
 u'100962.jpg',
 u'100964.jpg',
 u'100965.jpg',
 u'100966.jpg',
 u'100967.jpg',
 u'100968.jpg',
 u'10097.jpg',
 u'100971.jpg',
 u'100972.jpg',
 u'100973.jpg',
 u'100974.jpg',
 u'100975.jpg',
 u'100976.jpg',
 u'100977.jpg',
 u'100978.jpg',
 u'100979.jpg',
 u'10098.jpg',
 u'100980.jpg',
 u'100984.jpg',
 u'100986.jpg',
 u'100987.jpg',
 u'100988.jpg',
 u'100989.jpg',
 u'10099.jpg',
 u'100990.jpg',
 u'100991.jpg',
 u'100992.jpg',
 u'100993.jpg',
 u'100994.jpg',
 u'100996.jpg',
 u'100998.jpg',
 u'101.jpg',
 u'1010.jpg',
 u'10100.jpg',
 u'101000.jpg',
 u'101001.jpg',
 u'101002.jpg',
 u'101004.jpg',
 u'101005.jpg',
 u'101006.jpg',
 u'101008.jpg',
 u'101009.jpg',
 u'10101.jpg',
 u'101010.jpg',
 u'101011.jpg',
 u'101012.jpg',
 u'101013.jpg',
 u'101014.jpg',
 u'101015.jpg',
 u'101016.jpg',
 u'101017.jpg',
 u'101018.jpg',
 u'10102.jpg',
 u'101020.jpg',
 u'101021.jpg',
 u'101023.jpg',
 u'101024.jpg',
 u'101025.jpg',
 u'101026.jpg',
 u'101028.jpg',
 u'10103.jpg',
 u'101030.jpg',
 u'101031.jpg',
 u'101032.jpg',
 u'101033.jpg',
 u'101034.jpg',
 u'101035.jpg',
 u'101036.jpg',
 u'101037.jpg',
 u'101038.jpg',
 u'101039.jpg',
 u'10104.jpg',
 u'101041.jpg',
 u'101042.jpg',
 u'101043.jpg',
 u'101044.jpg',
 u'101045.jpg',
 u'101046.jpg',
 u'101047.jpg',
 u'101048.jpg',
 u'101049.jpg',
 u'10105.jpg',
 u'101050.jpg',
 u'101051.jpg',
 u'101052.jpg',
 u'101053.jpg',
 u'101054.jpg',
 u'101056.jpg',
 u'101058.jpg',
 u'10106.jpg',
 u'101060.jpg',
 u'101061.jpg',
 u'101062.jpg',
 u'101063.jpg',
 u'101064.jpg',
 u'101067.jpg',
 u'101068.jpg',
 u'101069.jpg',
 u'10107.jpg',
 u'101071.jpg',
 u'101072.jpg',
 u'101073.jpg',
 u'101075.jpg',
 u'101078.jpg',
 u'101079.jpg',
 u'101080.jpg',
 u'101081.jpg',
 u'101084.jpg',
 ...]

In [74]:
import neukrill_net.utils as utils
utils.write_predictions('superclass_predictions.csv', nr, names, settings.classes)

In [77]:
utils.write_predictions('class_predictions.csv', class_predictions, names, settings.classes)