6

Tensorflow API を使用してニューラル ネットワークをトレーニングするためにカスタム イメージ セットを使用しています。トレーニング プロセスが成功した後、さまざまなトレーニング変数の値を含むこれらのチェックポイント ファイルを取得します。これらのチェックポイント ファイルから推論モデルを取得したいと考えています。これを行うこのスクリプトを見つけました。このスクリプトを使用して、このチュートリアルで説明されているように、deepdream イメージを生成できます。問題は、次を使用してモデルをロードするときです。

import tensorflow as tf
model_fn = 'export'

graph = tf.Graph()
sess = tf.InteractiveSession(graph=graph)
with tf.gfile.FastGFile(model_fn, 'rb') as f:
  graph_def = tf.GraphDef()
  graph_def.ParseFromString(f.read())
t_input = tf.placeholder(np.float32, name='input')
imagenet_mean = 117.0
t_preprocessed = tf.expand_dims(t_input-imagenet_mean, 0)
tf.import_graph_def(graph_def, {'input':t_preprocessed})

次のエラーが表示されます。

graph_def.ParseFromString(f.read())

self.MergeFromString(シリアル化)

raise message_mod.DecodeError('Unexpected end-group tag.') google.protobuf.message.DecodeError: Unexpected end-group tag.

スクリプトはプロトコル バッファ ファイルを想定しています。推論モデルの生成に使用しているスクリプトが proto バッファ ファイルを提供しているかどうかはわかりません。

誰かが私が間違っていることを提案してもらえますか、またはこれを達成するためのより良い方法があります. テンソルによって生成されたチェックポイント ファイルをプロト バッファに変換したいだけです。

ありがとう

4

1 に答える 1