Google Machine Learning Engine에서 물체 탐지 훈련
11439 단어 물체 검측CloudMachineLearning
다음은 집행 절차와 비용 등을 총괄한다.
github
git clonehttps://github.com/k-yamada/tf-face-detector로 설정하십시오.
git clone https://github.com/k-yamada/tf-face-detector.git
cd tf-face-detector
virtualenv --system-site-packages ~/tf-face-detector
source ~/tf-face-detector/bin/activate
git submodule update --init
pip install -r requirements.txt
2. Cloud Plaatform Constore 항목 작성 및 설정프로젝트 이름은 "tf-face-detector"입니다.
3. 포장
cd models
protoc object_detection/protos/*.proto --python_out=.
python setup.py sdist
(cd slim && python setup.py sdist)
4. 모델 트레이닝 및 배치 예측 수행 중 데이터를 읽고 쓰기 위한 Google Cloud Storage 통 만들기PROJECT_ID=$(gcloud config list project --format "value(core.project)")
BUCKET_NAME=${PROJECT_ID}-mlengine2
REGION=asia-east1
# バケットを作成
gsutil mb -l $REGION gs://$BUCKET_NAME
5. Cloud Storage 통에 데이터 파일 업로드gsutil을 사용하여 데이터 디렉토리를 Cloud Storage 통에 복제합니다.
# TODO: data/fddbはコピーする必要がないので、除外する
gsutil cp -r data gs://$BUCKET_NAME/data
6. Cloud Storage 통에 config 파일 업로드perl -pe "s|PATH_TO_BE_CONFIGURED|gs://$BUCKET_NAME/data|g" ./ssd_inception_v2_fddb.config.base > ssd_inception_v2_fddb.config
gsutil cp -r ssd_inception_v2_fddb.config gs://$BUCKET_NAME/ssd_inception_v2_fddb.config
7. 구름 위에서 단일 실례 훈련분산 훈련을 하기 전에 먼저 단일 실례에서 훈련을 하고 동작을 확인한다.
JOB_NAME=object_detection_`date +%Y%m%dT%I%M%S`
TRAIN_DIR=${BUCKET_NAME}/train
OUTPUT_PATH=gs://$BUCKET_NAME/$JOB_NAME
HPTUNING_CONFIG=./hptuning_config.yaml
gcloud ml-engine jobs submit training $JOB_NAME \
--runtime-version 1.2 \
--job-dir $OUTPUT_PATH \
--packages models/dist/object_detection-0.1.tar.gz,models/slim/dist/slim-0.1.tar.gz \
--module-name object_detection.train \
--region $REGION \
-- \
--train_dir=${OUTPUT_PATH}/train \
--pipeline_config_path=gs://${BUCKET_NAME}/ssd_inception_v2_fddb.config \
--train-steps 1000 \
--verbosity DEBUG
8.구름으로 분산훈련JOB_NAME=object_detection_`date +%Y%m%dT%I%M%S`
TRAIN_DIR=${BUCKET_NAME}/train
OUTPUT_PATH=gs://$BUCKET_NAME/$JOB_NAME
HPTUNING_CONFIG=./hptuning_config.yaml
gcloud ml-engine jobs submit training $JOB_NAME \
--runtime-version 1.2 \
--job-dir $OUTPUT_PATH \
--packages models/dist/object_detection-0.1.tar.gz,models/slim/dist/slim-0.1.tar.gz \
--module-name object_detection.train \
--region $REGION \
--config $HPTUNING_CONFIG \
-- \
--train_dir=${OUTPUT_PATH}/train \
--pipeline_config_path=gs://${BUCKET_NAME}/ssd_inception_v2_fddb.config
tensorboard 시작tensorboard --logdir=$OUTPUT_PATH
약 35000보를 돌렸지만 토탈리스는 10000보마다 수렴했다.
9. Export graph
export CHECKPOINT_NUMBER=<target checkpoint number>
gsutil cp ${OUTPUT_PATH}/train/model.ckpt-${CHECKPOINT_NUMBER}.data-00000-of-00001 train/
gsutil cp ${OUTPUT_PATH}/train/model.ckpt-${CHECKPOINT_NUMBER}.index train/
gsutil cp ${OUTPUT_PATH}/train/model.ckpt-${CHECKPOINT_NUMBER}.meta train/
export PYTHONPATH=${PYTHONPATH}:$(pwd)/models:$(pwd)/models/slim
export EXPORT_DIRECTORY=/tmp
rm -rf $EXPORT_DIRECTORY/saved_model
python models/object_detection/export_inference_graph.py \
--input_type=encoded_image_string_tensor \
--pipeline_config_path=ssd_inception_v2_fddb.config \
--trained_checkpoint_prefix=train/model.ckpt-${CHECKPOINT_NUMBER} \
--output_directory=${EXPORT_DIRECTORY}
검사 결과학습 데이터가 부족해서 그런 것 같은데 눈 위치가 틀린 경우도 있어요.
공부에 드는 시간과 비용
참조: 비용
ML 트레이닝 단원은 시간당
$0.54
.이번에 소비한 ML 단원은 39.37이기 때문에 소비한 비용은
$0.54 x 39.37MLユニット = $25.26 = 2828円
.이 밖에도 클라우드 스토어 이용료는 지불해야 하지만 수십엔 정도만 필요하기 때문에 포함되지 않는다.
Reference
이 문제에 관하여(Google Machine Learning Engine에서 물체 탐지 훈련), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/k-yamada-github/items/6c15fa0928ee93b78f52텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)