train_bash for object_detection

How to Train with Object Detection API

Assert we have this directories.

  • research CURRENT_DIR
    • object_detection WORK_DIR from this dir to run the script
      • prj_dir PRJ_FOLDER
        • local_or_cloud-train_or_eval-algorithm-dataset-det_or_seg.sh
        • readme.md record the project’s main task, and how to use this project
        • init_models INIT_FOLDER
        • exp_200430 EXP_DIR experiment and date
          • train
          • eval
          • vis
          • export
          • logs
          • faster_rcnn_resnet50_pets.config
        • datasets DATASET_DIR
          • TLR_DC_Road_v1_0
            • Annotations
            • ImageSet
            • JPEGImages
            • SegmentationClass
            • SegmentationObject
            • TFRecordDet_v1_0
              • train-00000-of-00004.tfrecord
              • trainval-00000-of-00004.tfrecord
              • val-00000-of-00004.tfrecord
              • label_map.pbtxt
            • TFRecordSeg_v1_0
              • *.tfrecord
            • scripts_to_create_tfrecord.py
            • scripts_to_extract_images_from_video.py
            • readme.md

from models/research/deeplab/train_deeplab_pascal_voc_seg.sh

#!/bin/bash

# Usage:
#   # From the tensorflow/models/research/object_detection directory.
#   sh ./prj_dir/local_or_cloud-train_or_eval-algorithm-dataset-det_or_seg.sh

# Exit immediately if a command exits with a non-zero status.
set -e

# Move one-level up to tensorflow/models/research directory.
cd ..

# Update PYTHONPATH.
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

# Set up the working environment.
CURRENT_DIR=$(pwd)
WORK_DIR="${CURRENT_DIR}/object_detection"

# Go to datasets folder and download PASCAL VOC 2012 segmentation dataset.
DATASET_DIR="datasets"
# cd "${WORK_DIR}/${DATASET_DIR}"
# sh download_and_convert_voc2012.sh

# Go back to original directory.
cd "${CURRENT_DIR}"

# Set up the working directories.
PRJ_DIR="traffic_light_det_v1_0"
EXP_DIR="exp_v200430"
INIT_FOLDER="${WORK_DIR}/${PRJ_DIR}/init_models"
TRAIN_LOGDIR="${WORK_DIR}/${PRJ_DIR}/${EXP_DIR}/train"
EVAL_LOGDIR="${WORK_DIR}/${PRJ_DIR}/${EXP_DIR}/eval"
VIS_LOGDIR="${WORK_DIR}/${PRJ_DIR}/${EXP_DIR}/vis"
EXPORT_DIR="${WORK_DIR}/${PRJ_DIR}/${EXP_DIR}/export"
LOGS_DIR="${WORK_DIR}/${PRJ_DIR}/${EXP_DIR}/logs"
mkdir -p "${INIT_FOLDER}"
mkdir -p "${TRAIN_LOGDIR}"
mkdir -p "${EVAL_LOGDIR}"
mkdir -p "${VIS_LOGDIR}"
mkdir -p "${EXPORT_DIR}"
mkdir -p "${LOGS_DIR}"

# Copy locally the trained checkpoint as the initial checkpoint.
# TF_INIT_ROOT="http://download.tensorflow.org/models"
# TF_INIT_CKPT="deeplabv3_pascal_train_aug_2018_01_04.tar.gz"
# cd "${INIT_FOLDER}"
# wget -nd -c "${TF_INIT_ROOT}/${TF_INIT_CKPT}"
# tar -xf "${TF_INIT_CKPT}"
# cd "${CURRENT_DIR}"

# TO BE REWRITE
PRJ_DATASET="${WORK_DIR}/${DATASET_DIR}/TLR_DC_Road_v1_0/TFRecordObjDet"

# Train, Eval and Test
# From the tensorflow/models/research/ directory
PIPELINE_CONFIG_PATH="${WORK_DIR}/${PRJ_DIR}/${EXP_DIR}/train"
MODEL_DIR="${TRAIN_LOGDIR}"
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


# Export the trained checkpoint.
CKPT_PATH="${TRAIN_LOGDIR}/model.ckpt-${NUM_ITERATIONS}"
EXPORT_PATH="${EXPORT_DIR}/frozen_inference_graph.pb"

python "${WORK_DIR}"/export_model.py \
  --logtostderr \
  --checkpoint_path="${CKPT_PATH}" \
  --export_path="${EXPORT_PATH}" \
  --model_variant="xception_65" \
  --atrous_rates=6 \
  --atrous_rates=12 \
  --atrous_rates=18 \
  --output_stride=16 \
  --decoder_output_stride=4 \
  --num_classes=21 \
  --crop_size=513 \
  --crop_size=513 \
  --inference_scales=1.0

# Run inference with the exported checkpoint.
# Please refer to the provided deeplab_demo.ipynb for an example.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值