tensorflow 2中的对象检测期间未显示训练和验证数据的性能指标

问题描述

我正在使用efficiencydet-d1在自定义数据集中训练对象检测模型。 我正在使用colab中的 tensorflow 2

我已经参考了以下教程

https://gilberttanner.com/blog/tensorflow-object-detection-with-tensorflow-2-creating-a-custom-model

https://towardsdatascience.com/how-to-train-a-tensorflow-2-object-detection-model-25d4da64b817

https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/training.html

我正在使用以下代码进行模型训练:

!python model_main_tf2.py \
    --pipeline_config_path=models/efficientdet_d1-round3/pipeline.config \
    --model_dir=models/efficientdet_d1-round3 \
    --logtostderr

colab终端中的输出

INFO:tensorflow:Step 100 per-step time 1.300s loss=1.238
I1008 07:51:04.238269 140334195148672 model_lib_v2.py:652] Step 100 per-step time 1.300s loss=1.238
INFO:tensorflow:Step 200 per-step time 1.142s loss=1.260
.....

我尝试使用以下命令启用tensorboard,但即使我打开新网页并键入http:// localhost:6006 /

,它也无法通过colab打开
#method 1
%load_ext tensorboard
%tensorboard --logdir './models/efficientdet_d1-round3/train'
# method 2
!wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
!unzip -o ngrok-stable-linux-amd64.zip
LOG_DIR = "models/efficientdet_d1-round3/train" #"training/"
get_ipython().system_raw(
    'tensorboard --logdir {} --host 0.0.0.0 --port 6006 &'
    .format(LOG_DIR)
)
get_ipython().system_raw('./ngrok http 6006 &')
#The link to tensorboard.
#works after the training starts.
!curl -s http://localhost:4040/api/tunnels | python3 -c \
    "import sys,json; print(json.load(sys.stdin)['tunnels'][0]['public_url'])"

问题:

  1. 有什么想法可以通过colab上的张量板检查模型训练的进度吗?
  2. 或者,有什么方法可以将不同的度量标准(训练损失,验证损失,mAP)打印到文本文件中,然后用于绘图?

我找到了一些用于启用模型回调的链接,但这些链接用于分类模型。

Plot multiple graphs in one plot using Tensorboard

此外,与对象检测有关的大多数链接都用于张量流1(请参见下文)。

Train Tensorflow Object Detection on own dataset

我对使用图像进行深度学习相对较新,并且已经为此奋斗了一个多月。任何建议/提示/链接都将受到感激。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...