imdb.competition_mode('competition mode') if not os.path.isfile(tfmodel + '.meta'): print(tfmodel) raise IOError( ('{:s} not found.\nDid you download the proper networks from ' 'our server and place them properly?').format(tfmodel + '.meta')) # set config tfconfig = tf.ConfigProto(allow_soft_placement=True) tfconfig.gpu_options.allow_growth = True # init session sess = tf.Session(config=tfconfig) # load network if demonet == 'vgg16': net = vgg16(batch_size=1) # elif demonet == 'res101': # net = resnetv1(batch_size=1, num_layers=101) else: raise NotImplementedError net.create_architecture( sess, "TEST", 2, # 记得修改第3个参数为:类别数量+1 tag='default', anchor_scales=[8, 16, 32]) saver = tf.train.Saver() saver.restore(sess, tfmodel) print('Loaded network {:s}'.format(tfmodel)) print(filename) test_net(sess, net, imdb, filename, max_per_image=100) sess.close()
from lib.config import config as cfg import os os.environ["CUDA_VISIBLE_DEVICES"] = "0" if __name__ == '__main__': # Create session tfconfig = tf.ConfigProto(allow_soft_placement=True) # tfconfig.gpu_options.allow_growth = True sess = tf.Session(config=tfconfig) # init net net = vgg16(batch_size=1) net.create_architecture(sess, "TEST", 2, tag='default', anchor_scales=[8, 16, 32], anchor_ratios=(1, 2)) for i in range(80001) : if i==0 : continue if (i%1000)!=0 : continue weights_filename = "default\\voc_2007_trainval\\default\\vgg16_faster_rcnn_iter_{0}.ckpt".format(i) print("Load weights : {0}".format(weights_filename)) saver = tf.train.Saver() saver.restore(sess, weights_filename) #set imdb imdb_name = "voc_2007_test" imdb = get_imdb(imdb_name) accuracy, recall, precision, tpr, fpr = test_net(sess, net, imdb, weights_filename, max_per_image=100, thresh=0.0) record_file = open("TestNet_Record_iter_{0}.csv".format(i), "w") record_file.write("accuracy,recall,precision,tpr,fpr\n") num = len(accuracy[0]) print("Data Number = {0} :: {1}, {2}, {3}, {4}".format(num, len(recall[0]), len(precision[0]), len(tpr[0]), len(fpr[0]))) for idx in range(num) : record_file.write("{0:3f},{1:3f},{2:3f},{3:3f},{4:3f}\n".format(accuracy[0][idx], recall[0][idx], precision[0][idx], tpr[0][idx], fpr[0][idx])) record_file.close()
# load network if demonet == 'vgg16': net = vgg16(batch_size=1) # elif demonet == 'res101': # net = resnetv1(batch_size=1, num_layers=101) else: raise NotImplementedError net.create_architecture(sess, "TEST", 19, tag='default', anchor_scales=[8, 16, 32]) saver = tf.train.Saver() saver.restore(sess, tfmodel) print('Loaded network {:s}'.format(tfmodel)) im_names = os.listdir(cfg.FLAGS2["data_dir"] + '/demo') # 测试图片所在位置 for im_name in im_names: print('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~') print('Demo for data/demo/{}'.format(im_name)) demo(sess, net, im_name) imdb = get_imdb("voc_2007_trainval") test_net(sess, net, imdb, 'default') plt.show() # 保存测试图片所在位置,并设置输出格式 #plt.savefig(cfg.FLAGS2["data_dir"] + '/test_result/'+ im_name, format='png', transparent=True, pad_inches=0, #dpi=300, bbox_inches='tight') # plt.show()
sess = tf.Session(config=tfconfig) # load network if demonet == 'vgg16': net = vgg16(batch_size=1) net.create_architecture(sess, "TEST", 7, tag='default', anchor_scales=[8, 16, 32]) print("loading model...") saver = tf.train.Saver() saver.restore(sess, tfmodel) print('Loaded network {:s}'.format(tfmodel)) imdb = get_imdb(args.imdb_name) test_net(sess, net, imdb, weights_filename=None, max_per_image=100, thresh=0.5) ''' im_names = open(os.path.join(TEST_DIR, "test.txt")).readlines() m = len(im_names) for i in range(m): im_name = im_names[i].strip("\n") im_name = im_name + ".jpg" print('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~') print('Demo for data/demo/{}'.format(im_name)) demo(sess, net, im_name) '''
raise IOError( ('{:s} not found.\nDid you download the proper networks from ' 'our server and place them properly?').format(tfmodel + '.meta')) imdb = combined_roidb(DATASETS[dataset][0]) tfconfig = tf.ConfigProto(allow_soft_placement=True) tfconfig.gpu_options.allow_growth = True # init session sess = tf.Session(config=tfconfig) # load network #if demonet == 'vgg16' or 'voc_2007_trainval+test': net = vgg16(batch_size=1) # elif demonet == 'res101': # net = resnetv1(batch_size=1, num_layers=101) #else: # raise NotImplementedError net.create_architecture(sess, "TEST", cfg.FLAGS2["CLASSES"].__len__(), tag='default', anchor_scales=[8, 16, 32]) # start a session saver = tf.train.Saver() saver.restore(sess, tfmodel) #print ('Loading model weights from {:s}').format(args.model) test_net(sess, net, imdb, demonet)
sess = tf.Session(config=tfconfig) # load network if demonet == 'vgg16': net = vgg16(batch_size=1) # elif demonet == 'res101': # net = resnetv1(batch_size=1, num_layers=101) else: raise NotImplementedError net.create_architecture(sess, "TEST", imdb.num_classes, tag='default', anchor_scales=[8, 16, 32]) saver = tf.train.Saver() saver.restore(sess, tfmodel) print('Loaded network {:s}'.format(tfmodel)) # for file in os.listdir("./lib/layer_utils"): # if file.endswith(".jpg"): # print('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~') # print('Demo for lib/layer_utils/{}'.format(file)) # demo(sess, net, file) # plt.show() test_net(sess, net, imdb, demonet, max_per_image=100) sess.close()