อัปเดต '*var' ตามอัลกอริทึมของ Adam
$$\text{lr}_t := \mathrm{learning_rate} * \sqrt{1 - \beta_2^t} / (1 - \beta_1^t)$$$$m_t := \beta_1 * m_{t-1} + (1 - \beta_1) * g$$$$v_t := \beta_2 * v_{t-1} + (1 - \beta_2) * g * g$$$$\text{variable} := \text{variable} - \text{lr}_t * m_t / (\sqrt{v_t} + \epsilon)$$
คลาสที่ซ้อนกัน
ระดับ | ResourceApplyAdam.Options | แอ็ตทริบิวต์ทางเลือกสำหรับ ResourceApplyAdam |
ค่าคงที่
สตริง | OP_NAME | ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow |
วิธีการสาธารณะ
คงที่ <T ขยาย TType > ResourceApplyAdam | สร้าง ( ขอบเขต ขอบเขต ตัวถูกดำเนินการ <?> var, ตัวถูกดำเนินการ <?> m, ตัวถูกดำเนินการ <?> v, ตัวถูกดำเนินการ <T> beta1Power, ตัวดำเนินการ <T> beta2Power, ตัวถูกดำเนินการ <T> lr, ตัวถูกดำเนินการ <T> beta1, ตัวถูกดำเนินการ <T > beta2, ตัวดำเนินการ <T> เอปไซลอน, ตัวดำเนินการ <T> ผู้สำเร็จการศึกษา, ตัวเลือก... ตัวเลือก) วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ ResourceApplyAdam ใหม่ |
ResourceApplyAdam.Options แบบคงที่ | useLocking (การใช้ล็อคแบบบูลีน) |
ResourceApplyAdam.Options แบบคงที่ | useNesterov (การใช้บูลีน) |
วิธีการสืบทอด
ค่าคงที่
สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME
ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow
วิธีการสาธารณะ
ResourceApplyAdam สาธารณะคง ที่สร้าง (ขอบเขต ขอบเขต ตัวดำเนินการ <?> var, ตัวดำเนินการ <?> m, ตัวดำเนินการ <?> v, ตัวดำเนินการ <T> beta1Power, ตัวดำเนินการ <T> beta2Power, ตัวดำเนินการ <T> lr, ตัวดำเนินการ <T> beta1, ตัวดำเนินการ <T> beta2, ตัวดำเนินการ <T> เอปไซลอน, ตัวดำเนินการ <T> ผู้สำเร็จการศึกษา ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ ResourceApplyAdam ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
var | ควรมาจากตัวแปร () |
ม | ควรมาจากตัวแปร () |
โวลต์ | ควรมาจากตัวแปร () |
เบต้า1พาวเวอร์ | ต้องเป็นสเกลาร์ |
beta2Power | ต้องเป็นสเกลาร์ |
ล | ปัจจัยการปรับขนาด ต้องเป็นสเกลาร์ |
เบต้า1 | ปัจจัยโมเมนตัม ต้องเป็นสเกลาร์ |
เบต้า2 | ปัจจัยโมเมนตัม ต้องเป็นสเกลาร์ |
เอปไซลอน | ระยะริดจ์ ต้องเป็นสเกลาร์ |
ผู้สำเร็จการศึกษา | การไล่ระดับสี |
ตัวเลือก | มีค่าแอตทริบิวต์ทางเลือก |
การส่งคืน
- อินสแตนซ์ใหม่ของ ResourceApplyAdam
ResourceApplyAdam.Options แบบคงที่สาธารณะ useLocking (useLocking แบบบูลีน)
พารามิเตอร์
ใช้ล็อค | หากเป็น "จริง" การอัปเดตเทนเซอร์ var, m และ v จะได้รับการปกป้องด้วยการล็อค มิฉะนั้นพฤติกรรมจะไม่ได้กำหนดไว้ แต่อาจแสดงความขัดแย้งน้อยลง |
---|
ResourceApplyAdam.Options สาธารณะแบบคงที่ useNesterov (useNesterov แบบบูลีน)
พารามิเตอร์
ใช้ Nesterov | หากเป็น "จริง" ให้ใช้การอัปเดต Nesterov |
---|