рд░реВрд╕реА рдореЗрдВ рдкреВрд░рд╛ рдкрд╛рдареНрдпрдХреНрд░рдо рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рдореВрд▓ рдЕрдВрдЧреНрд░реЗрдЬреА рдкрд╛рдареНрдпрдХреНрд░рдо рдЙрдкрд▓рдмреНрдз рд╣реИред

рд╣рд░ 2-3 рджрд┐рдиреЛрдВ рдореЗрдВ рдирдП рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
рд╕рд╛рдордЧреНрд░реА
- рд╕реЗрдмрд╕реНрдЯрд┐рдпрди рдЯреНрд░рди рдХреЗ рд╕рд╛рде рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░
- рдкрд░рд┐рдЪрдп
- рдХреБрддреНрддреЛрдВ рдФрд░ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдбреЗрдЯрд╛рд╕реИрдЯ
- рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рдХреА рдЫрд╡рд┐рдпрд╛рдБ
- рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВред рднрд╛рдЧ 1
- рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВред рднрд╛рдЧ реи
- рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рдмрд╛рддрдЪреАрдд рдСрдкрд░реЗрд╢рди
- рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рд╕реЗ рд╕рдмрд╕рдореНрдкрд▓рд┐рдВрдЧ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди
- рдХреЛрд▓реИрдм: рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдФрд░ рдХреБрддреНрддреЛрдВ
- рд╕реЙрдлреНрдЯрдореИрдХреНрд╕ рдФрд░ рд╕рд┐рдЧреНрдореЙрдЗрдб
- рдирд┐рд░реАрдХреНрд╖рдг
- рдЫрд╡рд┐ рд╡рд┐рд╕реНрддрд╛рд░
- рдЕрдкрд╡рд╛рдж
- CoLab: рдХреБрддреНрддреЛрдВ рдФрд░ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВред рджреБрд╣рд░рд╛рд╡
- рдореБрдВрд╣рддреЛрдбрд╝ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рддрдХрдиреАрдХреЗрдВ
- рд╡реНрдпрд╛рдпрд╛рдо: рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдЧреАрдХрд░рдг
- рд╕рдорд╛рдзрд╛рди: рд░рдВрдЧ рдЫрд╡рд┐ рд╡рд░реНрдЧреАрдХрд░рдг
- рдкрд░рд┐рдгрд╛рдо
рд╕реЗрдмрд╕реНрдЯрд┐рдпрди рдЯреНрд░рди рдХреЗ рд╕рд╛рде рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░
- рддреЛ, тАЛтАЛрдЖрдЬ рд╣рдо рдлрд┐рд░ рд╕реЗ рдпрд╣рд╛рдВ рд╣реИрдВ, рд╕реЗрдмреЗрд╕реНрдЯрд┐рдпрди рдХреЗ рд╕рд╛рде рдФрд░ рд╣рдо рд░рд┐рдЯреНрд░реАрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рд╡рд┐рд╖рдп рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ TensorFlow рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рд╡рд░реНрддрдорд╛рди рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рднрд╛рдЧреЛрдВ рдореЗрдВред
- рд╕реЗрдмрд╕реНрдЯрд┐рдпрди, рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рдУрд╡рд░рдлрд┐рдЯрд┐рдВрдЧ - рдУрд╡рд░, рдлрд┐рдЯ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИ? рдпрджрд┐ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдореИрдВ рдЖрдк рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛!
- рддреЛ, тАЛтАЛрд░рд┐рдЯреНрд░реЗрдирд┐рдВрдЧ рдХрд╛ рдХрд╛рд░рдг рддрдерд╛рдХрдерд┐рдд рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣-рд╡рд┐рдЪрд░рдг рд╡реНрдпрд╛рдкрд╛рд░-рдмрдВрдж (рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдФрд░ рдЙрдирдХреЗ рдкреНрд░рд╕рд╛рд░ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдордЭреМрддрд╛) рд╣реИред рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЬрд┐рд╕рдореЗрдВ рд╡рдЬрди рдХреА рдПрдХ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдкрд░реНрдпрд╛рдкреНрдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рд╕реАрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ, рдорд╢реАрди рд╕реАрдЦрдиреЗ рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╡рд┐рд░реВрдкрдг рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд╣рд╛рдВред
- рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рдЪреБрди рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдмрд╕ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдЗрддрдиреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХрд╛рд░рдгред рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдорд╛рдзрд╛рди рдЪреБрдирдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ рдХреА рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓рддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рд╕рд░рд▓ рдирд┐рдпрдо рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдбреЗрдЯрд╛ рдХреЗ рдЖрдХрд╛рд░ (рдорд╛рддреНрд░рд╛) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдЬрд┐рддрдиреЗ рдЕрдзрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ, рдЙрддрдирд╛ рд╣реА рдпрд╣ рд╕рд╣реА рдПрдХ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВ, "рдЗрд╕ рдХрдорд░реЗ рдореЗрдВ рдХреМрди рдЖрджрдореА рд╣реИ рдФрд░ рдХреМрди рдорд╣рд┐рд▓рд╛ рд╣реИ?" рдПрдХ рдЬрдЯрд┐рд▓ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЖрдкрдХреЛ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд┐рдирдХреЗ рдирд╛рдо рдЯреА рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ рд╡реЗ рд╕рднреА рдкреБрд░реБрд╖ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдХрднреА рднреА рдкреАрдЫреЗ рдирд╣реАрдВ рд╣рдЯрддреЗ рд╣реИрдВред рджреЛ рдЙрдкрд╛рдп рд╣реИрдВред рдЗрдирдореЗрдВ рд╕реЗ рдкрд╣рд▓рд╛ рдПрдХ рд╣реЛрд▓реНрдбрдЖрдЙрдЯ рдбреЗрдЯрд╛ рд╕реЗрдЯ (рдореЙрдбрд▓ рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЛ рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реЗрдЯ рд╕реЗ рдереЛрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдбреЗрдЯрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП 90%, рдФрд░ рддрдерд╛рдХрдерд┐рдд рдХреНрд░реЙрд╕-рд╕рддреНрдпрд╛рдкрди рдХреЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП 10%, рдЬрд╣рд╛рдВ рдЖрдк рдЙрд╕ рдбреЗрдЯрд╛ рдХреА рдореЙрдбрд▓ рдХреА рд╕рдЯреАрдХрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдиреЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рдерд╛ - рдЬреИрд╕реЗ рд╣реА рддреНрд░реБрдЯрд┐ рдорд╛рди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЪрдХреНрд░ рдХреЗ рдмрд╛рдж рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП - рдпрд╣ рд╕реАрдЦрдиреЗ рдХреЛ рд░реЛрдХрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рджреВрд╕рд░рд╛ рдЙрдкрд╛рдп рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдкреНрд░рддрд┐рдмрдВрдз рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╕реНрдерд╛рдкрди рдФрд░ рднрд╛рд░ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдХрд░реАрдм рдФрд░ рд╢реВрдиреНрдп рдХреЗ рдХрд░реАрдм рд▓рд╛рдирд╛ред рд╡рдЬрди рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рд╕реАрдорд┐рдд рд╣реЛрдЧрд╛, рдореЙрдбрд▓ рдЙрддрдирд╛ рд╣реА рдХрдо рд╣реЛрдЧрд╛ред
- рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рддреНрдпрд╛рдкрди рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣реИ рдирд╛?
- рдареАрдХ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдбреЗрдЯрд╛рд╕реЗрдЯ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдРрд╕рд╛ рдбреЗрдЯрд╛рд╕реЗрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдХрднреА рдирд╣реАрдВ рдЫреБрдЖ рдпрд╛ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реЛред рдпрджрд┐ рдЖрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЛ рдХрдИ рдмрд╛рд░ рджрд┐рдЦрд╛рдпрд╛ рд╣реИ, рддреЛ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдкреБрдирд░реНрдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧреА, рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реИред
- рд╢рд╛рдпрдж рдЖрдк рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдорд╛рдорд▓реЛрдВ рдХреЛ рдпрд╛рдж рдХрд░реЗрдВрдЧреЗ рдЬрдм рдЖрдкрдХрд╛ рдореЙрдбрд▓ рд╡рд╛рдкрд╕ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛?
- рдЖрд╣, рд╣рд╛рдБ ... рдореЗрд░реЗ рд╢реБрд░реБрдЖрддреА рдпреБрд╡рд╛рдУрдВ рдореЗрдВ рдРрд╕реА рдШрдЯрдирд╛ рд╣реБрдИ рдереА рдЬрдм рдореИрдВ рд╢рддрд░рдВрдЬ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛ред рдпрд╣ 1993 рдореЗрдВ рдерд╛ред рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛ рдХрд┐ рд╢рддрд░рдВрдЬ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рд╕реЗ, рдЬрд┐рд╕ рдкрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдиреЗрдЯрд╡рд░реНрдХ рдиреЗ рдЬрд▓реНрджреА рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдпрджрд┐ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд░рд╛рдиреА рдХреЛ рд╢рддрд░рдВрдЬ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЬреАрддрдиреЗ рдХрд╛ 60% рдореМрдХрд╛ рд╣реИред рд╡рд╣ рдЬреЛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реА рдереА рд╡рд╣ рдПрдХ рдореЛрд╣рд░реЗ рдХреЗ рд╕рд╛рде "рдорд╛рд░реНрдЧ" рдХреЛ рдЦреЛрд▓рдиреЗ рдФрд░ рд░рд╛рдиреА рдХреЛ рд╢рддрд░рдВрдЬ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ред рдпрд╣ рдХрд┐рд╕реА рднреА рд╢рддрд░рдВрдЬ рдХреЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд▓рд┐рдП рдПрдХ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдирд┐рд░реНрдгрдп рдерд╛, рдЬрд┐рд╕рдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореЙрдбрд▓ рдХреА рдлрд┐рд░ рд╕реЗ рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдЧрд╡рд╛рд╣реА рджреАред
- рдмрдврд╝рд┐рдпрд╛! рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рддрдХрдиреАрдХреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рд╣реИред рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрд╣рди рд╕реАрдЦрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдХрдо рдкрдХреНрд╖ рд╣реИ?
- рдЖрдкрдХреЗ 90% рдХрд╛рдо рдХреЛ рдХрдо рдХрд░рдХреЗ рдЖрдВрдХрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ 90% рдХрд╛рдо рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рд╕рдлрд╛рдИ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧреАред
- рдпрд╣рд╛рдБ рдореИрдВ рдЖрдкрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реВрдБ!
- рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рд╕реЗрдЯ рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХрдЪрд░рд╛ рд╣реЛрддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реА рддрд░рд╣ рд╕реЗ рд▓рд╛рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдЗрд╕реЗ рд╕реБрд╕рдВрдЧрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдмрд╣реБрдд рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред
- рд╣рд╛рдВ, рднрд▓реЗ рд╣реА рдЖрдк рдЫрд╡рд┐рдпреЛрдВ рдпрд╛ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд░реВрдк рдореЗрдВ рдРрд╕реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ, рдЕрдВрджрд░, рдЕрднреА рднреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреВрд░реНрд╡-рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рдПрдХрдорд╛рддреНрд░ рд▓реЛрдЧ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдЖрджрд░реНрд╢ рд╣реИрдВ рд╡реЗ рдкреНрд░реЛрдлреЗрд╕рд░ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ PowerPoint рдореЗрдВ рдПрдХ рдкреНрд░рд╕реНрддреБрддрд┐ рдореЗрдВ рджрд┐рдЦрд╛рд╡рд╛ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕рдм рдХреБрдЫ рд╕рд╣реА рд╣реИ! рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдкрдХрд╛ 90% рд╕рдордп рдбреЗрдЯрд╛ рдХреНрд▓реАрдВрдЬрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
- рдмрдврд╝рд┐рдпрд╛ред рддреЛ, рдЪрд▓рд┐рдП рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рддрдХрдиреАрдХреЗрдВ рдЬреЛ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЧрд╣рди рд╢рд┐рдХреНрд╖рдг рдореЙрдбрд▓ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВрдЧреАред
рдкрд░рд┐рдЪрдп
- рд╣рд╛рдп! рдФрд░ рдлрд┐рд░, рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!
тАЬрдкрд┐рдЫрд▓реЗ рдкрд╛рда рдореЗрдВ, рд╣рдордиреЗ рдлреИрд╢рди MNIST рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рдЧреНрд░реЗ рдХреЗ рд░рдВрдЧреЛрдВ рдореЗрдВ рдХрдкрдбрд╝реЛрдВ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛-рд╕рд╛ рджреГрдврд╝ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ред рд╣рдордиреЗ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдЫреЛрдЯрд╛ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЖрдиреЗ рд╡рд╛рд▓реА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдХрд╛рдлреА рдЙрдЪреНрдЪ рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рд╡рд░реНрдЧреАрдХреГрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╣рдореЗрдВ рдЙрдЪреНрдЪ-рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдПрд╕рдПрдирдП рдХреЗ рдорд╣рд╛рди рд▓рд╛рднреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рддрдереНрдп рд╣реИ рдХрд┐ рд╡реЗ рд░рдВрдЧ рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рд╣реА рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рдкрд╛рда рдХреА рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдПрд╕рдПрдирдП рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
- рдмрд╛рдж рдореЗрдВ, рдПрдХ рд╣реА рдЖрд╡реГрддреНрддрд┐ рдореЗрдВ, рдЖрдк рдПрдХ рджреГрдврд╝ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдФрд░ рдХреБрддреНрддреЛрдВ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдФрд░ рдХреБрддреНрддреЛрдВ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдПрдХ рд╕рдЬрд╛рддреАрдп рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░рд╛рд╕реНрддреЗ рдкрд░, рд╣рдо рдпрд╣ рднреА рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЖрдо рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП - рдлрд┐рд░ рд╕реЗ рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдирд╛ред рдФрд░ рдЗрд╕ рдкрд╛рда рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рднрд╛рдЧ рдореЗрдВ, рдЖрдк рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рджреГрдврд╝ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВрдЧреЗред рдЪрд▓реЛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдУ!
рдмрд┐рд▓реНрд▓реА рдФрд░ рдХреБрддреНрддреЗ рдбреЗрдЯрд╛рд╕реИрдЯ
рдЙрд╕ рдХреНрд╖рдг рддрдХ, рд╣рдордиреЗ рдХреЗрд╡рд▓ рдлреИрд╢рди рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рдЖрдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде 28x28 рдлреИрд╢рди MNIST рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреЛ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВ:

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдЗрд╕ рдкрд╛рда рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕ рдкрд╛рда рдореЗрдВ рд╣рдо рдПрдХ рджреГрдврд╝ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдХреБрддреНрддреЛрдВ рдФрд░ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдХреА рд░рдВрдЧреАрди рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЕрдкрдиреА рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо Microsoft Asirra рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдФрд░ рдХреБрддреНрддреЛрдВ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЫрд╡рд┐ рдХреЛ рдХреНрд░рдорд╢рдГ рдЫрд╡рд┐ рдореЗрдВ рдПрдХ рдХреБрддреНрддрд╛ рдпрд╛ рдмрд┐рд▓реНрд▓реА рд╣реЛрдиреЗ рдкрд░ 1 рдпрд╛ 0 рд▓реЗрдмрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ Microsoft Asirra рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдФрд░ рдХреБрддреНрддреЛрдВ рдХреА 3 рдорд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ рдЯреИрдЧ рдХреА рдЧрдИ рдЫрд╡рд┐рдпрд╛рдВ рд╣реИрдВ, рдХреЗрд╡рд▓ 25,000 рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЗрди 25,000 рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рд╣рдорд╛рд░реЗ рджреГрдврд╝ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧреЗрдЧрд╛ред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо рдЙрдкрд▓рдмреНрдз 25,000 рд╕реЗ рд╣рдорд╛рд░реЗ рджреГрдврд╝ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╣рдорд╛рд░реЗ рд╕рдмрд╕реЗрдЯ рдореЗрдВ рдореЙрдбрд▓ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП 2,000 рдкреАрд╕реА рдФрд░ 1,000 рдкреАрд╕реА рдЫрд╡рд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ, 1,000 рдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рдмрд┐рд▓реНрд▓рд┐рдпрд╛рдБ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп 1,000 рдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рдХреБрддреНрддреЗ рд╣реИрдВред рд╣рдо рдкрд╛рда рдХреЗ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдбреЗрдЯрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

рдЗрд╕ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рджреЛ рдореБрдЦреНрдп рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗ - рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдФрд░ рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ред
рдЖрдЗрдП рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рддрд▓рд╛рд╢рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред
рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рдХреА рдЫрд╡рд┐рдпрд╛рдБ
рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдкрд╣рд▓рд╛ рдкрд░реАрдХреНрд╖рдг рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрдирдкреБрдЯ рдкрд░ рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдПрдХ рдкрд░рдд рдкрд░рдд рдмрдирд╛рддреЗ рд╕рдордп input_shape
рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдорд╛рд░реЗ рдкрд┐рдЫрд▓реЗ рднрд╛рдЧреЛрдВ рд╕реЗ рдпрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдХрдкрдбрд╝реЛрдВ рдХреЗ рддрддреНрд╡ рдХреА рдЫрд╡рд┐ рдХреЛ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдЗрд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреЗ 1D рд╕рд░рдгреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджрд┐рдпрд╛ - 28x28 = 784 рддрддреНрд╡ (рдкрд┐рдХреНрд╕реЗрд▓)ред рдЪреВрдВрдХрд┐ рдлреИрд╢рди рдПрдордПрдирдЖрдИрдПрд╕рдЯреА рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдЫрд╡рд┐рдпрд╛рдВ рд╕рдорд╛рди рдЖрдХрд╛рд░ рдХреА рдереАрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рдЖрдпрд╛рдореА рдЖрдпрд╛рдо рд╕рдорд╛рди рдЖрдХрд╛рд░ рдерд╛ рдФрд░ рдЗрд╕рдореЗрдВ 784 рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рдереЗред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ (рдКрдВрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ) рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ-рдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рдмрджрд▓рдирд╛, рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рдХреЗ рд╕рд░рдгрд┐рдпрд╛рдВ рдорд┐рд▓рддреА рд╣реИрдВред
рдЪреВрдВрдХрд┐ рдЗрдирдкреБрдЯ рдкрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рд╕рдорд╛рди рдЖрдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреЗрд╡рд▓ рдкрд┐рдХреНрд╕реЗрд▓ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдПрдХ рдЖрдпрд╛рдореА рд╕рд░рдгреА рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд╕рд╛рде рджреВрд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред
рдЫрд╡рд┐ рд╡рд░реНрдЧреАрдХрд░рдг рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд╣рдореЗрд╢рд╛ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрддреЗ рд╣реИрдВ - рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдореВрд▓реНрдпреЛрдВ (рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ) рдХреЗ рд▓рд┐рдП рдХрдо рдХрд░рдирд╛ред

рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рд╣рдо рд╕рднреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЖрдХрд╛рд░ рдореЗрдВ 150 рдкрд┐рдХреНрд╕рд▓реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рдореЗрдВ 150 рдкрд┐рдХреНрд╕рд▓реНрд╕ рдХрд╛ рдЖрдХрд╛рд░ рджреЗрдиреЗ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдВрдЧреЗред рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдПрдХ рдПрдХрд▓ рдЖрдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЗрд╕ рдмрд╛рдд рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд╣реА рдЖрдХрд╛рд░ рдХреА рдЫрд╡рд┐ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЗрдирдкреБрдЯ рдкрд░ рдЖ рдЬрд╛рдПрдЧреА рдФрд░ рдЬрдм рдПрдХ flatten
рдкрд░рдд рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рд╣рдореЗрдВ рд╕рдорд╛рди рдЖрдХрд╛рд░ рдХрд╛ рдПрдХ рдЖрдпрд╛рдореА рдЖрдпрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИред
tf.keras.layers.Flatten(input_shape(150,150,1))
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ 150x150 = 22,500 рдорд╛рдиреЛрдВ (рдкрд┐рдХреНрд╕реЗрд▓) рд╕реЗ рдпреБрдХреНрдд рдПрдХ рдЖрдпрд╛рдореА рдЖрдпрд╛рдо рдорд┐рд▓рд╛ред
рдЕрдЧрд▓реА рд╕рдорд╕реНрдпрд╛ рдЬреЛ рд╣рдо рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗ рд╡рд╣ рд░рдВрдЧ - рд░рдВрдЧ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреАред рд╣рдо рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВред рднрд╛рдЧ 1
рдпрд╣ рд╕рдордЭрдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд░рдВрдЧ рдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рджреГрдврд╝ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрд╕рдПрдирдП рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдЗрдП рд╣рдо рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЙрд╕реЗ рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВред

рдКрдкрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдЧреНрд░реЗрд╕реНрдХреЗрд▓ рдЫрд╡рд┐ рд╣реИ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдЗрд╕реЗ рдкрд┐рдХреНрд╕реЗрд▓ рдореВрд▓реНрдпреЛрдВ рдХреЗ рджреЛ рдЖрдпрд╛рдореА рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред
рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдЫрд╡рд┐ рд╣реИ, рдЗрд╕ рдмрд╛рд░ рдПрдХ рд░рдВрдЧ рд╣реИ, рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдЗрд╕реЗ рдкрд┐рдХреНрд╕реЗрд▓ рдореВрд▓реНрдпреЛрдВ рдХреЗ рддреАрди рдЖрдпрд╛рдореА рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдХреИрд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред

3 рдбреА рд╕рд░рдгреА рдХреА рдКрдВрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рдЫрд╡рд┐ рдХреА рдКрдВрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рдПрдЧреА, рдФрд░ рдЧрд╣рд░рд╛рдИ (рдЧрд╣рд░рд╛рдИ) рдЫрд╡рд┐ рдХреЗ рд░рдВрдЧ рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИред
рдЕрдзрд┐рдХрд╛рдВрд╢ рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рддреАрди рд░рдВрдЧ рдЪреИрдирд▓реЛрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рд▓рд╛рд▓ (рд▓рд╛рд▓), рд╣рд░рд╛ (рд╣рд░рд╛) рдФрд░ рдиреАрд▓рд╛ (рдиреАрд▓рд╛)ред

рдРрд╕реА рдЫрд╡рд┐рдпрд╛рдВ рдЬреЛ рд▓рд╛рд▓, рд╣рд░реЗ рдФрд░ рдиреАрд▓реЗ рдЪреИрдирд▓ рд╕реЗ рдпреБрдХреНрдд рд╣реЛрддреА рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ RGB рдЪрд┐рддреНрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рддреАрди рдЪреИрдирд▓реЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рд╕реЗ рдПрдХ рд░рдВрдЧ рдХреА рдЫрд╡рд┐ рдмрдирддреА рд╣реИред RGB рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдЪреИрдирд▓ рдХреЛ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рдПрдХ рдЕрд▓рдЧ рджреЛ-рдЖрдпрд╛рдореА рд╕рд░рдгреА рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рддреАрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддреАрди рджреЛ рдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпрд╛рдБ рд╣реЛрдВрдЧреАред рдЗрд╕ рдкреНрд░рдХрд╛рд░, 3 рд░рдВрдЧреАрди рдЪреИрдирд▓реЛрдВ рд╕реЗ рдпреБрдХреНрдд рдПрдХ рд░рдВрдЧреАрди рдЫрд╡рд┐ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реЛрдЧрд╛:

рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВред рднрд╛рдЧ реи
рдЗрд╕рд▓рд┐рдП, рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реА рдЫрд╡рд┐ рдЕрдм 3 рд░рдВрдЧреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдмрдиреЗрдЧреА, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдкрд┐рдХреНрд╕реЗрд▓ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рддреНрд░рд┐-рдЖрдпрд╛рдореА рд╕рд░рдгреА рд╣реЛрдЧрд╛, рддреЛ рд╣рдорд╛рд░реЗ рдХреЛрдб рдХреЛ рддрджрдиреБрд╕рд╛рд░ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред
рдпрджрд┐ рдЖрдк рдЙрд╕ рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдордиреЗ рдЕрдкрдиреЗ рдЕрдВрддрд┐рдо рдкрд╛рда рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдерд╛ рдЬрдм рд╣рдо рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдХрдкрдбрд╝реЛрдВ рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд░рд╣реЗ рдереЗ, рддреЛ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рдЖрдпрд╛рдо рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рд╣реИ:
model = Sequential() model.add(Conv2D(32, 3, padding='same', activation='relu', input_shape=(28,28,1)))
рдЯрдкрд▓ рдХреЗ рдкрд╣рд▓реЗ рджреЛ рдкреИрд░рд╛рдореАрдЯрд░ (28,28,1)
рдЫрд╡рд┐ рдХреА рдКрдВрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рдХреЗ рдорд╛рди рд╣реИрдВред рдлреИрд╢рди MNIST рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдЪрд┐рддреНрд░ 28x28 рдкрд┐рдХреНрд╕реЗрд▓ рдЖрдХрд╛рд░ рдХреЗ рдереЗред рдЯрдкрд▓ рдореЗрдВ рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдореАрдЯрд░ (28,28,1)
рд░рдВрдЧ рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдлрд╝реИрд╢рди MNIST рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ, рдЪрд┐рддреНрд░ рдХреЗрд╡рд▓ рдЧреНрд░реЗ - 1 рд░рдВрдЧ рдЪреИрдирд▓ рдХреЗ рд╢реЗрдб рдореЗрдВ рдереЗред
рдЕрдм рдЬрдм рдХрд╛рд░реНрдп рдереЛрдбрд╝рд╛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдФрд░ рдХреБрддреНрддреЛрдВ рдХреА рд╣рдорд╛рд░реА рдЫрд╡рд┐рдпрд╛рдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрдХрд╛рд░ рдХреА рд╣реЛ рдЧрдИ рд╣реИрдВ (рд▓реЗрдХрд┐рди рдПрдХ рдПрдХрд▓ - 150x150 рдкрд┐рдХреНрд╕рд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЧрдИ рд╣реИрдВ) рдФрд░ 3 рд░рдВрдЧ рдЪреИрдирд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рддреЛ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЯреНрдпреВрдк рднреА рдЕрд▓рдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
model = Sequential() model.add(Conv2D(16, 3, padding='same', activation='relu', input_shape=(150,150,3)))
рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЪрд┐рддреНрд░ рдореЗрдВ рддреАрди рд░рдВрдЧреАрди рдЪреИрдирд▓реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХреИрд╕реЗ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред
рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рдмрд╛рддрдЪреАрдд рдСрдкрд░реЗрд╢рди
рдкрд┐рдЫрд▓реЗ рдкрд╛рдареЛрдВ рдореЗрдВ, рд╣рдордиреЗ рд╕реАрдЦрд╛ рдХрд┐ рдЧреНрд░реЗрд╕реНрдХреЗрд▓ рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рдПрдХ рдХрдирд╡рд▓реНрд╢рди рдСрдкрд░реЗрд╢рди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рдПрдХ рджреГрдврд╝ рд╕рдВрдХрд▓реНрдк рдСрдкрд░реЗрд╢рди рдХреИрд╕реЗ рдХрд░реЗрдВ? рдЖрдЗрдП рджреЛрд╣рд░рд╛рддреЗ рд╣реБрдП рд╢реБрд░реВ рдХрд░реЗрдВ рдХрд┐ рдЧреНрд░реЗрд╕реНрдХреЗрд▓ рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рдХрдирд╡рд▓реНрд╢рди рдСрдкрд░реЗрд╢рди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рд╕рдм рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреЗ рдлрд╝рд┐рд▓реНрдЯрд░ (рдХреЛрд░) рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред

рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЫрд╡рд┐ рдкрд┐рдХреНрд╕реЗрд▓ рдкрд░ рд╕реНрдерд┐рдд рд╣реИ, рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рдореВрд▓реНрдп рдХреЛ рдЫрд╡рд┐ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдкрд┐рдХреНрд╕реЗрд▓ рдореВрд▓реНрдп рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрди рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЕрднрд┐рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдВрддрд┐рдо рдкрд┐рдХреНрд╕реЗрд▓ рдорд╛рди рдЙрд╕ рдирдИ рдЫрд╡рд┐ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдореВрд▓ рдкрд┐рдХреНрд╕реЗрд▓ рд╕реНрдерд┐рдд рдерд╛ред рдореВрд▓ рдЫрд╡рд┐ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрд╢рди рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рднреА рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рджреГрдврд╝ рд╕рдВрдХрд▓реНрдк рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди, рддрд╛рдХрд┐ рдЫрд╡рд┐ рдХреА рд╕реАрдорд╛рдУрдВ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рди рдЦреЛрдПрдВ, рд╣рдо рд╕рдВрд░реЗрдЦрдг рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рдЫрд╡рд┐ рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рдкреИрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдЕрдм рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рд░рдВрдЧ рдЪрд┐рддреНрд░реЛрдВ рдкрд░ рдХрдирд╡рд▓реНрд╢рди рдСрдкрд░реЗрд╢рди рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЬрд┐рд╕ рддрд░рд╣ рдПрдХ рдЫрд╡рд┐ рдХреЛ рдзреВрд╕рд░ рд░рдВрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреЗ рдлрд╝рд┐рд▓реНрдЯрд░ (рдХреЛрд░) рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЪреБрдирдХрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдЕрдВрддрд░ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЕрдм рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реНрд╡рдпрдВ рддреНрд░рд┐-рдЖрдпрд╛рдореА рд╣реЛрдЧрд╛, рдФрд░ рдЧрд╣рд░рд╛рдИ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдорд╛рди рдЫрд╡рд┐ рдореЗрдВ рд░рдВрдЧ рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдорд╛рди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛ - 3 (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, RGB)ред рд░рдВрдЧ рдЪреИрдирд▓ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ "рд▓реЗрдпрд░" рдХреЗ рд▓рд┐рдП, рд╣рдо рдЪрдпрдирд┐рдд рдЖрдХрд╛рд░ рдХреЗ рдПрдХ рдлрд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрдирд╡рд▓реНрд╢рди рдСрдкрд░реЗрд╢рди рднреА рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреИрд╕реЗ рд╣реЛрдЧрд╛ред

рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЖрд░рдЬреАрдмреА рдЫрд╡рд┐ рд╣реИ рдФрд░ рд╣рдо рдЕрдЧрд▓реЗ 3 рдбреА рдлрд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрдирд╡рд▓реНрд╢рди рдСрдкрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдореЗрдВ 3 рджреНрд╡рд┐-рдЖрдпрд╛рдореА рдлрд╝рд┐рд▓реНрдЯрд░ рд╣реЛрддреЗ рд╣реИрдВред рд╕рд░рд▓рддрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реА RGB рдЫрд╡рд┐ 5x5 рдкрд┐рдХреНрд╕реЗрд▓ рдЖрдХрд╛рд░ рдХреА рд╣реИред

рдпрд╣ рднреА рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд░рдВрдЧ рдЪреИрдирд▓ рдкрд┐рдХреНрд╕реЗрд▓ рд░рдВрдЧ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдПрдХ рджреЛ-рдЖрдпрд╛рдореА рд╕рд░рдгреА рд╣реИред

рд░рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд░рдВрдЧреЛрдВ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд░рдВрдЧреАрди рдЪрд┐рддреНрд░реЛрдВ рдкрд░ рджреАрдХреНрд╖рд╛рдВрдд рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд╛рде - рд╣рдо рд╕реАрдорд╛рдУрдВ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп рдкрд░ рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрдг рдФрд░ рдЫрд╡рд┐ рдХреЛ рдкреВрд░рдХ рдХрд░реЗрдВрдЧреЗред

рдЕрдм рд╣рдо рдХрдирд╡рд▓реНрд╢рди рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ!
рд░рдВрдЧреАрди рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрдирд╡рд▓реНрд╢рди рддрдВрддреНрд░ рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рдорд╛рди рд╣реЛрдЧрд╛ рдЬреЛ рд╣рдордиреЗ рдЧреНрд░реЗрд╕реНрдХреЗрд▓ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдерд╛ред рдЧреНрд░реЗрд╕реНрдХреЗрд▓ рдФрд░ рд░рдВрдЧреАрди рдЪрд┐рддреНрд░реЛрдВ рдкрд░ рдХрд┐рдП рдЧрдП рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд░рдВрдЧреАрди рдЪреИрдирд▓ рдХреЗ рд▓рд┐рдП рдХрдирд╡рд▓реНрд╢рди рдСрдкрд░реЗрд╢рди рдХреЛ рдЕрдм 3 рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдлрд┐рд░, рдЬрдм рд╣рдордиреЗ рдкреНрд░рддреНрдпреЗрдХ рд░рдВрдЧреАрди рдЪреИрдирд▓ рдкрд░ рдХрдирд╡рд▓реНрд╢рдирд╢рди рдСрдкрд░реЗрд╢рди рдХрд┐рдпрд╛ рд╣реИ, рддреАрди рдкреНрд░рд╛рдкреНрдд рдорд╛рдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ 1 рдХреЛ рдЬреЛрдбрд╝реЗрдВ (рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдорд╛рдирдХ рдорд╛рди)ред рдкрд░рд┐рдгрд╛рдореА рдирдпрд╛ рдорд╛рди рдирдИ рдЫрд╡рд┐ рдореЗрдВ рдЙрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдкрд┐рдХреНрд╕реЗрд▓ рдерд╛ред
рд╣рдо рдЕрдкрдиреА рдореВрд▓ рдЫрд╡рд┐ рдореЗрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд░рдВрдЧ рдЪреИрдирд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рд░реВрдкрд╛рдВрддрд░рдг рдСрдкрд░реЗрд╢рди (рдПрдХ рдХрдирд╡рд▓реНрд╢рди рдСрдкрд░реЗрд╢рди) рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкрд░рд┐рдгрд╛рдореА рдЫрд╡рд┐ рд╣рдорд╛рд░реА рдореВрд▓ RGB рдЫрд╡рд┐ рдХреЗ рд╕рдорд╛рди рдКрдБрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рдореЗрдВ рд╕рдорд╛рди рдЖрдХрд╛рд░ рдХреА рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдПрдХрд▓ 3D рдлрд╝рд┐рд▓реНрдЯрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрдирд╡рд▓реНрд╢рди рдСрдкрд░реЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдПрдХрд▓ рдЖрдЙрдЯрдкреБрдЯ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рд╕рдВрд╡реЗрджреА рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ 3 рдбреА рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрдо рдмрд╛рдд рд╣реИред рдпрджрд┐ рд╣рдо рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ 3 рдбреА рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд░рд┐рдгрд╛рдо рдХрдИ рдЖрдЙрдЯрдкреБрдЯ рдорд╛рди рд╣реЛрдВрдЧреЗ - рдкреНрд░рддреНрдпреЗрдХ рдорд╛рди рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред

рдКрдкрд░ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЪреВрдВрдХрд┐ рд╣рдо 3 рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк 3 рдбреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ 3 рдХреА рдЧрд╣рд░рд╛рдИ рд╣реЛрдЧреА - рдкреНрд░рддреНрдпреЗрдХ рдкрд░рдд рдЕрдкрдиреЗ рд╕рднреА рд░рдВрдЧ рдЪреИрдирд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЫрд╡рд┐ рдХреЗ рдКрдкрд░ рдПрдХ рдлрд┐рд▓реНрдЯрд░ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореВрд▓реНрдп рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧреАред
рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 3 рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рдмрдЬрд╛рдп, рд╣рдордиреЗ 16 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рддреЛ рдЖрдЙрдЯрдкреБрдЯ 3 рдбреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ 16 рдЧрд╣рд░рд╛рдИ рдкрд░рддреЗрдВ рд╣реЛрдВрдЧреАред
рдХреЛрдб рдореЗрдВ, рд╣рдо filters
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдорд╛рди рдкрд╛рд╕ рдХрд░рдХреЗ рдмрдирд╛рдП рдЧрдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
tf.keras.layers.Conv2D(filters, kernel_size, ...)
рд╣рдо kernel_size
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЖрдХрд╛рд░ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдХрд╛рд░ 3x3 рдХреЗ 3 рдлрд┐рд▓реНрдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣реБрдЖ рдерд╛, рд╣рдо рдХреЛрдб рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
tf.keras.layers.Conv2D(3, (3,3), ...)
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╕рдЬрд╛ рд╣реБрдЖ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди, 3 рдбреА рдлрд┐рд▓реНрдЯрд░ рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдиреБрдХрд╕рд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдореВрд▓реНрдп рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдм рдЬрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд░рдВрдЧ рдЪрд┐рддреНрд░реЛрдВ рдкрд░ рдХрдирд╡рд▓реНрд╢рди рдСрдкрд░реЗрд╢рди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп (рдПрдХ рд╣реА рдЕрдзрд┐рдХрддрдо-рдкреВрд▓рд┐рдВрдЧ) рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдХрддрдо рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рд╕рдмрд╕рдореНрдкрд▓рд┐рдВрдЧ рдСрдкрд░реЗрд╢рди рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рд╕реЗ рд╕рдмрд╕рдореНрдкрд▓рд┐рдВрдЧ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди
рдЖрдЗрдП рдЕрдм рдЬрд╛рдиреЗрдВ рдХрд┐ рдХреИрд╕реЗ рд░рдВрдЧ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рдкрд░ рд╕рдмрд╕рдореНрдкрд▓рд┐рдВрдЧ рдСрдкрд░реЗрд╢рди рдХрд░рдирд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрдзрд┐рдХрддрдо рдорд╛рди рд╕реЗ рд╕рдмрд╕реИрдВрдкрд▓рд┐рдВрдЧ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдереЛрдбрд╝реЗ рдЕрдВрддрд░ рдХреЗ рд╕рд╛рде рдЧреНрд░реЗ рдХреЗ рд░рдВрдЧреЛрдВ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рд╕рдмрд╕реИрдореНрдкрд▓рд┐рдВрдЧ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдЕрдм рдкреНрд░рддреНрдпреЗрдХ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рд▓рдЧрд╛рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреНрд░рд╛рдкреНрдд рд╣реБрдИ рдереАред рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред
рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдЖрдЙрдЯрдкреБрдЯ рджреГрд╢реНрдп рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рд╣рдо рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рдкрд░ рд╕рдмрд╕рдореНрдкрд▓рд┐рдВрдЧ рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 2x2 рдХрд░реНрдиреЗрд▓ рдФрд░ рдЪрд░рдг 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЕрдзрд┐рдХрддрдо рдорд╛рди рджреНрд╡рд╛рд░рд╛ рд╕рдмрд╕реИрдВрдкрд▓рд┐рдВрдЧ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдкреНрд░рддреНрдпреЗрдХ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ 2x2 рдХрд░реНрдиреЗрд▓ рдХреЗ "рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди" рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ (рдХрдиреНрд╡реЗрдХреНрд╢рди рдСрдкрд░реЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡)ред

рдЕрдм рд╣рдо рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рдкрд░ рд╕рдмрд╕рдореНрдкрд▓рд┐рдВрдЧ рдСрдкрд░реЗрд╢рди рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╣рд▓реЗ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ, рдирд┐рдореНрди рдорд╛рди 2x2 рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдЧрд┐рд░ рдЧрдП - 1, 9, 5, 4. 4. рдЪреВрдВрдХрд┐ рдЗрд╕ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп 9 рд╣реИ, рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рдирдП рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рдСрдкрд░реЗрд╢рди рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

рдЕрдзрд┐рдХрддрдо рдорд╛рди рджреНрд╡рд╛рд░рд╛ рд╕рдмрд╕рдореНрдкрд▓рд┐рдВрдЧ рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд░рд┐рдгрд╛рдо 3 рджреНрд╡рд┐-рдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпреЛрдВ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореВрд▓ рдЗрдирдкреБрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╕реЗ 2 рдЧреБрдирд╛ рдЫреЛрдЯрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрдм рддреАрди-рдЖрдпрд╛рдореА рдЗрдирдкреБрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкрд░ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рд╕реЗ рд╕рдмрд╕реИрдореНрдкрд▓рд┐рдВрдЧ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рд╣реА рдЧрд╣рд░рд╛рдИ рдХрд╛ рддреНрд░рд┐-рдЖрдпрд╛рдореА рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдорд┐рд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдКрдВрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдЖрдзреЗ рд╣реЛрддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕рдВрдкреВрд░реНрдг рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдЖрдЧреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреЛрдб рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!
рдХреЛрд▓реИрдм: рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдФрд░ рдХреБрддреНрддреЛрдВ
рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдУрд░рд┐рдЬрд┐рдирд▓ рдХреЛрд▓реИрдм рдЙрдкрд▓рдмреНрдз рд╣реИред
рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рд░реВрд╕реА рдореЗрдВ рдХреЛрд▓реИрдм рдЙрдкрд▓рдмреНрдз рд╣реИред
рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рд╣рдо рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдФрд░ рдХреБрддреНрддреЛрдВ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП tf.keras.Sequential
рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЫрд╡рд┐ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░рд┐рдпрд░ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд░реЗрдВрдЧреЗ, рдФрд░ tf.keras.Sequential
рдХрд╛ рдЙрдкрдпреЛрдЧ tf.keras.Sequential
ред
рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рдЪрд╛рд░:
рд╣рдо рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреА рд╕рд╣рдЬ рд╕рдордЭ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ:
tf.keras.preprocessing.image.ImageDataGenerator
(рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдХ рдкрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХреИрд╕реЗ рдХрд░реЗрдВ?) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ ( рдбреЗрдЯрд╛ рдЗрдирдкреБрдЯ рдкрд╛рдЗрдкрд▓рд╛рдЗрди ) рдХреЗ рдПрдХ рдореЙрдбрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред- рдореБрдХрд░рдирд╛ - рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП?
рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдо ...
рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдХреЛрдб рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ -> рд╢реАрд░реНрд╖ рдореЗрдиреВ рдореЗрдВ рд╕рднреА рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ ред рдЗрд╕ рддрд░рд╣ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕реЗ рд╕реНрдореГрддрд┐ рдХреА рдХрдореА рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА, рдЕрдЧрд░ рдЖрдкрдиреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдпрд╛ рдХрдИ рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЖрдпрд╛рдд рдкреИрдХреЗрдЬ
рдЖрдЗрдП рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░реЗрдВ рдЬрд┐рдирдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
os
- рдлрд╛рдЗрд▓реЛрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдкрдврд╝реЗрдВ;numpy
- numpy
рдмрд╛рд╣рд░ рдХреБрдЫ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреЗ рд▓рд┐рдП;matplotlib.pyplot
- рдПрдХ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рддреНрдпрд╛рдкрди рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░рдирд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ред
from __future__ import absolute_import, division, print_function, unicode_literals import os import matplotlib.pyplot as plt import numpy as np
TensorFlow
рдЖрдпрд╛рдд TensorFlow
:
import tensorflow as tf from tensorflow.keras.preprocessing.image import ImageDataGenerator
import logging logger = tf.get_logger() logger.setLevel(logging.ERROR)
рдбреЗрдЯрд╛ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ
рд╣рдо рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдХреЗ рдЕрдкрдиреЗ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдбреЗрдЯрд╛ рд╕реЗрдЯ рдЬреЛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣ рдХрд╛рдЧрд▓реЗ рд╕реЗрд╡рд╛ рд╕реЗ рд╕реЗрдЯ рдбреЙрдЧреНрд╕ рдмрдирд╛рдо рдХреИрдЯреНрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ (рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдбреЗрдЯрд╛ рд╕реЗрдЯ Microsoft рдЕрдиреБрд╕рдВрдзрд╛рди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
рдЕрддреАрдд рдореЗрдВ, CoLab рдФрд░ рдореИрдВрдиреЗ рдЦреБрдж TensorFlow Dataset рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдПрдХ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рдЬреЛ рдХрд╛рдо рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЗрд╕ CoLab рдореЗрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдо рдбрд┐рд╕реНрдХ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП tf.keras.preprocessing.image.ImageDataGenerator
рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдбреЙрдЧ рд╡реАрдПрд╕ рдХреИрдЯреНрд╕ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдЕрдирдЬрд╝рд┐рдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
_URL = 'https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip' zip_dir = tf.keras.utils.get_file('cats_and_dogs_filterted.zip', origin=_URL, extract=True)
рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд░рдЪрдирд╛ рд╣реИ:
cats_and_dogs_filtered |__ train |______ cats: [cat.0.jpg, cat.1.jpg, cat.2.jpg ...] |______ dogs: [dog.0.jpg, dog.1.jpg, dog.2.jpg ...] |__ validation |______ cats: [cat.2000.jpg, cat.2001.jpg, cat.2002.jpg ...] |______ dogs: [dog.2000.jpg, dog.2001.jpg, dog.2002.jpg ...]
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
zip_dir_base = os.path.dirname(zip_dir) !find $zip_dir_base -type d -print
рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдХреБрдЫ рд╕рдорд╛рди рдорд┐рд▓рддрд╛ рд╣реИ:
/root/.keras/datasets /root/.keras/datasets/cats_and_dogs_filtered /root/.keras/datasets/cats_and_dogs_filtered/train /root/.keras/datasets/cats_and_dogs_filtered/train/dogs /root/.keras/datasets/cats_and_dogs_filtered/train/cats /root/.keras/datasets/cats_and_dogs_filtered/validation /root/.keras/datasets/cats_and_dogs_filtered/validation/dogs /root/.keras/datasets/cats_and_dogs_filtered/validation/cats
рдЕрдм рдЪрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд░рд╛рд╕реНрддреЗ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ:
base_dir = os.path.join(os.path.dirname(zip_dir), 'cats_and_dogs_filtered') train_dir = os.path.join(base_dir, 'train') validation_dir = os.path.join(base_dir, 'validation') train_cats_dir = os.path.join(train_dir, 'cats') train_dogs_dir = os.path.join(train_dir, 'dogs') validation_cats_dir = os.path.join(validation_dir, 'cats') validation_dogs_dir = os.path.join(validation_dir, 'dogs')
рдбреЗрдЯрд╛ рдФрд░ рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдордЭрдирд╛
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рддреНрдпрд╛рдкрди рдбреЗрдЯрд╛ рд╕реЗрдЯ (рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛) рдореЗрдВ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдФрд░ рдХреБрддреНрддреЛрдВ рдХреА рдХрд┐рддрдиреА рдЫрд╡рд┐рдпрд╛рдВ рд╣реИрдВред
num_cats_tr = len(os.listdir(train_cats_dir)) num_dogs_tr = len(os.listdir(train_dogs_dir)) num_cats_val = len(os.listdir(validation_cats_dir)) num_dogs_val = len(os.listdir(validation_dogs_dir)) total_train = num_cats_tr + num_dogs_tr total_val = num_cats_val + num_dogs_val
print(' : ', num_cats_tr) print(' : ', num_dogs_tr) print(' : ', num_cats_val) print(' : ', num_dogs_val) print('--') print(' : ', total_train) print(' : ', total_val)
рдЕрдВрддрд┐рдо рдмреНрд▓реЙрдХ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧрд╛:
: 1000 : 1000 : 500 : 500 -- : 2000 : 1000
рдореЙрдбрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдирд╛
рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрди рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдШреЛрд╖рдгрд╛ рдореЗрдВ рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ:
BATCH_SIZE = 100
рдбреЗрдЯрд╛ рдХреА рддреИрдпрд╛рд░реА
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╣рдорд╛рд░реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рд╡реИрд▓реНрдпреВ рдХреЗ рд╕рд╛рде рдЯреЗрдВрд╕рд░реЛрдВ рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдард╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрджрдореЛрдВ рдХреА рд╕реВрдЪреА:
- рдбрд┐рд╕реНрдХ рд╕реЗ рдЪрд┐рддреНрд░ рдкрдврд╝реЗрдВ
- рдЫрд╡рд┐ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдбреАрдХреЛрдб рдХрд░реЗрдВ рдФрд░ рдЖрд░рдЬреАрдмреА рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ
- рдЕрд╕реНрдерд╛рдпреА рдмрд┐рдВрджреБ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рджрд╣рд╛рдИ рдореЗрдВ рдмрджрд▓реЗрдВ
- 0 рд╕реЗ 255 рдХреЗ рдЕрдВрддрд░рд╛рд▓ рд╕реЗ 0 рд╕реЗ 1 рдХреЗ рдЕрдВрддрд░рд╛рд▓ рд╕реЗ рдЯреЗрдВрд╕рд░ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪреВрдВрдХрд┐ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЫреЛрдЯреЗ рдЗрдирдкреБрдЯ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЗрди рд╕рднреА рдСрдкрд░реЗрд╢рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ tf.keras.preprocessing.image.ImageDataGenerator
class рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╣рдо рдХреЛрдб рдХреА рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рд╕рдм рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
train_image_generator = ImageDataGenerator(rescale=1./255) validation_image_generator = ImageDataGenerator(rescale=1./255)
рдЬрдм рд╣рдордиреЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рддреНрдпрд╛рдкрди рдбреЗрдЯрд╛ рдХреЗ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдЬрдирд░реЗрдЯрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рддреЛ flow_from_directory рд╡рд┐рдзрд┐ рдбрд┐рд╕реНрдХ рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░реЗрдЧреА , рдбреЗрдЯрд╛ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░реЗрдЧреА рдФрд░ рдХреЛрдб рдХреА рд╕рд┐рд░реНрдл рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓ рд╕рдХрддреА рд╣реИ:
train_data_gen = train_image_generator.flow_from_directory(batch_size=BATCH_SIZE, directory=train_dir, shuffle=True, target_size=(IMG_SHAPE,IMG_SHAPE), class_mode='binary')
рдирд┐рд╖реНрдХрд░реНрд╖:
Found 2000 images belonging to 2 classes.
рд╕рддреНрдпрд╛рдкрди рдбреЗрдЯрд╛ рдЬрдирд░реЗрдЯрд░:
val_data_gen = validation_image_generator.flow_from_directory(batch_size=BATCH_SIZE, directory=validation_dir, shuffle=False, target_size=(IMG_SHAPE,IMG_SHAPE), class_mode='binary')
рдирд┐рд╖реНрдХрд░реНрд╖:
Found 1000 images belonging to 2 classes.
рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реЗрдЯ рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВред
рд╣рдо matplotlib
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбрд╛рдЯрд╛рд╕реЗрдЯ рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
sample_training_images, _ = next(train_data_gen)
next
рдлрд╝рдВрдХреНрд╢рди рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдмреНрд▓реЙрдХ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдПрдХ рдмреНрд▓реЙрдХ (рдХрдИ рдЪрд┐рддреНрд░, рдХрдИ рд▓реЗрдмрд▓) рдХрд╛ рдПрдХ рдЯрдкрд▓ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рд╣рдо рд▓реЗрдмрд▓ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рд╣рдо рдЦреБрдж рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред
plotImages(sample_training_images[:5])
рдЙрджрд╛рд╣рд░рдг рдЖрдЙрдЯрдкреБрдЯ (рд╕рднреА 5 рдХреЗ рдмрдЬрд╛рдп 2 рдЪрд┐рддреНрд░):

рдореЙрдбрд▓ рдирд┐рд░реНрдорд╛рдг
рд╣рдо рдореЙрдбрд▓ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ
рдореЙрдбрд▓ рдореЗрдВ 4 рдХрдирд╡рд▓реНрд╢рди рдмреНрд▓реЙрдХ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдмрд╛рдж рдПрдХ рд╕рдмрдорд┐рд╢рди рдкрд░рдд рдХреЗ рд╕рд╛рде рдПрдХ рдмреНрд▓реЙрдХ рд╣реЛрддрд╛ рд╣реИред рдЕрдЧрд▓рд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 512 рдиреНрдпреВрд░реЙрдиреНрд╕ рдФрд░ рдПрдХ relu
рд╕рдХреНрд░рд┐рдпрдг relu
рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдкрд░рдд relu
ред рдореЙрдбрд▓ рджреЛ рд╡рд░реНрдЧреЛрдВ - рдХреБрддреНрддреЛрдВ рдФрд░ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ - softmax
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рдВрднрд╛рд╡реНрдпрддрд╛ рд╡рд┐рддрд░рдг softmax
ред
model = tf.keras.models.Sequential([ tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(IMG_SHAPE, IMG_SHAPE, 3)), tf.keras.layers.MaxPooling2D(2, 2), tf.keras.layers.Conv2D(64, (3, 3), activation='relu'), tf.keras.layers.MaxPooling2D(2, 2), tf.keras.layers.Conv2D(128, (3, 3), activation='relu'), tf.keras.layers.MaxPooling2D(2, 2), tf.keras.layers.Conv2D(128, (3, 3), activation='relu'), tf.keras.layers.MaxPooling2D(2, 2), tf.keras.layers.Flatten(), tf.keras.layers.Dense(512, activation='relu'), tf.keras.layers.Dense(2, activation='softmax') ])
рдореЙрдбрд▓ рд╕рдВрдХрд▓рди
рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рд╣рдо adam
рдЕрдиреБрдХреВрд▓рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдПрдХ рд╣рд╛рдирд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ sparse_categorical_crossentropy
рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░ рдореЙрдбрд▓ рдХреА рд╕рдЯреАрдХрддрд╛ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо metrics
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ accuracy
рдХрд╛ рдореВрд▓реНрдп рджреЗрддреЗ рд╣реИрдВ:
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
рдореЙрдбрд▓ рджреГрд╢реНрдп
рдЖрдЗрдП рд╕рд╛рд░рд╛рдВрд╢ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрддрд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:
model.summary()
рдирд┐рд╖реНрдХрд░реНрд╖:
Model: "sequential" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= conv2d (Conv2D) (None, 148, 148, 32) 896 _________________________________________________________________ max_pooling2d (MaxPooling2D) (None, 74, 74, 32) 0 _________________________________________________________________ conv2d_1 (Conv2D) (None, 72, 72, 64) 18496 _________________________________________________________________ max_pooling2d_1 (MaxPooling2 (None, 36, 36, 64) 0 _________________________________________________________________ conv2d_2 (Conv2D) (None, 34, 34, 128) 73856 _________________________________________________________________ max_pooling2d_2 (MaxPooling2 (None, 17, 17, 128) 0 _________________________________________________________________ conv2d_3 (Conv2D) (None, 15, 15, 128) 147584 _________________________________________________________________ max_pooling2d_3 (MaxPooling2 (None, 7, 7, 128) 0 _________________________________________________________________ flatten (Flatten) (None, 6272) 0 _________________________________________________________________ dense (Dense) (None, 512) 3211776 _________________________________________________________________ dense_1 (Dense) (None, 2) 1026 ================================================================= Total params: 3,453,634 Trainable params: 3,453,634 Non-trainable params: 0
!
( ImageDataGenerator
) fit_generator
fit
:
EPOCHS = 100 history = model.fit_generator( train_data_gen, steps_per_epoch=int(np.ceil(total_train / float(BATCH_SIZE))), epochs=EPOCHS, validation_data=val_data_gen, validation_steps=int(np.ceil(total_val / float(BATCH_SIZE))) )
:
acc = history.history['acc'] val_acc = history.history['val_acc'] loss = history.history['loss'] val_loss = history.history['val_loss'] epochs_range = range(EPOCHS) plt.figure(figsize=(8,8)) plt.subplot(1, 2, 1) plt.plot(epochs_range, acc, label=' ') plt.plot(epochs_range, val_acc, label=' ') plt.legend(loc='lower right') plt.title(' ') plt.subplot(1, 2, 2) plt.plot(epochs_range, loss, label=' ') plt.plot(epochs_range, val_loss, label=' ') plt.legend(loc='upper right') plt.title(' ') plt.savefig('./foo.png') plt.show()
рдирд┐рд╖реНрдХрд░реНрд╖:

, 70% ( ).
. , .
тАж .
тАж call-to-action тАФ , share :)
рдпреВрдЯреНрдпреВрдм
рддрд╛рд░
VKontakte