python - TensorBoard:评估 TensorFlow 模型的质量
问题描述
我想使用名为“efficientdet_d1_coco17_tpu-32”的预训练 TensorFlow2 模型来训练和评估神经网络。这是一个针对对象检测的沙盒示例。训练数据集由 130 张图像组成,测试数据集有 15 张。目前我将工作分为两个阶段:(i)训练和(ii)评估。为了训练,我使用以下 bash 脚本:
export PIPELINE_CONFIG_PATH=models/my_efficientdet_d1_coco17_tpu-32/pipeline.config
export MODEL_DIR=models/my_efficientdet_d1_coco17_tpu-32
export NUM_TRAIN_STEPS=25000
export NUM_EVAL_STEPS=25
export SAMPLE_1_OF_N_EVAL_EXAMPLES=1
python ./model_main_tf2.py \
--pipeline_config_path=${PIPELINE_CONFIG_PATH} \
--model_dir=${MODEL_DIR} \
--num_train_steps=${NUM_TRAIN_STEPS} \
--num_eval_steps=${NUM_EVAL_STEPS} \
--sample_1_of_n_eval_examples=${SAMPLE_1_OF_N_EVAL_EXAMPLES} \
--alsologtostderr
训练完成后(运行 25000 次迭代),我使用类似的 bash 脚本启动评估:
export PIPELINE_CONFIG_PATH=models/my_efficientdet_d1_coco17_tpu-32/pipeline.config
export MODEL_DIR=models/my_efficientdet_d1_coco17_tpu-32
export CHECKPOINT_DIR=${MODEL_DIR}
python ./model_main_tf2.py \
--pipeline_config_path=${PIPELINE_CONFIG_PATH} \
--model_dir=${MODEL_DIR} \
--checkpoint_dir=${CHECKPOINT_DIR} \
--alsologtostderr
但是,当我在 TensorBoard 上查看训练和评估结果时,我在图表上只看到一个评估点。请您指导我,如何根据多个点制作评估图?我认为这是--num_eval_steps
参数,但显然不是这样。任何指导将不胜感激。
根据类似的问题,评估使用来自最终检查点的数据。是否可以指示 TensorFlow/TensorBoard 使用所有可用的检查点?我还注意到随着训练的进行,检查点文件会逐渐被删除。是否有可能保存所有这些?
解决方案
推荐阅读
- java - Spring Data JPA 无法实例化持久化程序 org.hibernate.persister.entity.JoinedSubclassEntityPersister
- html - Angular 4:只要表单未验证,就禁用按钮
- java - RX Java - subscribeOn 和 observeOn 的不同行为
- c# - Bacnet/IP 与 .NET
- java - 注释的 AOP 在 Spring Boot 中不起作用
- html - 与媒体查询相同的边距
- ruby-on-rails - Rails,请求的资源上不存在“Access-Control-Allow-Origin”标头
- python - Tkinter 按钮不执行命令
- jasmine - 无法获取字段形式的 SVG 对象并移动它们
- java - 在 sqlite 数据库中搜索数据时出错