1

https://github.com/tensorflow/models/tree/master/slimpretrained Inception_v4モデルに

を使用してこれはインセプションV1-4 pretrainedモデルのためのチェックポイントのダウンロードリンクを提供します。ただし、tar.gzには.ckptファイルのみが含まれています。

Inception v3 2012 [This link]の使用に関するチュートリアルでは、tar.gzには分類に使用される.pbファイルと.pbtxtファイルが含まれています。

.ckptファイルを使用してそれぞれ.pbファイルと.pbtxtファイルを生成するにはどうすればよいですか? OR 分類に.ckptファイルを使用する別の方法はありますか?

答えて

0

私もinception_v4モデルを試しています。私の検索中に、チェックポイントファイルに重みが含まれていることが分かりました。インラインでこれを使用するには、inception_v4.pyからロードする必要があるinception_v4グラフと、チェックポイントファイルからセッションを復元する必要がありました。次のコードは、チェックポイントファイルを読み込み、protobufファイルを作成します。

import tensorflow as tf 
slim = tf.contrib.slim 
import tf_slim.models.slim.nets as net 
# inception_v3_arg_scope 
import tf_slim 
import inception_v4 as net 
import cv2 


# checkpoint file 
checkpoint_file = '/home/.../inception_v4.ckpt' 

# Load Session 
sess = tf.Session() 
arg_scope = net.inception_v4_arg_scope() 
input_tensor = tf.placeholder(tf.float32, [None, 299, 299, 3]) 
with slim.arg_scope(arg_scope): 
    logits, end_points = net.inception_v4(inputs=input_tensor) 

saver = tf.train.Saver() 
saver.restore(sess, checkpoint_file) 
f = tf.gfile.FastGFile('./mynet.pb', "w") 
f.write(sess.graph_def.SerializeToString()) 
f.close() 

# reading the graph 
# 
with tf.gfile.FastGFile('./mynet.pb', 'rb') as fp: 
    graph_def = tf.GraphDef() 
    graph_def.ParseFromString(fp.read()) 

    with tf.Session(graph=tf.import_graph_def(graph_def, name='')) as sess: 
    # op = sess.graph.get_operations() 
    # with open('./tensors.txt', mode='w') as fp: 
    #  for m in op: 
    #  #  print m.values() 
    #   fp.write('%s \n' % str(m.values())) 
    cell_patch = cv2.imread('./car.jpg') 
    softmax_tensor = sess.graph.get_tensor_by_name('InceptionV4/Logits/Predictions:0') 
    predictions = sess.run(softmax_tensor, {'Placeholder:0': cell_patch}) 

しかし、上記のコードはあなたに予測を与えません。私はグラフに入力を与える際に問題に直面しているからです。しかし、チェックポイントファイルで作業するのは良い出発点です。

チェックポイントを次のリンクからダウンロードします。checkpoints

関連する問題