tf seq2seq
1.0.0
핵심 빌딩 블록은 RNN 인코더 디코더 아키텍처 및주의 메커니즘입니다.
패키지는 최신 (1.2) TF.Contrib.Seq2Seq 모듈을 사용하여 주로 구현되었습니다.
패키지가 지원됩니다
sample_data.src 및 sample_data.trg 의 원시 병렬 데이터를 전 저장하려면 간단히 실행하십시오.
cd data /
. / preprocess . sh src trg sample_data $ { max_seq_len }위의 코드 실행은 기계 번역 (MT)에 널리 사용되는 전처리 단계를 수행합니다.
Seq2Seq 모델을 훈련시키기 위해
$ python train . py -- cell_type 'lstm'
-- attention_type 'luong'
-- hidden_units 1024
-- depth 2
-- embedding_size 500
-- num_encoder_symbols 30000
-- num_decoder_symbols 30000 ...디코딩을위한 훈련 된 모델을 실행하려면
$ python decode . py -- beam_width 5
-- decode_batch_size 30
-- model_path $PATH_TO_A_MODEL_CHECKPOINT ( e . g . model / translate . ckpt - 100 )
-- max_decode_step 300
-- write_n_best False
-- decode_input $PATH_TO_DECODE_INPUT
-- decode_output $PATH_TO_DECODE_OUTPUT
--beam_width=1 인 경우, 각 시간 단계에서 탐욕스러운 디코딩이 수행됩니다.
데이터 매개 변수
--source_vocabulary : 소스 어휘로가는 길--target_vocabulary : 대상 어휘로가는 길--source_train_data : 소스 교육 데이터로가는 경로--target_train_data : 대상 교육 데이터로가는 경로--source_valid_data : 소스 유효성 검사 데이터로가는 경로--target_valid_data : 대상 유효성 검사 데이터로가는 경로네트워크 매개 변수
--cell_type : 인코더 및 디코더에 사용할 RNN 셀 (기본값 : LSTM)--attention_type :주의 메커니즘 (Bahdanau, Luong), (기본값 : Bahdanau)--depth : 모델의 각 레이어에 대한 숨겨진 장치 수 (기본값 : 2)--embedding_size : 인코더 및 디코더 입력의 치수를 포함시키기 (기본값 : 500)--num_encoder_symbols : 소스 어휘 크기 사용 (기본값 : 30000)--num_decoder_symbols : 사용할 대상 어휘 크기 (기본값 : 30000)--use_residual : 레이어간에 잔여 연결을 사용합니다 (기본값 : true)--attn_input_feeding :주의 디코더에서 입력 공급 방법 사용 (Luong et al., 2015) (기본값 : true)--use_dropout : RNN 셀 출력에서 드롭 아웃 사용 (기본값 : true)--dropout_rate : 셀 출력에 대한 드롭 아웃 확률 (0.0 : 드롭 아웃 없음) (기본값 : 0.3)훈련 매개 변수
--learning_rate : 모델의 각 레이어에 대한 숨겨진 장치 수 (기본값 : 0.0002)--max_gradient_norm :이 표준으로 클립 그라디언트 (기본 1.0)--batch_size : 배치 크기--max_epochs : 최대 훈련 에포크--max_load_batches : 한 번에 최대 배치 수.--max_seq_length : 최대 시퀀스 길이--display_freq :이 반복마다 훈련 상태를 표시합니다--save_freq :이 반복마다 모델 체크 포인트를 저장합니다--valid_freq :이 반복마다 모델을 평가합니다.--optimizer : 교육용 최적화 : (Adadelta, Adam, RMSProp) (기본값 : Adam)--model_dir : 모델 체크 포인트를 저장하는 경로--model_name : 모델 체크 포인트에 사용되는 파일 이름입니다--shuffle_each_epoch : 각 epoch에 대한 셔플 트레이닝 데이터 세트 (기본값 : true)--sort_by_length : 대상 시퀀스 길이로 미리 가져온 미니 배치 정렬 (기본값 : true)매개 변수 디코딩
--beam_width : BeamSearch에 사용되는 빔 폭 (기본값 : 1)--decode_batch_size : 디코딩에 사용되는 배치 크기--max_decode_step : 디코딩의 최대 시간 단계 제한 (기본값 : 500)--write_n_best : write beamsearch n-best list (n = beam_width) (기본값 : false)--decode_input : 디코드를 입력하는 입력 경로--decode_output : 디코딩 출력의 출력 파일 경로런타임 매개 변수
--allow_soft_placement : 장치 소프트 배치를 허용합니다--log_device_placement : 장치에 OPS의 로그 배치 구현은 다음 프로젝트를 기반으로합니다.
의견과 피드백은 [email protected]으로 이메일을 보내거나 여기에서 문제를여십시오.