source: internals/2016/aptoideimagesdetector/trunk/Source Code/Illustration2Vector/illustration2vec-master/test.py @ 16326

Last change on this file since 16326 was 16326, checked in by dferreira, 3 years ago

Otimizing scripts using object serialization.

  • Property svn:executable set to *
File size: 2.0 KB
Line 
1# Diogo Ferreira
2# Aptoide, 2016
3# This script runs a test on all the images on the files 'aptoide_images/nude' and 'aptoide_images/not_nude'
4# and categorizes the images as false/true positive/negative. It also contains information about the time.
5
6import i2v
7from datetime import datetime, time
8from PIL import Image
9import os
10import glob
11import pickle
12
13
14print "Loading Neural Network Model..."
15now = datetime.now()
16
17# Tries to load object with database.
18# If it does not exist, creates one himself.
19
20try:
21        illust2vec_f = open("illust2vec.pickle", "rb")
22        illust2vec = pickle.load(illust2vec_f)
23        illust2vec_f.close()
24except IOError:
25        illust2vec = i2v.make_i2v_with_chainer(
26    "illust2vec_tag_ver200.caffemodel", "tag_list.json")
27        save_model = open("illust2vec.pickle", "wb")
28        pickle.dump(illust2vec, save_model)
29        save_model.close()
30
31print "Time loading Neural Network Model: "+str(datetime.now()-now)
32
33global_time = datetime.now()
34
35# True/false positive/negative
36fp = 0
37fn = 0
38tp = 0
39tn = 0
40
41types = ('*.png', '*.jpg')
42
43# File to save the results.
44f = open('test_results.txt','w')
45
46for image_dir in ('aptoide_images/nude', 'aptoide_images/not_nude'):
47        for t in types:
48                for image_file in glob.glob(os.path.join(image_dir,t)):
49                       
50                        print "Processing image..."+str(image_file)
51                        now = datetime.now()
52
53                        img = Image.open(image_file)
54                        list = illust2vec.estimate_specific_tags([img], ["explicit", "safe"])
55                        print "Time processing image: "+str(datetime.now()-now)
56                        f.write('\n')
57                        f.write('\n')
58                        f.write(image_file)
59                        f.write('\n')
60                        if(list[0]['explicit']>list[0]['safe']):
61                                print "explicit"
62                                f.write("explicit")
63                                if(image_dir=='aptoide_images/not_nude'):
64                                        fp+=1
65                                else:
66                                        tp+=1
67                        else:
68                                print "safe"
69                                f.write("safe")
70                                if(image_dir=='aptoide_images/nude'):
71                                        fn+=1
72                                else:
73                                        tn+=1
74
75
76print "Time processing all images: "+str(datetime.now()-global_time)
77print str(fp)+" false positives"
78print str(fn)+" false negatives"
79print str(tn)+" true negatives"
80print str(tp)+" true positives"
81
82f.close()
Note: See TracBrowser for help on using the repository browser.