def predict(self): self.predict_setup() self.sess.run(tf.global_variables_initializer()) self.sess.run(tf.local_variables_initializer()) # load checkpoint checkpointfile = self.conf.modeldir + '/model.ckpt-' + str(self.conf.valid_step) self.load(self.loader, checkpointfile) # Start queue threads. threads = tf.train.start_queue_runners(coord=self.coord, sess=self.sess) # img_name_list image_list, _ = read_labeled_image_list('', self.conf.test_data_list) # Predict! for step in range(self.conf.test_num_steps): preds = self.sess.run(self.pred) predmatrix = preds[0, :, :, 0, :] check = np.sum(predmatrix,axis=2) for i in range(self.conf.num_classes): img_name = image_list[step].split('/')[2].split('.')[0] # Save raw predictions, i.e. each pixel is an integer between [0,20]. im = Image.fromarray(preds[0, :, :, 0, i], mode='L') if not os.path.isdir(self.conf.out_dir + "/prediction/" + str(i)): os.mkdir(self.conf.out_dir + "/prediction/" + str(i)) filename = '/%s_mask.png' % (img_name) im.save(self.conf.out_dir + '/prediction/' + str(i) + filename) # Save predictions for visualization. # See utils/label_utils.py for color setting # Need to be modified based on datasets. if self.conf.visual: #msk = decode_labels(preds[:, :, :, :, i], num_classes=self.conf.num_classes) #old version #im = Image.fromarray(msk[0], mode='RGB') #old version if not os.path.isdir(self.conf.out_dir + '/visual_prediction/' + str(i)): os.mkdir(self.conf.out_dir + '/visual_prediction/' + str(i)) filename = '/%s_mask_visual.png' % (img_name) print("saving Image") #im.save(self.conf.out_dir + '/visual_prediction/' + str(i) + filename) #old version plt.imsave(self.conf.out_dir + '/visual_prediction/' + str(i) + filename, preds[0, :, :, 0, i]) if step % 100 == 0: print('step {:d}'.format(step)) print('The output files has been saved to {}'.format(self.conf.out_dir)) # finish self.coord.request_stop() self.coord.join(threads)
def predict(self): normal_color = "\033[0;37;40m" self.predict_setup() self.sess.run(tf.global_variables_initializer()) self.sess.run(tf.local_variables_initializer()) # load checkpoint checkpointfile = self.conf.modeldir + '/model.ckpt-' + str( self.conf.test_step) self.load(self.loader, checkpointfile) # Start queue threads. threads = tf.train.start_queue_runners(coord=self.coord, sess=self.sess) # img_name_list image_list, _ = read_labeled_image_list('', self.conf.test_data_list) # Predict! for step in range(self.conf.test_num_steps): preds, raw_preds = self.sess.run([self.pred, raw_output_]) img_name = image_list[step].split('/')[2].split('.')[0] # Save raw predictions, i.e. each pixel is an integer between [0,20]. prior1 = self.conf.prior im = Image.fromarray(preds[0, :, :, 0], mode='L') filename = '/%s_mask.png' % (img_name) im.save(self.conf.out_dir + '/prediction' + '/' + str(prior1) + filename) # Save predictions for visualization. # See utils/label_utils.py for color setting # Need to be modified based on datasets. if self.conf.visual: msk = decode_labels(preds, num_classes=self.conf.num_classes) im = Image.fromarray(msk[0], mode='RGB') filename = '/%s_mask_visual.png' % (img_name) im.save(self.conf.out_dir + '/visual_prediction' + '/' + str(prior1) + filename) if step % 100 == 0: print('step {:d}'.format(step)) print( 'The output files has been saved to {}'.format(self.conf.out_dir) + normal_color) # finish self.coord.request_stop() self.coord.join(threads)
def predict(self): self.predict_setup() self.sess.run(tf.global_variables_initializer()) self.sess.run(tf.local_variables_initializer()) # load checkpoint #checkpointfile = self.conf.modeldir+ '/model.ckpt-' + str(self.conf.valid_step) #checkpointfile = 'deeplab_resnet_init.ckpt' checkpointfile = tf.train.latest_checkpoint("./model_multigpu_bs10/") #checkpointfile = './model_crf_test0'+ '/model.ckpt-' + '0' self.load(self.loader, checkpointfile) # Start queue threads. threads = tf.train.start_queue_runners(coord=self.coord, sess=self.sess) # img_name_list image_list, _ = read_labeled_image_list('', self.conf.test_data_list) # Predict! for step in range(self.conf.test_num_steps): preds = self.sess.run(self.pred) resized_dec = self.sess.run(self.resized_decoder100) img_name = image_list[step].split('/')[2].split('.')[0] # Save raw predictions, i.e. each pixel is an integer between [0,20]. im = Image.fromarray(preds[0, :, :, 0], mode='L') filename = '/%s_mask.png' % (img_name) im.save(self.conf.out_dir + '/prediction' + filename) #resized = Image.fromarray(resized_dec[0], mode='RGB') #fn = '/%s_resized_dec.png' % (img_name) #resized.save(self.conf.out_dir + '/resized_decoding' + fn) # Save predictions for visualization. # See utils/label_utils.py for color setting # Need to be modified based on datasets. if self.conf.visual: msk = decode_labels(preds, num_classes=self.conf.num_classes) im = Image.fromarray(msk[0], mode='RGB') filename = '/%s_mask_visual.png' % (img_name) im.save(self.conf.out_dir + '/visual_prediction' + filename) if step % 100 == 0: print('step {:d}'.format(step)) print('The output files has been saved to {}'.format( self.conf.out_dir)) # finish self.coord.request_stop() self.coord.join(threads)
def predict(self): self.predict_setup() self.sess.run([tf.global_variables_initializer(), tf.local_variables_initializer()]) # checkpoing_file checkpoint_file = tf.train.latest_checkpoint(self.conf.modeldir) if (not os.path.exists("{}.meta".format(checkpoint_file))) and (self.conf.pretrain_file is not None): self.load(self.loader, self.conf.pretrain_file) elif os.path.exists("{}.meta".format(checkpoint_file)): self.load(self.loader, checkpoint_file) # Start queue threads. threads = tf.train.start_queue_runners(coord=self.coord, sess=self.sess) # img_name_list image_list, _ = read_labeled_image_list('', self.conf.test_data_list) # Predict! for step in range(self.conf.test_num_steps): preds = self.sess.run(self.pred) img_name = image_list[step].split('/')[2].split('.')[0] # Save raw predictions, i.e. each pixel is an integer between [0,20]. im = Image.fromarray(preds[0, :, :, 0], mode='L') filename = '/%s_mask.png' % (img_name) im.save(self.conf.out_dir + '/prediction' + filename) # Save predictions for visualization. if self.conf.visual: msk = decode_labels(preds, num_classes=self.conf.num_classes) im = Image.fromarray(msk[0], mode='RGB') im.save(self.conf.out_dir + '/visual_prediction' + '/{}_mask_visual.png'.format(img_name)) # 原图 origin_image = "{}{}".format(self.conf.data_dir, image_list[step]) im = Image.open(origin_image) filename, ext = os.path.splitext(filename) im.save(self.conf.out_dir + '/visual_prediction' + filename + "_original" + ext) if step % 100 == 0: print('step {:d}'.format(step)) print('The output files has been saved to {}'.format(self.conf.out_dir)) # finish self.coord.request_stop() self.coord.join(threads) pass
def predict(self): self.predict_setup() self.sess.run([ tf.local_variables_initializer(), tf.global_variables_initializer() ]) # load checkpoint self.load( self.loader, self.conf.modeldir + '/model.ckpt-' + str(self.conf.valid_step)) # Start queue threads. threads = tf.train.start_queue_runners(coord=self.coord, sess=self.sess) # img_name_list image_list, _ = read_labeled_image_list('', self.conf.test_data_list) # Predict! for step in range(self.conf.test_num_steps): preds = self.sess.run(self.pred) img_name = image_list[step].split('/')[2].split('.')[0] # Save raw predictions, i.e. each pixel is an integer between [0,20]. im = Image.fromarray(preds[0, :, :, 0], mode='L') im.save(self.conf.out_dir + '/prediction/{}_mask.png'.format(img_name)) if self.conf.visual: msk = decode_labels(preds, num_classes=self.conf.num_classes) im = Image.fromarray(msk[0], mode='RGB') im.save( self.conf.out_dir + '/visual_prediction/{}_mask_visual.png'.format(img_name)) if step % 100 == 0: print('step {:d}'.format(step)) print('The output files has been saved to {}'.format( self.conf.out_dir)) # finish self.coord.request_stop() self.coord.join(threads) pass
def predict(self): self.predict_setup() self.sess.run(tf.global_variables_initializer()) self.sess.run(tf.local_variables_initializer()) # load checkpoint checkpointfile = self.conf.modeldir+ '/model.ckpt-' + str(self.conf.valid_step) self.load(self.loader, checkpointfile) # Start queue threads. threads = tf.train.start_queue_runners(coord=self.coord, sess=self.sess) # img_name_list image_list, _ = read_labeled_image_list('', self.conf.test_data_list) # Predict! for step in range(self.conf.test_num_steps): preds = self.sess.run(self.pred) img_name = image_list[step].split('/')[2].split('.')[0] # Save raw predictions, i.e. each pixel is an integer between [0,20]. im = Image.fromarray(preds[0,:,:,0], mode='L') filename = '/%s_mask.png' % (img_name) im.save(self.conf.out_dir + '/prediction' + filename) # Save predictions for visualization. # See utils/label_utils.py for color setting # Need to be modified based on datasets. if self.conf.visual: msk = decode_labels(preds, num_classes=self.conf.num_classes) im = Image.fromarray(msk[0], mode='RGB') filename = '/%s_mask_visual.png' % (img_name) im.save(self.conf.out_dir + '/visual_prediction' + filename) if step % 100 == 0: print('step {:d}'.format(step)) print('The output files has been saved to {}'.format(self.conf.out_dir)) # finish self.coord.request_stop() self.coord.join(threads)
def predict(self): self.predict_setup() self.sess.run(tf.global_variables_initializer()) self.sess.run(tf.local_variables_initializer()) # load checkpoint checkpointfile = self.conf.modeldir + '/model.ckpt-' + str( self.conf.valid_step) self.load(self.loader, checkpointfile) # Start queue threads. threads = tf.train.start_queue_runners(coord=self.coord, sess=self.sess) # img_name_list image_list, _ = read_labeled_image_list('', self.conf.test_data_list) # Predict! for step in range(self.conf.test_num_steps): preds = self.sess.run(self.pred) predmatrix = preds[0, :, :, 0, :] check = np.sum(predmatrix, axis=2) groesse = predmatrix.shape inhalt = "" zeile = "" datei = "../superpixel.zip" img_name = image_list[step].split('/')[2].split('.')[0] preddict = {} countdict = {} meanpred = {} with zipfile.ZipFile(datei) as z: inhalt = z.open(img_name + ".csv") spdf = pd.read_csv(inhalt, header=None) sparray = spdf.values z.close() if not (sparray.shape[0] == groesse[0] and sparray.shape[1] == groesse[1]): print("ERROR WITH IMAGE: ", img_name, "\tThey dont have the same size") continue for x in range(groesse[0]): for y in range(groesse[1]): superpixel = sparray[x, y] #initialize dict: if superpixel not in preddict.keys(): preddict[superpixel] = [0.0] * self.conf.num_classes countdict[superpixel] = 0 meanpred[superpixel] = [0.0] * self.conf.num_classes countdict[superpixel] += 1 for klasse in range(groesse[2]): preddict[superpixel][klasse] += predmatrix[x, y, klasse] towrite = "" spliste = list(preddict.keys()) spliste = sorted(spliste) for sp in spliste: towrite += str(sp) for k in range(self.conf.num_classes): meanpred[sp][k] = round(preddict[sp][k] / countdict[sp], 3) towrite += "," + str(meanpred[sp][k]) towrite += "\n" with open( self.conf.out_dir + '/visual_prediction/probsp_eins/' + img_name + ".csv", 'w') as f: f.write(towrite) if step < 100: print("saving: ", img_name) # for i in range(self.conf.num_classes): # img_name = image_list[step].split('/')[2].split('.')[0] # # Save raw predictions, i.e. each pixel is an integer between [0,20]. # im = Image.fromarray(preds[0, :, :, 0, i], mode='L') # if not os.path.isdir(self.conf.out_dir + "/prediction/" + str(i)): # os.mkdir(self.conf.out_dir + "/prediction/" + str(i)) # filename = '/%s_mask.png' % (img_name) # im.save(self.conf.out_dir + '/prediction/' + str(i) + filename) # # # Save predictions for visualization. # # See utils/label_utils.py for color setting # # Need to be modified based on datasets. # if self.conf.visual: # #msk = decode_labels(preds[:, :, :, :, i], num_classes=self.conf.num_classes) #old version # #im = Image.fromarray(msk[0], mode='RGB') #old version # if not os.path.isdir(self.conf.out_dir + '/visual_prediction/' + str(i)): # os.mkdir(self.conf.out_dir + '/visual_prediction/' + str(i)) # filename = '/%s_mask_visual.png' % (img_name) # print("saving Image") # #im.save(self.conf.out_dir + '/visual_prediction/' + str(i) + filename) #old version # plt.imsave(self.conf.out_dir + '/visual_prediction/' + str(i) + filename, preds[0, :, :, 0, i]) if step % 100 == 0: print('step {:d}'.format(step)) print('The output files has been saved to {}'.format( self.conf.out_dir)) # finish self.coord.request_stop() self.coord.join(threads)
def predict(self): self.predict_setup() self.sess.run(tf.global_variables_initializer()) self.sess.run(tf.local_variables_initializer()) # load checkpoint checkpointfile = self.conf.modeldir + '/model.ckpt-' + str( self.conf.valid_step) self.load(self.loader, checkpointfile) # Start queue threads. threads = tf.train.start_queue_runners(coord=self.coord, sess=self.sess) # img_name_list image_list, _ = read_labeled_image_list('', self.conf.test_data_list) # Predict! for step in range(self.conf.test_num_steps): preds = self.sess.run(self.pred) predmatrix = preds[0, :, :, 0, :] check = np.sum(predmatrix, axis=2) groesse = predmatrix.shape inhalt = "" zeile = "" for x in range(groesse[0]): for y in range(groesse[1]): zeile = str(x) + "," + str(y) for klasse in range(groesse[2]): zeile += "," + str(predmatrix[x, y, klasse]) inhalt += zeile + "\n" img_name = image_list[step].split('/')[2].split('.')[0] with open( self.conf.out_dir + '/visual_prediction/probcsv_eins/' + img_name + ".csv", 'w') as f: f.write(inhalt) if step < 100: print("saving: ", img_name) # for i in range(self.conf.num_classes): # img_name = image_list[step].split('/')[2].split('.')[0] # # Save raw predictions, i.e. each pixel is an integer between [0,20]. # im = Image.fromarray(preds[0, :, :, 0, i], mode='L') # if not os.path.isdir(self.conf.out_dir + "/prediction/" + str(i)): # os.mkdir(self.conf.out_dir + "/prediction/" + str(i)) # filename = '/%s_mask.png' % (img_name) # im.save(self.conf.out_dir + '/prediction/' + str(i) + filename) # # # Save predictions for visualization. # # See utils/label_utils.py for color setting # # Need to be modified based on datasets. # if self.conf.visual: # #msk = decode_labels(preds[:, :, :, :, i], num_classes=self.conf.num_classes) #old version # #im = Image.fromarray(msk[0], mode='RGB') #old version # if not os.path.isdir(self.conf.out_dir + '/visual_prediction/' + str(i)): # os.mkdir(self.conf.out_dir + '/visual_prediction/' + str(i)) # filename = '/%s_mask_visual.png' % (img_name) # print("saving Image") # #im.save(self.conf.out_dir + '/visual_prediction/' + str(i) + filename) #old version # plt.imsave(self.conf.out_dir + '/visual_prediction/' + str(i) + filename, preds[0, :, :, 0, i]) if step % 100 == 0: print('step {:d}'.format(step)) print('The output files has been saved to {}'.format( self.conf.out_dir)) # finish self.coord.request_stop() self.coord.join(threads)
inp_h = json_dict["input_h"] asp = inp_w / inp_h with tf.Session() as sess: print("load graph") with tf.gfile.GFile(model_path, 'rb') as f: graph_def = tf.GraphDef() graph_def.ParseFromString(f.read()) sess.graph.as_default() tf.import_graph_def(graph_def, name='') input = sess.graph.get_tensor_by_name(input) output = sess.graph.get_tensor_by_name(output) image_list, label_list = read_labeled_image_list( data_path, eval_list_path) true_pos = np.zeros(num_classes) false_pos = np.zeros(num_classes) false_neg = np.zeros(num_classes) IoU = [0] * num_classes t_sum = 0 for i, img_path in enumerate(image_list): img = cv2.imread(img_path) label = cv2.imread(label_list[i]) img, label = resize_with_padding(img, label, asp) # ///ресайз и паддинг\\\ one_ch_label = label[:, :, 0] t = timer() # with tf.Session() as sess: