Spaces:
Running
Running
# Running Locally | |
This page walks through the steps required to train an object detection model | |
on a local machine. It assumes the reader has completed the | |
following prerequisites: | |
1. The Tensorflow Object Detection API has been installed as documented in the | |
[installation instructions](installation.md). This includes installing library | |
dependencies, compiling the configuration protobufs and setting up the Python | |
environment. | |
2. A valid data set has been created. See [this page](preparing_inputs.md) for | |
instructions on how to generate a dataset for the PASCAL VOC challenge or the | |
Oxford-IIIT Pet dataset. | |
3. A Object Detection pipeline configuration has been written. See | |
[this page](configuring_jobs.md) for details on how to write a pipeline configuration. | |
## Recommended Directory Structure for Training and Evaluation | |
``` | |
+data | |
-label_map file | |
-train TFRecord file | |
-eval TFRecord file | |
+models | |
+ model | |
-pipeline config file | |
+train | |
+eval | |
``` | |
## Running the Training Job | |
A local training job can be run with the following command: | |
```bash | |
# From the tensorflow/models/research/ directory | |
PIPELINE_CONFIG_PATH={path to pipeline config file} | |
MODEL_DIR={path to model directory} | |
NUM_TRAIN_STEPS=50000 | |
SAMPLE_1_OF_N_EVAL_EXAMPLES=1 | |
python object_detection/model_main.py \ | |
--pipeline_config_path=${PIPELINE_CONFIG_PATH} \ | |
--model_dir=${MODEL_DIR} \ | |
--num_train_steps=${NUM_TRAIN_STEPS} \ | |
--sample_1_of_n_eval_examples=$SAMPLE_1_OF_N_EVAL_EXAMPLES \ | |
--alsologtostderr | |
``` | |
where `${PIPELINE_CONFIG_PATH}` points to the pipeline config and | |
`${MODEL_DIR}` points to the directory in which training checkpoints | |
and events will be written to. Note that this binary will interleave both | |
training and evaluation. | |
## Running Tensorboard | |
Progress for training and eval jobs can be inspected using Tensorboard. If | |
using the recommended directory structure, Tensorboard can be run using the | |
following command: | |
```bash | |
tensorboard --logdir=${MODEL_DIR} | |
``` | |
where `${MODEL_DIR}` points to the directory that contains the | |
train and eval directories. Please note it may take Tensorboard a couple minutes | |
to populate with data. | |