1

事前にトレーニングされたモデルを使用し、その最後にセグメンテーション ヘッドを追加したいのですが、問題は「frozen_inference_graph.pb」しかないことです。これらは私がモデルから持っているファイルです:

ここに画像の説明を入力

私はいくつかの方法を試しました:

1. 事前トレーニング済みのモデルを Keras モデルにロードする: 私が持っているファイルでは不可能のようです。モデルの代わりに AutoTrackable オブジェクトが表示されるだけです。

2. 凍結モデルの Tensor オブジェクトにアクセスし、テンソルを使用してモデルを作成する: テンソル にアクセスする方法はわかりましたが、Tensor オブジェクトを使用して Keras モデルを作成できませんでした。

with self.graph.as_default():
    graph = tf.import_graph_def(graph_def, name='')

graph = tf.compat.v1.import_graph_def(graph_def)
tf.compat.v1.Graph.as_default(graph)
self.sess = tf.Session(graph=self.graph)
self.tensors = [tensor for op in tf.compat.v1.get_default_graph().get_operations() for tensor in op.values()]

ここでテンソルを取得できますが、モデルでテンソルを使用することはできません:

model = tf.keras.models.Model(inputs=self.tensors[0], outputs=self.tensors[-1])

この凍結されたグラフを Keras モデルに変換する方法はありますか? または、モデルをトレーニングできる別のアプローチがあれば、喜んでお知らせします。

PS 事前トレーニング済みのモデルは「ssd_mobilenet_v3_small_coco_2020_01_14」で、こちらにあります

4

1 に答える 1