diff options
Diffstat (limited to 'data/face-train.py')
| -rwxr-xr-x[-rw-r--r--] | data/face-train.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/data/face-train.py b/data/face-train.py index 636607f..80ca4fa 100644..100755 --- a/data/face-train.py +++ b/data/face-train.py @@ -8,3 +8,43 @@ api_key = '34a84a7835bf24df2d84b4bded84e838' api_secret = '5bc9e8c5a9e3a2d916abbe3659a1b3f8' url_base = 'http://74.95.195.225/static/img/jon/users/' client = FaceClient(api_key, api_secret) + +def train(ns,dataset,dirs): + f = open('train.log', 'w') + for d in dirs: + tids = [] + count = 0 + user = d.rstrip('/').split('/')[-1] + for line in open(d+'/'+dataset+'-train', 'r'): + pic = line.split(',')[-2].split('/')[-1].split('.')[0]+'.jpeg' + if pic != "face.jpeg": + count += 1 + url = url_base+user+'/train/'+pic + try: + response = client.faces_detect(url) + sys.stderr.write(str(response['photos'][0]['tags'])+"\n") + for photo in response['photos']: + if len(photo['tags']) > 0: + tids += [photo['tags'][0]['tid']] + f.write("\t".join([user, pic, "face"])+"/n") + else: + f.write("\t".join([user, pic, "no-face"])+"/n") + except: + sys.stderr.write("Unexpexted error:"+str(sys.exc_info()[0])) + pass + saved = client.tags_save(tids = ',' . join(tids), uid = user+'@'+ns) + sys.stderr.write(str(saved)+"\n") + trained = client.faces_train(user+'@'+ns) + sys.stderr.write(str(trained)+"\n") + f.write("\t".join([user, str(len(saved['saved_tags'])), str(trained)])+"/n") + k = trained.keys() + k.remove(u'status') + ntrain = trained[k[0]][0][u'training_set_size'] + + print ",".join([user,str(count),str(len(saved['saved_tags'])),str(ntrain)]) + + +if __name__ == "__main__": + train(sys.argv[1],sys.argv[2],sys.argv[3:]) + + |
