如何将我的 model.ckpt 文件转换为单个 .ckpt 文件以及如何测试我的模型以预测图像分数?



我正在使用花卉数据集从头开始训练一个初始模型。使用张量流模型提供的脚本。训练的输出是以下文件:

checkpoint
events.out.tfevents.xxxxxx
model.ckpt-xxxx.data-00000-of-00001
model.ckpt-xxxx.index
model.ckpt-xxxx.meta
model.ckpt-xxxx.data-00000-of-00001
model.ckpt-xxxx.index
model.ckpt-xxxx.meta

这些是我得到的一些文件。是否有人有脚本将这些文件转换为我可以用来对图像进行分类的内容?如何使用它来测试我自己的图像?

这是一个三步过程。

第 1 步:希望您已经拥有张量流模型目录,因为您是从中训练的。运行与您拥有的模型目录相关的以下命令:

python models/research/slim/export_inference_graph.py --model_name=<MODEL_NAME> --output_file=<NAME_OF_PB_FILE_CREATED> --dataset_dir=<PATH_TO_TF_RECORDS_DIRECTORY>

例如:

python models/research/slim/export_inference_graph.py --model_name=inception_v3 --output_file=/home/user1/inception_v3_inf_graph.pb --dataset_dir=/home/user1/tfRecords

第 2 步:克隆 tensorflow github 存储库。(git 克隆https://github.com/tensorflow/tensorflow.git(。 对克隆的张量流目录运行以下命令,如下所示:

python tensorflow/tensorflow/python/tools/freeze_graph.py --input_graph=<PATH_TO_PB_FILE_CREATED_IN_STAGE1> --input_checkpoint=<PATH_TO_CKPT_FILES_GENERATED_DURING_TRAINING> --input_binary=true --output_graph=<PATH_TO_SAVE_OUTPUT_FROZEN_GRAPH> --output_node_names=<OUTPUT_NODE_NAMES_OF_MODEL>

例如:

python tensorflow/tensorflow/python/tools/freeze_graph.py --input_graph=/home/user1/inception_v3_inf_graph.pb --input_checkpoint=/home/user1/model.ckpt-50000 --input_binary=true --output_graph=/home/user1/frozen_inception_v3.pb --output_node_names=InceptionV3/Predictions/Reshape_1

请注意示例中的数字 50000。这表示迭代次数。如果已将模型训练了 10 次迭代,则为 10 次。此外,即使每个检查点有3种类型的文件(元,数据和索引(,我们只提到第一部分。脚本将自动解析其余部分。

步骤3:对克隆的张量流目录运行以下命令,如下所示:

python tensorflow/tensorflow/examples/label_image/label_image.py --image=<PATH_TO_TEST_IMAGE_FILE> --input_layer=input --output_layer=<MODEL_OUTPUT_LAYER_NAME> --graph=<PATH_TO_FROZEN_GRAPH_CREATED_IN_STAGE2> --labels=<PATH_TO_LABELS_FILE> --input_mean=<MEAN> --input_std=<STD_DEVIATION>

例如:

python tensorflow/tensorflow/examples/label_image/label_image.py --image=/home/user1/test_img.jpg --input_layer=input --output_layer=InceptionV3/Predictions/Reshape_1 --graph=/home/user1/frozen_inception_v3.pb --labels=/home/user1/labels.txt --input_mean=0 --input_std=255

最后一个会给你预测结果test_img.jpg