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 ?
Asked
Active
Viewed 1,129 times
1 Answers
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