tf seq2seq
1.0.0
หน่วยการสร้างหลักคือสถาปัตยกรรมตัวเข้ารหัส RNN และกลไกความสนใจ
แพ็คเกจส่วนใหญ่ใช้โดยใช้โมดูล tf.contrib.seq2seq ล่าสุด (1.2)
แพ็คเกจรองรับ
ในการประมวลผลข้อมูลคู่ขนานดิบล่วงหน้าของ 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 Cell เพื่อใช้สำหรับตัวเข้ารหัสและตัวถอดรหัส (ค่าเริ่มต้น: LSTM)--attention_type : กลไกความสนใจ (Bahdanau, Luong), (ค่าเริ่มต้น: Bahdanau)--depth : จำนวนหน่วยที่ซ่อนอยู่สำหรับแต่ละเลเยอร์ในรุ่น (ค่าเริ่มต้น: 2)--embedding_size : การฝังขนาดของอินพุตตัวเข้ารหัสและตัวถอดรหัส (ค่าเริ่มต้น: 500)--num_encoder_symbols : ขนาดคำศัพท์ที่จะใช้ (ค่าเริ่มต้น: 30000)--num_decoder_symbols : ขนาดคำศัพท์เป้าหมายที่จะใช้ (ค่าเริ่มต้น: 30000)--use_residual : ใช้การเชื่อมต่อที่เหลือระหว่างเลเยอร์ (ค่าเริ่มต้น: จริง)--attn_input_feeding : ใช้วิธีการให้อาหารอินพุตในตัวถอดรหัสแบบตั้งใจ (Luong et al., 2015) (ค่าเริ่มต้น: จริง)--use_dropout : ใช้การออกกลางคันในเอาต์พุตเซลล์ RNN (ค่าเริ่มต้น: จริง)--dropout_rate : ความน่าจะเป็นแบบเลื่อนออกสำหรับเอาต์พุตเซลล์ (0.0: ไม่มีการออกกลางคัน) (ค่าเริ่มต้น: 0.3)พารามิเตอร์การฝึกอบรม
--learning_rate : จำนวนหน่วยที่ซ่อนอยู่สำหรับแต่ละเลเยอร์ในรุ่น (ค่าเริ่มต้น: 0.0002)--max_gradient_norm : คลิปไล่ระดับสีไปยังบรรทัดฐานนี้ (ค่าเริ่มต้น 1.0)--batch_size : ขนาดแบทช์--max_epochs : Epochs การฝึกอบรมสูงสุด--max_load_batches : จำนวนแบทช์สูงสุดที่จะทำการดึงล่วงหน้าในครั้งเดียว--max_seq_length : ความยาวลำดับสูงสุด--display_freq : แสดงสถานะการฝึกอบรมทุกครั้งการวนซ้ำนี้--save_freq : บันทึกจุดตรวจสอบทุกครั้งการวนซ้ำนี้--valid_freq : ประเมินโมเดลทุกการวนซ้ำนี้: จำเป็นต้องใช้ Valid_data--optimizer : เครื่องมือเพิ่มประสิทธิภาพสำหรับการฝึกอบรม: (Adadelta, Adam, RMSPROP) (ค่าเริ่มต้น: Adam)--model_dir : PATH TO TO TILE SAVEPOINTS MODEL--model_name : ชื่อไฟล์ที่ใช้สำหรับจุดตรวจสอบรุ่น--shuffle_each_epoch : ชุดข้อมูลการฝึกอบรมแบบสับเปลี่ยนสำหรับแต่ละยุค (ค่าเริ่มต้น: จริง)--sort_by_length : เรียงลำดับ minibatches ที่ดึงมาล่วงหน้าตามความยาวลำดับเป้าหมาย (ค่าเริ่มต้น: จริง)การถอดรหัสพารามิเตอร์
--beam_width : ความกว้างของลำแสงที่ใช้ใน beamsearch (ค่าเริ่มต้น: 1)--decode_batch_size : ขนาดแบทช์ที่ใช้ในการถอดรหัส--max_decode_step : ขีด จำกัด ขั้นตอนสูงสุดในการถอดรหัส (ค่าเริ่มต้น: 500)--write_n_best : เขียน beamsearch n-best list (n = beam_width) (ค่าเริ่มต้น: false)--decode_input : พา ธ ไฟล์อินพุตเพื่อถอดรหัส--decode_output : เส้นทางไฟล์เอาต์พุตของการถอดรหัสเอาต์พุตparams รันไทม์
--allow_soft_placement : อนุญาตให้อุปกรณ์ซอฟต์อุปกรณ์--log_device_placement : การจัดวางตำแหน่งของ OPS บนอุปกรณ์ การดำเนินการขึ้นอยู่กับโครงการต่อไปนี้:
สำหรับความคิดเห็นและข้อเสนอแนะใด ๆ โปรดส่งอีเมลถึงฉันที่ [email protected] หรือเปิดปัญหาที่นี่