learning to learn
1.0.0
python train.py --problem=mnist --save_path=./mnist
ธงบรรทัดคำสั่ง:
save_path
: หากมี เครื่องมือเพิ่มประสิทธิภาพจะถูกบันทึกลงในเส้นทางที่ระบุทุกครั้งที่มีการปรับปรุงประสิทธิภาพการประเมินnum_epochs
: จำนวนยุคการฝึกอบรมlog_period
: ยุคก่อนที่จะรายงานประสิทธิภาพและเวลาเฉลี่ยevaluation_period
: ยุคก่อนที่จะประเมินเครื่องมือเพิ่มประสิทธิภาพevaluation_epochs
: จำนวนยุคการประเมินผลproblem
: ปัญหาในการฝึกอบรม ดูส่วนปัญหาด้านล่างnum_steps
: จำนวนขั้นตอนการเพิ่มประสิทธิภาพunroll_length
: จำนวนขั้นตอนการคลายออกสำหรับเครื่องมือเพิ่มประสิทธิภาพlearning_rate
: อัตราการเรียนรู้second_derivatives
: หากเป็น true
เครื่องมือเพิ่มประสิทธิภาพจะพยายามคำนวณอนุพันธ์อันดับสองผ่านฟังก์ชันการสูญเสียที่ระบุโดยปัญหา python evaluate.py --problem=mnist --optimizer=L2L --path=./mnist
ธงบรรทัดคำสั่ง:
optimizer
: Adam
หรือ L2L
path
: เส้นทางไปยังเครื่องมือเพิ่มประสิทธิภาพที่บันทึกไว้ จะเกี่ยวข้องเฉพาะในกรณีที่ใช้เครื่องมือเพิ่มประสิทธิภาพ L2L
learning_rate
: อัตราการเรียนรู้ เกี่ยวข้องเฉพาะในกรณีที่ใช้ Adam
Optimizernum_epochs
: จำนวนยุคการประเมินseed
: เมล็ดพันธุ์สำหรับการสร้างตัวเลขสุ่มproblem
: ปัญหาที่ต้องประเมิน ดูส่วนปัญหาด้านล่างnum_steps
: จำนวนขั้นตอนการเพิ่มประสิทธิภาพ สคริปต์การฝึกอบรมและการประเมินผลสนับสนุนปัญหาต่อไปนี้ (ดู util.py
สำหรับรายละเอียดเพิ่มเติม):
simple
: ฟังก์ชันกำลังสองตัวแปรเดียวsimple-multi
: ฟังก์ชันกำลังสองตัวแปรสองตัวแปร โดยที่ตัวแปรตัวหนึ่งได้รับการปรับให้เหมาะสมโดยใช้ตัวปรับให้เหมาะสมที่เรียนรู้ และอีกตัวหนึ่งใช้ Adamquadratic
: ฟังก์ชันกำลังสองสิบตัวแปรที่แบทช์กันmnist
: การจำแนกประเภท Mnist โดยใช้เครือข่ายที่เชื่อมต่ออย่างสมบูรณ์สองชั้นcifar
: การจำแนกประเภท Cifar10 โดยใช้เครือข่ายประสาทเทียมcifar-multi
: การจำแนกประเภท Cifar10 โดยใช้เครือข่ายประสาทเทียมแบบ Convolutional ซึ่งใช้ตัวเพิ่มประสิทธิภาพการเรียนรู้อิสระสองตัว หนึ่งเพื่อปรับพารามิเตอร์ให้เหมาะสมจากเลเยอร์ Convolutional และอีกอันสำหรับพารามิเตอร์จากเลเยอร์ที่เชื่อมต่ออย่างสมบูรณ์ ปัญหาใหม่สามารถดำเนินการได้อย่างง่ายดายมาก คุณสามารถดูได้ใน train.py
ว่าเมธอด meta_minimize
จากคลาส MetaOptimizer
ได้รับฟังก์ชันที่ส่งคืนการดำเนินการ TensorFlow ที่สร้างฟังก์ชันการสูญเสียที่เราต้องการย่อให้เล็กสุด (ดูตัวอย่าง problems.py
)
สิ่งสำคัญคือการดำเนินการทั้งหมดที่มีผลข้างเคียงของ Python (เช่น การสร้างคิว) จะต้องดำเนินการนอกฟังก์ชันที่ส่งผ่านไปยัง meta_minimize
ฟังก์ชัน cifar10
ใน problems.py
เป็นตัวอย่างที่ดีของฟังก์ชันการสูญเสียที่ใช้คิว TensorFlow
ข้อจำกัดความรับผิดชอบ: นี่ไม่ใช่ผลิตภัณฑ์อย่างเป็นทางการของ Google