рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ - рдпрд╣ рдПрдХ рдРрд╕рд╛ рд╡рд┐рд╖рдп рд╣реИ рдЬреЛ рдмрд╣реБрдд рд░реБрдЪрд┐ рдФрд░ рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдЦреБрдж рдХреЛ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдзрд╛рд░ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдЬрдм рдЖрдк рдЕрд╕реНрдкрд╖реНрдЯ рд╕рд╛рд╣рд┐рддреНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдЦреЛ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЕрднреА рднреА рдЬреЛ рдХреБрдЫ рднреА рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЙрд╕реЗ рд░реЛрдХрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдореБрдЭреЗ рдкреНрд░рддреАрдд рд╣реБрдЖ рдХрд┐ рдЗрд╕реЗ рд▓реЗрдиреЗ рдФрд░ рдЕрдкрдиреЗ рдЫреЛрдЯреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред
рдЖрдк рдкрд╛рда рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдХреЗ рдЧреАрдд рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдЗрд╕реЗ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реАрдзреЗ
рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ
рд╡рд┐рд╡рд░рдг рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ
редрдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ?рдкреЗрд╢реЗрд╡рд░реЛрдВ:
- рдЖрдк рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ
- рдЖрдк рдмреЗрд╣рддрд░ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдореМрдЬреВрджрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдП
- рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХреБрдЫ рдирдпрд╛ рд╕реАрдЦрдирд╛
- рдЕрдкрдиреЗ рдЕрд╣рдВрдХрд╛рд░ рдХреЛ рдЧреБрджрдЧреБрджрд╛рдУ, рдЕрдкрдирд╛ рдХреБрдЫ рдмрдирд╛
рд╡рд┐рдкрдХреНрд╖:
- рдЖрдк рдПрдХ рдмрд╛рдЗрдХ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдореМрдЬреВрджрд╛ рд▓реЛрдЧреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЦрд░рд╛рдм рд╣реИ
- рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдХрд┐рд╕реА рдХреЛ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИред
рднрд╛рд╖рд╛ рдХрд╛ рдЪреБрдирд╛рд╡рднрд╛рд╖рд╛ рдЪреБрдирдиреЗ рдХреЗ рд╕рдордп, рдореИрдВ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рд╕реА ++ рдЬрд╛рдирддрд╛ рдерд╛, рдФрд░ рдкрд╛рдпрдерди рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдерд╛ред рдкрд╛рдпрдерди рдореЗрдВ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╕реА ++ рдмреЗрд╣рддрд░ рдЬрд╛рдирддрд╛ рдерд╛ рдФрд░ рдУрдкрдирдПрдордкреА рдХреЗ рд╕рд╛рде рдЧрдгрдирд╛рдУрдВ рдХрд╛ рдХреЛрдИ рд╕рд░рд▓ рд╕рдорд╛рдирд╛рдВрддрд░рдХрд░рдг рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реА ++ рдХреЛ рдЪреБрдирд╛, рдФрд░ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ, рдкрд░реЗрд╢рд╛рди рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ
рд╕реНрд╡рд╛рдЗрдЧ рдмрдирд╛рдПрдЧрд╛ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред (C ++ рдХреЛрдб рд╕реЗ рдкрд╛рдпрдерди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдиреЗ
рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг )
OpenMP рдФрд░ GPU рддреНрд╡рд░рдгредрдлрд┐рд▓рд╣рд╛рд▓, OpenMP рд╕рдВрд╕реНрдХрд░рдг 2.0ред Visual Studio рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ CPU рддреНрд╡рд░рдг рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рдВрд╕реНрдХрд░рдг 3.0 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, OpenMP рднреА GPU рддреНрд╡рд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ рдЬрдм рддрдХ рдХрд┐ OpenMP 3.0 рд╕рднреА рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЗрд╕ рдмреАрдЪ, рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рд╕реАрдкреАрдпреВред
рдореЗрд░реА рдкрд╣рд▓реА рд░реЗрдХредрдПрдХ рдиреНрдпреВрд░реЙрди рдХреЗ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд┐рдВрджреБ рд╣реИ: рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рд╕рдХреНрд░рд┐рдпрдг рдлрд╝рдВрдХреНрд╢рди рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ, рд╣рдореЗрдВ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рднрд╛рд░ рдХреЗ рдЧреБрдгрди рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рд╕реАрдЦреЗрдВ: рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрдбрд╝реЗ рд╡реЗрдХреНрдЯрд░ рдХреЛ рдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕реЗ рдЖрд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рддреЛ рдпрд╣рд╛рдБ рд╣реИред рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХрдИ рдмрд╛рд░ рдзреАрдорд╛ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдПрд╣рд╕рд╛рд╕ рддрдм рд╣реБрдЖ рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЕрдкрдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ MNIST рдкрд░ рдЯреЗрд╕реНрдЯ рдХрд░ рд▓рд┐рдпрд╛ рдерд╛ред
GitHub рдкрд░ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓рдЧрд╛рдирд╛редрдореИрдВ GitHub рдкрд░ рдЕрдкрдиреА рд░рдЪрдирд╛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рд╡реНрдпрдХреНрддрд┐ рдирд╣реАрдВ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдХреЗрд╡рд▓ README.md рдореЗрдВ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ
"рдпрд╣ рдореЗрд░рд╛ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╣реИ, рджреЗрдЦреЛ рдФрд░ рдЕрдзреНрдпрдпрди рдХрд░реЛ ред
" рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдо рд╕реЗ рдХрдо, рдЙрд╕рдиреЗ рдХрдо рд╕реЗ рдХрдо
README.md рдХрд╛ рд╡рд░реНрдгрди
рдХрд┐рдпрд╛ рдФрд░
рд╡рд┐рдХреА рдХреЛ рднрд░ рджрд┐рдпрд╛ред рд╕рдВрджреЗрд╢ рд╕рд░рд▓ рд╣реИ -
рд╡рд┐рдХреА рднрд░реЗрдВред рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЕрд╡рд▓реЛрдХрди: рдЕрдЧрд░ рд╡рд┐рдХрд┐рдЯ рдкрд░ рд╡рд┐рдХреА рдореЗрдВ рд╢реАрд░реНрд╖рдХ рд░реВрд╕реА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЗрд╕ рд╢реАрд░реНрд╖рдХ рдХрд╛
рдПрдВрдХрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд▓рд╛рдЗрд╕реЗрдВрд╕редрдЬрдм рдЖрдк рдЕрдкрдиреА рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдлрд┐рд░ рд╕реЗ рдЖрдкрдХреЗ рдЕрд╣рдВрдХрд╛рд░ рдХреЛ рдЧреБрджрдЧреБрджрд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк
рд▓реЗрдЦ рд╣реИ рдХрд┐ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХрд┐рд╕ рд▓рд┐рдП рд╣реИред рдореИрдВрдиреЗ
APACHE 2.0 рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирд╛ред
рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рд╡рд░реНрдгрди
рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
рдореЗрд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рдХреЛрдб рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реИред
рдпрд╣ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рд░реИрдЦрд┐рдХ рдкрд░рддреЛрдВ рдореЗрдВ рдПрдХ рдкрд░рдд рдореЗрдВ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрдЧрд▓реА рдкрд░рдд рдореЗрдВ рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдПрдХ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдХрдерди - рдЕрдВрддрд┐рдо рдкрд░рдд рдореЗрдВ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдорд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред
рдЖрдЗрдП рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдПрдВ рдЬреЛ рдЗрдирдкреБрдЯ рдореЗрдВ рддреАрди рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ 5, 4 рдФрд░ 2 рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рд╕рд╛рде рддреАрди рдкрд░рддреЗрдВ рд╣реИрдВред
import foxnn nn = foxnn.neural_network([3, 5, 4, 2])
рдпрджрд┐ рдЖрдк рдЪрд┐рддреНрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмрд╕ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: рдкрд╣рд▓реЗ 3 рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░, рдлрд┐рд░ 5 рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рдд, рдлрд┐рд░ 4 рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рдд рдФрд░ рдЕрдВрдд рдореЗрдВ, 2 рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рд╕рд╛рде рдЕрдВрддрд┐рдо рдкрд░рддред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рднреА рд╕рдХреНрд░рд┐рдпрдг рдлрд╝рдВрдХреНрд╢рди рд╕рд┐рдЧреНрдореЛрдЗрдб рд╣реИрдВ (рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЕрдзрд┐рдХ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ)ред
рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдХрд┐рд╕реА рднреА рдкрд░рдд рдкрд░ рджреВрд╕рд░реЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдХреНрд░рд┐рдпрдг рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред nn.get_layer(0).set_activation_function("gaussian")
рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реЗрдЯ рдмрдирд╛рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиред рдкрд╣рд▓рд╛ рд╡реЗрдХреНрдЯрд░ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рд╡реЗрдХреНрдЯрд░ рд▓рдХреНрд╖реНрдп рдбреЗрдЯрд╛ рд╣реИред
data = foxnn.train_data() data.add_data([1, 2, 3], [1, 0])
рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг:
nn.train(data_for_train=data, speed=0.01, max_iteration=100, size_train_batch=98)
рдЕрдиреБрдХреВрд▓рди рд╕рдХреНрд╖рдо рдХрд░рдирд╛:
nn.settings.set_mode("Adam")
рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐:
nn.get_out([0, 1, 0.1])
рд╡рд┐рдзрд┐ рдХреЗ рдирд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛редрдЕрд▓рдЧ-рдЕрд▓рдЧ, рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдВ рдХрд┐ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ , рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдорддрд▓рдм рд╣реИ ред рдореИрдВ " рдЖрдЙрдЯрдкреБрдЯ рдореВрд▓реНрдп рджреЗрдирд╛ " рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдФрд░ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рдХреЗрд╡рд▓ рдмрд╛рдж рдореЗрдВ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдХрд▓рд╛ рдерд╛ ред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдзрд┐рдХ рдордЬреЗрджрд╛рд░ рд╣реИ, рдФрд░ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдкрд░реАрдХреНрд╖рдг
MNIST рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрд┐рд╕реА рднреА рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрд▓рд┐рдЦрд┐рдд рдкрд░рдВрдкрд░рд╛ рдмрди рдЧрдИ рд╣реИред рдФрд░ рдореИрдВ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдерд╛ред рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рднреА рдХреЛрдб
рдпрд╣рд╛рдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ
рд╣реИрдВ ред
рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдирдореВрдирд╛ рдмрдирд╛рддрд╛ рд╣реИ: from mnist import MNIST import foxnn mndata = MNIST('C:download/') mndata.gz = True imagesTrain, labelsTrain = mndata.load_training() def get_data(images, labels): train_data = foxnn.train_data() for im, lb in zip(images, labels): data_y = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдПрдБ: рддреАрди рдкрд░рддреЗрдВ, рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП 784 рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП 10: nn = foxnn.neural_network([784, 512, 512, 10]) nn.settings.n_threads = 7
рд╣рдо рдЯреНрд░реЗрди: nn.train(data_for_train=train_data, speed=0.001, max_iteration=10000, size_train_batch=98)
рдХреНрдпрд╛ рд╣реБрдЖ:
рд▓рдЧрднрдЧ 10 рдорд┐рдирдЯ (рдХреЗрд╡рд▓ рд╕реАрдкреАрдпреВ рддреНрд╡рд░рдг) рдореЗрдВ, 75% рдХреА рд╕рдЯреАрдХрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдПрдбрдо рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╕рд╛рде, 5 рдорд┐рдирдЯ рдореЗрдВ 88% рдкреНрд░рддрд┐рд╢рдд рд╕рдЯреАрдХрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЕрдВрдд рдореЗрдВ, рдореИрдВ 97% рдХреА рд╕рдЯреАрдХрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред
рдореБрдЦреНрдп рдиреБрдХрд╕рд╛рди (рд╕рдВрд╢реЛрдзрди рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ):- рдкрд╛рдпрдерди рдореЗрдВ, рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реБрдИ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рдЕрдЬрдЧрд░ рдореЗрдВ, рддреНрд░реБрдЯрд┐ рдХреЛ рдмрд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрд╕ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рдПрдЧрд╛ред
- рдЬрдмрдХрд┐ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпреБрдЧреЛрдВ рдореЗрдВ рдирд╣реАрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдкреНрд░рдерд╛рдЧрдд рд╣реИред
- рдХреЛрдИ GPU рддреНрд╡рд░рдг рдирд╣реАрдВ
- рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рддреЗрдВ рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИрдВред
- рд╣рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ PyPi рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдереЛрдбрд╝рд╛ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдХрдореА рдереАред рдпрджрд┐ рдХрдо рд╕реЗ рдХрдо рджрд╕ рд▓реЛрдЧ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЦреЗрд▓рддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЬреАрдд рд╣реЛрдЧреАред рдореЗрд░реЗ
рдЧрд┐рддреБрдм рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рдкреБрдирд╢реНрдЪ: рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдХреБрдЫ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдбрд░реЛ рдордд рдФрд░ рдмрдирд╛рдПрдВред