读.pbtx文件
讀.pbtx文件tf.gfile.GFile(label_lookup_path,'r').readlines()
imagenet_2012_challenge_label_map_proto.pbtxt文件內(nèi)容
加載pb模型
f = tf.gfile.GFile('../inception_model/classify_image_graph_def.pb','rb') #創(chuàng)建一個圖 graph_def = tf.GraphDef() # dir(graph_def) #將模型載入圖中 graph_def.ParseFromString(f.read()) #將圖在如到當(dāng)前環(huán)境中 tf.import_graph_def(graph_def,name='')根據(jù)pb文件讀出文件結(jié)構(gòu),并測試圖片
softmax = sess.graph.get_tensor_by_name('softmax:0')
輸出測試結(jié)果
num = tf.argmax(predict,1) sess.run(num) num_2_description[274]完整代碼
import tensorflow as tf import numpy as nplabel_lookup_path = '../inception_model/imagenet_2012_challenge_label_map_proto.pbtxt' fid = tf.gfile.GFile(label_lookup_path,'r').readlines() num_2_n_string = {} count = 0 for i,line in enumerate(fid):if line.startswith(' target_class:'):num = line.strip().split(':')[-1]num = int(num) # print(type(num))if line.startswith(' target_class_string:'):n_string = eval(line.strip().split(':')[-1])#eval去掉引號 # print(n_string)num_2_n_string[num] = n_stringcount+= 1 print(num_2_n_string[396],count,len(num_2_n_string.keys()))n_string_description_path = '../inception_model/imagenet_synset_to_human_label_map.txt' n_string_2_description={} fo = open(n_string_description_path,'r') for i,line in enumerate(fo):line = line.strip()if line:n_string,description = line.split('\t') # print(len(line.split('\t'))) # breakn_string_2_description[n_string]=description # if i>10: # breakn_string_2_description['n00004475']num_2_description = {} for num in num_2_n_string.keys():n_string = num_2_n_string[num]if n_string in n_string_2_description:num_2_description[num]=n_string_2_description[n_string] print(len(num_2_description),len(n_string_2_description),len(num_2_n_string)) f = tf.gfile.GFile('../inception_model/classify_image_graph_def.pb','rb') #創(chuàng)建一個圖 graph_def = tf.GraphDef() # dir(graph_def) #將模型載入圖中 graph_def.ParseFromString(f.read()) #將圖在如到當(dāng)前環(huán)境中 tf.import_graph_def(graph_def,name='') # # 根據(jù)pb文件讀出文件結(jié)構(gòu)sess = tf.Session() LOGDIR='./logs/' train_writer = tf.summary.FileWriter(LOGDIR) train_writer.add_graph(sess.graph)softmax = sess.graph.get_tensor_by_name('softmax:0')image_data = tf.gfile.GFile('../images/car.jpg', 'rb').read() predict = sess.run(softmax,feed_dict={'DecodeJpeg/contents:0':image_data})num = tf.argmax(predict,1)sess.run(num)num_2_description[274]總結(jié)
- 上一篇: 机器学习与数学分析(二)
- 下一篇: 从网上批量下载图片并重命名