การใช้งาน Pytorch ของรูปแบบภาษาที่น่าจะเป็นของระบบประสาท รหัสสำหรับการฝึกอบรมและการโหลดข้อมูลตามรูปแบบภาษา Pytorch ตัวอย่างระดับคำ
หากต้องการรับชุดข้อมูล Wikitext-2 ให้เรียกใช้:
./get-data.shตัวอย่างระดับคำ:
./main.py train --name wiki --order 5 --batch-size 32ตัวอย่างระดับอักขระ:
./main.py train --name wiki-char --use-char --order 12 --emb-dim 20 --batch-size 1024หากคุณมีเวกเตอร์ถุงมือ pretraned คุณสามารถใช้สิ่งเหล่านั้น:
./main.py train --name wiki --use-glove --glove-dir your/glove/dir --emb-dim 50ข้อโต้แย้งข้อมูลอื่น ๆ คือ:
--lower # Lowercase all words in training data.
--no-headers # Remove all headers such as `=== History ===`. ด้วยอาร์กิวเมนต์ต่อไปนี้ Epoch ใช้เวลาประมาณ 45 นาที:
./main.py train --name wiki --order 5 --use-glove --emb-dim 50 --hidden-dims 100
--batch-size 128 --epochs 10 # Test perplexity 224.89 
เราสามารถสำรวจขีด จำกัด :
./main.py train --name wiki --order 13 --emb-dim 100 --hidden-dims 500
--epochs 40 --batch-size 512 --dropout 0.5 # Test perplexity 153.12 
./main.py train --name wiki --order 13 --emb-dim 300 --hidden-dims 1400
--epochs 40 --batch-size 256 --dropout 0.65 # Test perplexity 152.64 
ในการสร้างข้อความใช้:
./main.py generate --checkpoint path/to/saved/model โทเค็น <eos> จะถูกแทนที่ด้วยบรรทัดใหม่และส่วนที่เหลือจะถูกพิมพ์ตามที่เป็นอยู่
ข้อโต้แย้งรุ่นอื่น ๆ คือ:
--temperature 0.9 # Temperature to manipulate distribution.
--start # Provide an optional start of the generated text (can be longer than order)
--no-unk # Do not generate unks, especially useful for low --temperature.
--no-sos # Do not print <sos> tokensดูข้อความที่สร้างขึ้นใน generate.txt
เพื่อให้เห็นภาพการฝังตัวที่ผ่านการฝึกอบรมของแบบจำลองให้ใช้:
./main.py plot --checkpoint path/to/saved/modelนี่เหมาะกับพล็อต 2D T-SNE กับ K-means คลัสเตอร์สีของ 1,000 คำที่พบบ่อยที่สุดในชุดข้อมูล ต้องใช้ bokeh สำหรับการวางแผนและ scikit-learn สำหรับ t-sne และ k-means
ดูตัวอย่าง HTML ที่นี่ (GitHub ไม่แสดงไฟล์ HTML เพื่อแสดงผลดาวน์โหลดและเปิดหรือใช้ลิงค์นี้)
python>=3.6
torch==0.3.0.post4
numpy
tqdm