0

I am training my own dataset using Tensorflow Object Detection API. While training, I only get loss value like this. Is there any way to get mAP value while training or on tensorboard ?

Yusuf Altıparmak
  • 456
  • 1
  • 6
  • 16

1 Answers1

0

in the legacy/train.py and legacy/eval.py

Example usage:
    ./train \
        --logtostderr \
        --train_dir=path/to/train_dir \
        --pipeline_config_path=pipeline_config.pbtxt

Example usage:
    ./eval \
        --logtostderr \
        --checkpoint_dir=path/to/checkpoint_dir \
        --eval_dir=path/to/eval_dir \
        --pipeline_config_path=pipeline_config_path.pbtxt \

for one terminal you use train.py to train ,

for another terminal you use eval.py to evaluate ,

make sure train_dir same as checkpoint_dir and eval_dir

and the other terminal open up tensorboard

make sure u arrange ur hardware device, otherwise u might not able open both train and eval in the same time

han hsin
  • 16
  • 1
  • 3
  • Hello, I can not run them together because of a CUDA error. Can I run eval.py after train.py finished ? and what exactly this eval.py doing ? thanks for the answer – Yusuf Altıparmak Mar 13 '19 at 13:00
  • First, eval is what u want from ur question. u expect to get mAP value while training. eval.py gives u the mAP. Like i said, u need to set these two codes into different devices. For instance, train model in the GPU; get map(eval) by CPU. In this case, u might need add a line inside the eval.py. Look at this link [link](https://stackoverflow.com/questions/37660312/how-to-run-tensorflow-on-cpu) . This teach u to make this code be run under cpu. After u made this two code run in the same time, and follow what i said above. U might get the map and training loss in the tensorboard. – han hsin Mar 13 '19 at 15:08