inspect_checkpoint.py のコードを使用してチェックポイントを検査しようとしました。ただし、実際には例が提供されていないため、機能させることができませんでした。私はうまくいくと思った最も簡単なことを試しました:
tf.python.tools.inspect_checkpoint.print_tensors_in_checkpoint_file(file_name='./tmp/mdl_ckpt',tensor_name='',all_tensors='')
ただし、python
には属性tools
がないことがわかります。
AttributeError: module 'tensorflow.python' has no attribute 'tools'
(恥ずかしいことに)些細なバグ/問題のようです。誰かが何が起こっているのか知っていますか?なぜツールが見つからないのですか?また、見つかったとしても、そのファイルで提供されている関数をどのように実行しますか?
残念ながら、非常に関連のある質問では、この問題を回避する方法についての答えは得られませんでした。質問はここにあります テンソルフローチェックポイントに保存された変数名をどのように見つけることができますか?
これを試して:
from tensorflow.python.tools.inspect_checkpoint import print_tensors_in_checkpoint_file
print_tensors_in_checkpoint_file(file_name='./tmp/mdl_ckpt', tensor_name='', all_tensors=False)
all_tensors
引数は Tensorflow 0.12.0-rc 以降に追加されました。
まあ、inspect_checkpoint.pyはバイナリではありませんか?
このような何かがうまくいくかもしれません:
bazel run tensorflow/python/tools:inspect_checkpoint -- --file_name=YOUR_CKPT
編集:
またはバゼルなし:
Tensorflowがインストールされている場所を見つけて、python
を指定してコマンドを実行します。
python PATH_TO_VENV/lib/python3.6/site-packages/tensorflow/python/tools/inspect_checkpoint.py --file_name=YOUR_CKPT
すべてのオプションについては、ファイル自体を参照してください: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/inspect_checkpoint.py
最新の安定したTensorFlowバージョン1.13以降のTF 2.0では、チェックポイントを検査する最も簡単な方法は次のとおりです。
path = './tmp/mdl_ckpt'
get_checkpoint = tf.train.latest_checkpoint(path)
#this retrieves the latest checkpoin file form path, but it also can be set manually
inspect_list = tf.train.list_variables(get_checkpoint)
これにより、特定のチェックポイント内のすべての変数名のリストが作成されます
inspect_checkpoint
を使用する コマンドラインインターフェイス を使用することもできます。
python -m tensorflow.python.tools.inspect_checkpoint --file_name bad_model/Epoch-233
python -m tensorflow.python.tools.inspect_checkpoint --file_name bad_model/Epoch-233 --all_tensors
python -m tensorflow.python.tools.inspect_checkpoint --file_name bad_model/Epoch-233 --all_tensor_names