이전 포스팅에서 tensorflow 2.3버전에 대한 학습과 검증 그리고 tensorboard의 사용법까지 알아 보았습니다
이번 포스팅에서는 tensorflow 1.13버전의 학습에 대하여 알아 볼 것이며
앞서 tensorflow 2.3 버전 같은 경우 총 10만회의 학습에 10시간 정도 소요되었으며
이러한 부분의 편의성을 위하여 백그라운드에서 학습을 진행하는 nohup 명령에 대해서도 알아 보겠습니다
우선 tensorflow 1환경에서의 학습을 진행하겠습니다
앞서 말한것 처럼 tensorflow1환경은 학습과 검증이 같이 이루어 집니다
우선 nohup등을 사용할 예정이므로 nvcc를 사용할 것 이기 때문에
path를 nvcc가 존재하는 cuda-10.0/bin으로 설정해 주었고
pipeline.config 수정과 관련한 부분은 앞서 설명한 tensorflow2버전과 동일하게 진행 하였습니다
tensorflow1버전에 help를 해 보면 checkpoint_every_n이 보이지 않는데 이 부분은
프로세스 한개로 학습과 검증이 함께 이루어 지기 때문에 해당 옵션이 존재하지 않으며
코드 내부에 설정되어 있습니다
~/miniconda3/envs/tensorflow1.13_directory/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/run_config.py
에 들어가 보면
save_summary_step 텐서보드 이벤트 로그의 빈도 수 설정
save_checkpoints_steps 우리가 찾는 빈도수로 체크포인트 설정
save_checkpoints_secs 몇초마다 체크포인트 설정
keep_checkpoint_max 총 유지할 체크포인트 개수 벗어나면 제일 오래된것 삭제
log_step_count_steps 터미널에 찍히는 로그의 빈도수 설정
에 대하여 설정한 부분이 존재 할 것입니다
해당부분이 main.py에 runconfig부분에 설정되어 있으므로
해당 부분에
config = tf.estimator.RunConfig(model_dir=FLAGS.model_dir,save_checkpoints_steps=2500,keep_checkpoint_max=50)
이런식으로 2500step당 한번씩 checkpoint를 검증하는 구문을 추가해 주었습니다
이번에는 nohup을 이용하여 백그라운드에서 학습과 검증을 진행해 볼 것인데
기본적인 nohup의 문법은 nohup 사용할 명렁어 >>로그기록 경로/(로그파일이름).log& 형식이 될 것입니다
총 명령어는
nohup python model_main.py --model_dir /home/user_dir/tensorflow/train/tf1_ssd_resnet/ --pipeline_config_path /home/user_dir/tensorflow/train/tf1_ssd_resnet/pipeline.config >> /home/user_dir/tensorflow/train/tf1_ssd_resnet/train.log &
이렇게 되며 해당 명령은 model_main.py가 존재하는 models_r1.13/research/object_detection에서 진행하였습니다
명령어 실행 시 tf1_ssd_resnet속에 log파일이 생성되는 것을 볼 수 있으며
tail -f train.log명령을 입력하면 최신 log의 열람이 가능합니다
이번에는 tensorboard 또한 nohup을 이용하여 실행시켰으며
해당 방법으로 진행시 컴퓨터를 재접속 시에도 tensorboard를 따로 명령으로 실행시킬 필요 없이
브라우저에 ip주소만 입력하면 바로 tensorboard 열람이 가능합니다
명령은 nohup tensorboard --logdir=./ >> /home/hhnam/tensorflow/train/tensorboard.log &
이며 현재 디렉토리(log기록 디렉토리)이므로 ./으로 logdir을 설정했습니다
'tensorflow-machine learning' 카테고리의 다른 글
jetson board 환경설정 및 saved_model ,frozen_graph 생성 (0) | 2021.12.16 |
---|---|
Tensorflow model training & mAP , Tensorboard (0) | 2021.11.10 |
machine learning pipline config 작성법 (0) | 2021.11.05 |
동영상 frame rate로 자르기 및 annotation (0) | 2021.10.28 |
[tensorflow 환경 설정] (0) | 2021.10.03 |