728x90
반응형
t2t transformer 사용하기
설명
transformer
(디코더만): 단일 시퀀스 모델링을 수행하는 경우(사례: 언어 모델링)transformer
(인코더-디코더): 시퀀스가 시퀀스 모델링을 수행하는 경우(사례: 번역)transformer
(인코더만): 인코더만 실행하여 시퀀스의 클래스 모델링을 수행하는 경우(사례: 감정분류)
Transformer
는 Tensor2Tensor 라이브러리에 있는 모델 중 하나일 뿐이다. T2T는 스크립트 세트뿐 아니라 딥러닝 모델과 데이터세트까지 포함된 라이브러리로서, 모델을 학습시키고 데이터를 다운로드 밑 준비하는 데 사용할 수 있다.
Cloud Storage bucket 생성
데이터 / 학습결과를 저장할 버킷 생성
- GCP storage 이동
- 새 버킷 생성
- 고유이름
- 저장소 등급
- 위치: cloud tpu 를 사용하기위해 기본값 그대로 저장
- 버킷에 vocab 과 dataset 저장하기
- data/train-gpu 폴더에 vocab, dataset 저장
ctpu 사용
- GCP Console 창 열기
- cloud tpu를 만들 프로젝트 사용
$ gcloud config set project <my-project> $ gcloud config set project nmt-training
가상머신(VM) and cloud tpu 서비스를 만듬
ctpu up
ctpu up --tpu-size=v3-8 --zone=us-central1-b #v3-8
ctpu will use the following configuration:
Name: [your TPU's name]
Zone: [your project's zone]
GCP Project: [your project's name]
TensorFlow Version: 1.14
VM:
Machine Type: [your machine type]
Disk Size: [your disk size]
Preemptible: [true or false]
Cloud TPU:
Size: [your TPU size]
Preemptible: [true or false]
OK to create your Cloud TPU resources with the above configuration? [Yn]:
compute engine VM 확인
ctpu up
명령어 실행이 끝나면 프롬프트가 username@tpuname
인지 확인한다.
custom t2t_problem git clone
$ git clone https://gitlab.com/dev/tools.git
환경변수 만들기
export STORAGE_BUCKET=gs://nmt-data
export DATA_DIR=$STORAGE_BUCKET/data/train-gpu
export MODEL=transformer
export HPARAMS=transformer_big_enfr_tpu
export PROBLEM=t2t_problem
export TMP_DIR=/tmp/t2t_tmp
export T2T_PROBLEM_DIR=/home/user/t2t
export TRAIN_DIR=$DATA_DIR/gpu
export TPU_NAME=chan-lee
training
t2t-trainer \
--t2t_usr_dir=$T2T_PROBLEM_DIR \
--data_dir=$DATA_DIR \
--problem=$PROBLEM \
--model=$MODEL \
--hparams_set=$HPARAMS \
--output_dir=$TRAIN_DIR \
--cloud_tpu_name=$TPU_NAME \
--use_tpu=True
gcp storage 복사
gsutil cp tacotron-2_image.tar gs://nmt-data/docker/
gsutil cp gs://nmt-data/docker/tacotron-2_image.tar .
삭제
- compute engine VM 연결 해제
$ exit
- cloud shell 에서 cloud tpu 설정 때 사용한 --zone 플래그로
ctpu delete
를 실행하여 compute engine VM 과 cloud tpu 를 삭제
$ ctpu delete [optional: --zone]
ctpu up
실행 때 tpu 리소스 이름을 설정한경우, ctpu delete
때 --name
플래그로 이름을 지정해야 한다
- tpu 사용 확인
$ ctpu status
2018/04/28 16:16:23 WARNING: Setting zone to "us-central1-b" No instances currently exist. Compute Engine VM: -- Cloud TPU: --
728x90
728x90
BIG
'Programming > 환경셋팅' 카테고리의 다른 글
github 자체 CI, CD => action (0) | 2020.07.01 |
---|---|
Rabbit MQ - message queue (0) | 2020.06.24 |
ssh config (0) | 2020.06.20 |
AWS S3 - ec2에 mount 하기 - s3fs보다 2배 빠르다 - goofys (0) | 2019.12.31 |
Data Ingestion, Gobblin (0) | 2016.09.27 |
댓글