transformer tensorflow
1.0.0
การใช้ Tensorflow ความสนใจเป็นสิ่งที่คุณต้องการ (2017. 6)

โครงการ init โดย HB-base
.
├── config # Config files (.yml, .json) using with hb-config
├── data # dataset path
├── notebooks # Prototyping with numpy or tf.interactivesession
├── transformer # transformer architecture graphs (from input to logits)
├── __init__.py # Graph logic
├── attention.py # Attention (multi-head, scaled_dot_product and etc..)
├── encoder.py # Encoder logic
├── decoder.py # Decoder logic
└── layer.py # Layers (FFN)
├── data_loader.py # raw_date -> precossed_data -> generate_batch (using Dataset)
├── hook.py # training or test hook feature (eg. print_variables)
├── main.py # define experiment_fn
└── model.py # define EstimatorSpec
การอ้างอิง: hb-config, ชุดข้อมูล, Experiments_fn, EmentatorsPec
สามารถควบคุม สภาพแวดล้อมการทดลอง ทั้งหมด
ตัวอย่าง: check-tiny.yml
data :
base_path : ' data/ '
raw_data_path : ' tiny_kor_eng '
processed_path : ' tiny_processed_data '
word_threshold : 1
PAD_ID : 0
UNK_ID : 1
START_ID : 2
EOS_ID : 3
model :
batch_size : 4
num_layers : 2
model_dim : 32
num_heads : 4
linear_key_dim : 20
linear_value_dim : 24
ffn_dim : 30
dropout : 0.2
train :
learning_rate : 0.0001
optimizer : ' Adam ' ('Adagrad', 'Adam', 'Ftrl', 'Momentum', 'RMSProp', 'SGD')
train_steps : 15000
model_dir : ' logs/check_tiny '
save_checkpoints_steps : 1000
check_hook_n_iter : 100
min_eval_frequency : 100
print_verbose : True
debug : False
slack :
webhook_url : " " # after training notify you using slack-webhookcheck-tiny เป็นชุดข้อมูลที่มีประมาณ 30 ประโยค ที่แปลจากภาษาเกาหลีเป็นภาษาอังกฤษ (แนะนำอ่าน :)) ติดตั้งข้อกำหนด
pip install -r requirements.txt
จากนั้นข้อมูลดิบก่อนประมวลผล
python data_loader.py --config check-tiny
ในที่สุดเริ่มรถไฟและประเมินรูปแบบ
python main.py --config check-tiny --mode train_and_evaluate
หรือคุณสามารถใช้ชุดข้อมูล IWSLT'15 English-Vietnamese
sh prepare-iwslt15.en-vi.sh # download dataset
python data_loader.py --config iwslt15-en-vi # preprocessing
python main.py --config iwslt15-en-vi --mode train_and_evalueate # start training
หลังการฝึกอบรมคุณสามารถทดสอบแบบจำลองได้
python predict.py --config {config} --src {src_sentence}$ python predict.py --config check-tiny --src " 안녕하세요. 반갑습니다. "
------------------------------------
Source: 안녕하세요. 반갑습니다.
> Result: Hello . I ' m glad to see you . <s> vectors . <s> Hello locations . <s> will . <s> . <s> you . <s> ✅: ทำงาน
◽: ยังไม่ได้ทดสอบ
evaluate : ประเมินข้อมูลการประเมินผลextend_train_hooks : ขยายตะขอสำหรับการฝึกอบรมreset_export_strategies : รีเซ็ตกลยุทธ์การส่งออกด้วย new_export_strategiesrun_std_server : เริ่มเซิร์ฟเวอร์ Tensorflow และเข้าร่วมเธรดการให้บริการtest : การทดสอบการฝึกอบรมการประเมินและส่งออกประมาณการสำหรับขั้นตอนเดียวtrain : พอดีกับตัวประมาณโดยใช้ข้อมูลการฝึกอบรมtrain_and_evaluate : การฝึกอบรมและการประเมินผล interleaves tensorboard --logdir logs

Dongjun Lee ([email protected])