рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдБ

Hugging Face рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди: рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕рд╣рд┐рдд рдПрдХ рд╡реНрдпрд╛рдкрдХ рдЧрд╛рдЗрдб

AI рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрд╝рди рдореЗрдВ рдореЙрдбрд▓ рдХреЛ рдЯреНрд░реЗрди рдФрд░ рдбрд┐рдкреНрд▓реЙрдп рдХрд░рдиреЗ рдХреЗ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рдХреЗ рд╕рд╛рде Hugging Face рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░реЗрдВред
┬╖ 13 рдорд┐ре░ рдкрдврд╝реЗрдВ

AI рдХреЗ рд╕рд╛рде рдЦреЛрдЬреЗрдВ

рдХреГрддреНрд░рд┐рдо рдмреБрджреНрдзрд┐рдорддреНрддрд╛ (AI) рдФрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ (ML) рдХреЗ рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЙрднрд░рддрд╛ рд╣реИ, рдЬреЛ рдЪреЗрд╣рд░реЗ рдХреА рдкрд╣рдЪрд╛рди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рд╕реЗ рд▓реЗрдХрд░ рдЪрд┐рдХрд┐рддреНрд╕рд╛ рдЗрдореЗрдЬ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рддрдХ, рдЕрдиреЗрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╢рдХреНрддрд┐ рджреЗрддрд╛ рд╣реИред

рдбреЗрдЯрд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХреЛрдВ рдФрд░ AI рдкреНрд░реИрдХреНрдЯрд┐рд╢рдирд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдЕрдиреЗрдХ рдЯреВрд▓реНрд╕ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдореЗрдВ, Hugging Face рдПрдХ рдкреНрд░рдореБрдЦ рдЦрд┐рд▓рд╛рдбрд╝реА рд░рд╣рд╛ рд╣реИтАФрд╡рд┐рд╢реЗрд╖рдХрд░ рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ рд╕рдВрд╕рд╛рдзрди (NLP) рдХреЗ рд▓рд┐рдП, рдФрд░ рдЕрдм рдмрдврд╝рддреЗ рд╣реБрдП рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдЬреИрд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрд╝рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреАред

рдпрд╣ рд▓реЗрдЦ Hugging Face рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рдореВрд▓ рддрддреНрд╡реЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдЧрд╛тАФрдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╕рдордЭ, рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреА рддреИрдпрд╛рд░реА, рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг, рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ Hugging Face рд╣рдм рдкрд░ рдбрд┐рдкреНрд▓реЙрдп рдХрд░рдирд╛, рдФрд░ рдЕрдВрддрддрдГ API рдФрд░ Hugging Face рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рдкреНрд▓реЙрдп рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдирд╛ред

рдЪрд╛рд╣реЗ рдЖрдк рдПрдХ рд╢реБрд░реБрдЖрддреА рд╣реЛрдВ рдпрд╛ рдЕрдиреБрднрд╡реА рдкреНрд░реИрдХреНрдЯрд┐рд╢рдирд░, рдпрд╣ рдЧрд╛рдЗрдб рдЖрдкрдХреА рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП Hugging Face рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

Hugging Face рдХреЗ рд╕рд╛рде рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреЛ рд╕рдордЭрдирд╛

рдпрд╣ рд╕реЗрдХреНрд╢рди рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреА рдмреБрдирд┐рдпрд╛рдж рдФрд░ Hugging Face рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдлрд╝рд╛рдпрджреЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рддрд╛ рд╣реИред

рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреА рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЗрдВ

рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХрд╛ рдЕрд░реНрде рд╣реИ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрдИ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдореЗрдВ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдирд╛ред

рдпрд╣ рдХрд╛рд░реНрдп рдЙрди рдПрд▓реНрдЧреЛрд░рд┐рджреНрдореЛрдВ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдЫрд╡рд┐ рдХреА рджреГрд╢реНрдп рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╕реЗ рд╕реАрдЦреЗ рдЧрдП рдкреИрдЯрд░реНрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрд╕рдХреА рд╢реНрд░реЗрдгреА рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реИрдВред рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбрд▓, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЙрдиреНрд╡реЛрд▓реНрдпреВрд╢рдирд▓ рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХ (CNNs), рдЫрд╡рд┐ рдбреЗрдЯрд╛ рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкреИрдЯрд░реНрди рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░рдг, рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрди рдЧрдП рд╣реИрдВред

CNNs рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ рд▓реЗрдЦ An Introduction to Convolutional Neural Networks (CNNs) CNNs рдХреЛ рд╕рдордЭрдиреЗ, рдЫрд╡рд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░ рдЙрдирдХреЗ рдкреНрд░рднрд╛рд╡, рдФрд░ рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрдд CNNs рд╣реЗрддреБ рдУрд╡рд░рдлрд┐рдЯрд┐рдВрдЧ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдХреБрдЫ рдкреНрд░рдореБрдЦ рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдкреВрд░реНрдг рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Classification in Machine Learning: An Introduction рд▓реЗрдЦ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЗрдВ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИтАФрдпрд╣ рдХреНрдпрд╛ рд╣реИ, рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгред

рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП Hugging Face рдХреНрдпреЛрдВ рдЪреБрдиреЗрдВ?

Hugging Face рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╛рдкрдХ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИтАФрдЖрд╕рд╛рди-рд╕реЗ-рдЙрдкрдпреЛрдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдкреВрд░реНрд╡-рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓реЛрдВ рдХрд╛ рд╡рд┐рд╢рд╛рд▓ рднрдВрдбрд╛рд░, рдФрд░ рд╡рд┐рд╕реНрддреГрдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд╕рд╛рдеред

рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдореНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП Hugging Face рдХрдИ рд▓рд╛рдн рджреЗрддрд╛ рд╣реИ:

Hugging Face рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рддреАрди рд▓рд╛рдн (рдЫрд╡рд┐ GPT-4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрдирд░реЗрдЯ рдХреА рдЧрдИ)

Hugging Face рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рддреАрди рд▓рд╛рдн (рдЫрд╡рд┐ GPT-4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрдирд░реЗрдЯ рдХреА рдЧрдИ)

  • рд╕реБрд▓рднрддрд╛: Hugging Face рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЕрдиреБрдХреВрд▓ API рдФрд░ рд╡реНрдпрд╛рдкрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЗрд╕реЗ рд╢реБрд░реБрдЖрддреА рдФрд░ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮтАФрджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рдмрдирд╛рддреЗ рд╣реИрдВред
  • рдкреНрд░реА-рдЯреНрд░реЗрдВрдб рдореЙрдбрд▓: рдкреВрд░реНрд╡-рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓реЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рддрдХ рдкрд╣реБрдВрдЪ, рдЬрд┐рдиреНрд╣реЗрдВ рдХрд╕реНрдЯрдо рдбреЗрдЯрд╛рд╕реЗрдЯреНрд╕ рдкрд░ рдлрд╛рдЗрди-рдЯреНрдпреВрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИтАФрд╕рдордп рдФрд░ рдХрдореНрдкреНрдпреВрдЯ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдмрдЪрддред рдХрд┐рд╕реА рднреА рдЕрдХрд╛рдЙрдВрдЯ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдореЙрдбрд▓ рдЯреНрд░реЗрди рдФрд░ рдбрд┐рдкреНрд▓реЙрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рд╕рдореБрджрд╛рдп рдФрд░ рд╕рд╣рд╛рдпрддрд╛: рдЬреАрд╡рдВрдд рд╕рдореБрджрд╛рдп рдФрд░ рд╕рдХреНрд░рд┐рдп рд╕рдкреЛрд░реНрдЯ рдлрд╝реЛрд░рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рдореЙрдбрд▓реНрд╕ рдХрд╛ рдЯреНрд░рдмрд▓рд╢реВрдЯрд┐рдВрдЧ рдФрд░ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, Hugging Face AWS, Azure, рдФрд░ Google Cloud Platform рдЬреИрд╕реЗ рдкреНрд░рдореБрдЦ рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдореНрд╕ рдкрд░, рдФрд░ рдЕрдиреЗрдХ рдЗрдиреНрдлрд╝рд░реЗрдВрд╕ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде, рдореЙрдбрд▓ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред

рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдореНрд╕ рдкрд░ рдореЙрдбрд▓ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рд╡рд┐рдХрд▓реНрдк

рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдореНрд╕ рдкрд░ рдореЙрдбрд▓ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рд╡рд┐рдХрд▓реНрдк

рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреА рддреИрдпрд╛рд░реА

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рд╣реИ, рдФрд░ рд╣рдо рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП Hugging Face рд╕реЗ beans рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдбреЗрдЯрд╛рд╕реЗрдЯ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдореЗрдВ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд░реЗрдВрдЧреЗред

рдХреЛрдб рд╡рд╛рд▓рд╛ рдиреЛрдЯрдмреБрдХ Google Colab рдореЗрдВ рд╕рд╛рде-рд╕рд╛рде рдлрд╝реЙрд▓реЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред

рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдХреЛрдбреНрд╕ Hugging Face рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдХрд╛рдлрд╝реА рдкреНрд░реЗрд░рд┐рдд рд╣реИрдВред

рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ

рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдХрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╣рд░ рдПрдХ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рднреВрдорд┐рдХрд╛ рд╣реИред рдХреБрдЫ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдорд╛рдВрдЧрддреА рд╣реИрдВред рд╡реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ Python рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ тАЬpipтАЭ рд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреА рдЬрд╛рддреА рд╣реИрдВ:

%%bash
pip -q install datasets
pip -q install transformers=='4.29.0'
pip -q install tensorflow=='2.15' # At least this tensorflow version is required to use the "evaluate module"
pip -q install evaluate
pip -q install --upgrade accelerate

рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд░реНрдиреЗрд▓ рдХреЛ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╕рдлрд▓ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рдмрд╛рдж, рдЖрд╡рд╢реНрдпрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХреЛ from рдФрд░ import рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рд╕реЗ рдЗрдореНрдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

import torch
import torchvision
import numpy as np
import evaluate
from datasets import load_dataset
from huggingface_hub import notebook_login
from torchvision import datasets, transforms
from torch.utils.data import DataLoader
from transformers import DefaultDataCollator
from transformers import AutoImageProcessor
from torchvision.transforms import RandomResizedCrop, Compose, Normalize, ToTensor
from transformers import AutoModelForImageClassification, TrainingArguments, Trainer
import matplotlib.pyplot as plt

рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдФрд░ рд╕рдВрдЧрдарди

Hugging Face рд╕реЗ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдирд╛ load_dataset рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реАрдзрд╛-рд╕рд╛рджрд╛ рд╣реИред

beans_train = load_dataset("beans", split="train")
  • beans рдЙрдкрдпреЛрдЧ рдореЗрдВ рд▓рд┐рдП рдЬрд╛ рд░рд╣реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдирд╛рдо рд╣реИред
  • train рдкреВрд░реЗ рдбреЗрдЯрд╛ рдХреЗ рдЙрд╕ рд╕рдмрд╕реЗрдЯ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдПрдХ рдмрд╛рд░ рдбреЗрдЯрд╛ рд▓реЛрдб рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдКрдкрд░ рджрд┐рдП рд╡реЗрд░рд┐рдПрдмрд▓ рдХрд╛ рдирд╛рдо рдкреНрд░рд┐рдВрдЯ рдХрд░рдХреЗ рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

print(beans_train)

рдпрд╣ рдиреАрдЪреЗ рджрд┐рдпрд╛ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рддрд╛ рд╣реИ:

Dataset({
    features: ['image_file_path', 'image', 'labels'],
    num_rows: 1034
})

рдХреБрд▓ 1034 рдЫрд╡рд┐рдпрд╛рдБ рд╣реИрдВ, рдФрд░ рд╣рд░ рдЫрд╡рд┐ рдХреЗ рддреАрди рдлрд╝реАрд▓реНрдб рд╣реИрдВ:

  • image_path: рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЫрд╡рд┐ рдХрд╛ рдкрдеред
  • image: рдмреАрдиреНрд╕ рдЫрд╡рд┐ рдХрд╛ рдПрдХ PIL рдСрдмреНрдЬреЗрдХреНрдЯред
  • labels: рдЫрд╡рд┐ рдХрд╛ рд▓реЗрдмрд▓, рдЬреЛ рдирд┐рдореНрди рддреАрди рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
    • 0: angular_leaf_spot
    • 1: bean_rust
    • 2: healthy

рдирд┐рдореНрди рд╣реЗрд▓реНрдкрд░ рдлрд╝рдВрдХреНрд╢рди рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдЪреБрдиреА рдЧрдИ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдореМрдЬреВрджрд╛ рд▓реЗрдмрд▓реНрд╕ (0, 1, рдФрд░ 2) рдХреЗ рд╕рд╛рде рд╕рд╣реА рдЗрдореЗрдЬ рдЯрд╛рдЗрдк рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИ

labels_names = {
   0: "angular_leaf_spot",
   1: "bean_rust",
   2: "healthy",
}

def display_random_images(dataset, num_images=4):

   num_rows = 2
   num_cols = np.ceil(num_images / num_rows).astype(int)

   plt.figure(figsize=(num_cols * 3, num_rows * 3))
   indices = np.random.choice(range(len(dataset)), size=num_images, replace=False)

   for i, idx in enumerate(indices, 1):
       idx = int(idx)
       image = dataset[idx]['image']
       label = dataset[idx]['labels']
       label_name = labels_names.get(label, "Unknown")

       plt.subplot(num_rows, num_cols, i)
       plt.imshow(image)
       plt.title(f"{label_name} ({label})")
       plt.axis('off')

   plt.tight_layout()
   plt.show()

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди display_random_images рджрд┐рдП рдЧрдП рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд░реИрдВрдбрдо рд╕рдмрд╕реЗрдЯ рдЪреБрдирддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЧреНрд░рд┐рдб рдореЗрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рд╣рд░ рдЫрд╡рд┐ рдХреЛ рдЙрд╕рдХреА рд╢реНрд░реЗрдгреА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓реЗрдмрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреИрд╕реЗ "angular_leaf_spot", "bean_rust", "healthy")ред

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

рдЗрд╕рдХреЗ рдмрд╛рдж рд╣рдо рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЫрд╣ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЫрд╡рд┐рдпрд╛рдБ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

display_random_images(beans_train, num_images=6)

рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ 6 рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЫрд╡рд┐рдпрд╛рдБ

рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рдЫрд╣ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЫрд╡рд┐рдпрд╛рдБ

рдбреЗрдЯрд╛ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ

рдореЙрдбрд▓ рдЯреНрд░реЗрди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдбреЗрдЯрд╛ рдХреЛ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдмрдирд╛рдиреЗ рд╣реЗрддреБ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдкрд╣рд▓реЗ, рдореВрд▓ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ 80% рдФрд░ 20% рдХреНрд░рдорд╢рдГ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рд╡реИрд▓рд┐рдбреЗрд╢рди рдбреЗрдЯрд╛ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ train_test_split рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

beans_train = beans_train.train_test_split(test_size=0.2)

рдЕрдЧрд▓рд╛, рджреЛ рд╢рдмреНрджрдХреЛрд╢ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ: label2id рдФрд░ id2labelред рдпрд╣ рдорд╛рдирд╡-рдкрдардиреАрдп рд▓реЗрдмрд▓ рдирд╛рдореЛрдВ рдФрд░ рдорд╢реАрди-рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрд╛рд╡рд╢реНрдпрдХ рд╣реИред

рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдЕрдВрддрд┐рдо рдореЙрдбрд▓ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛тАФрджреЛрдиреЛрдВ рдХреЛ рд╕реБрдЧрдо рдмрдирд╛рддреА рд╣реИред

labels = beans_train["train"].features["labels"].names
label2id, id2label = dict(), dict()

for i, label in enumerate(labels):
   label2id[label] = str(i)
   id2label[str(i)] = label

рдиреАрдЪреЗ id2label рд╡реЗрд░рд┐рдПрдмрд▓ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ:

print(id2label)
{'0': 'angular_leaf_spot', '1': 'bean_rust', '2': 'healthy'}

рдкреНрд░реА-рдЯреНрд░реЗрдВрдб рдореЙрдбрд▓ рд▓реЛрдб рдХрд░реЗрдВ

рд╣рдорд╛рд░рд╛ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдореЙрдбрд▓ Hugging Face рдХреЗ рдкреНрд░реА-рдЯреНрд░реЗрдВрдб рдореЙрдбрд▓ Vision Transformer (ViT) рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИред

рдпрд╣ рдореЙрдбрд▓ рдкреЗрдкрд░ An Image is Worth 16x16 words: Transformers for Image Recognition at Scale рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдпрд╣ рдЗрдореЗрдЬ рд░рд┐рдХрдЧреНрдирд┐рд╢рди рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдорд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдкрд╣рд▓реЗ рд╕рдлрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ ImageNet рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдирд┐рдореНрди рдХреЛрдб рдкреНрд░реА-рдЯреНрд░реЗрдВрдб рдореЙрдбрд▓ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ, рдбреЗрдЯрд╛ рдХреЛ рдореЙрдбрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ, рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рдордзреНрдпрд╡рд░реНрддреА рдЪрд░рдгреЛрдВ рдХреЛ рд╕рдордЭрд╛рддрд╛ рд╣реИ рдХрд┐ рдЫрд╡рд┐рдпрд╛рдБ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рд╣реЛрдВ рдФрд░ рдлрд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ рдФрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдкреНрд░реА-рдЯреНрд░реЗрдВрдб рдореЙрдбрд▓ рдореЗрдВ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдВред

checkpoint = "google/vit-base-patch16-224-in21k"
image_processor = AutoImageProcessor.from_pretrained(checkpoint)

normalize = Normalize(mean=image_processor.image_mean,
                  	std=image_processor.image_std)

size = (
	image_processor.size["shortest_edge"]
	if "shortest_edge" in image_processor.size
	else (image_processor.size["height"], image_processor.size["width"])
)

_transforms = Compose([RandomResizedCrop(size), ToTensor(), normalize])

def transforms(examples):
 
	examples["pixel_values"] = [_transforms(img.convert("RGB")) for img in examples["image"]]
	del examples["image"]
	return examples

beans_transformed = beans_train.with_transform(transforms)

data_collator = DefaultDataCollator()

рдЖрдЗрдП рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ:

  • рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо google/vit-base-patch16-224-in21k рд╕реЗ рдкреНрд░реА-рдЯреНрд░реЗрдВрдб рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдореЙрдбрд▓ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред
  • рдлрд┐рд░, рд╣рдо рдЗрд╕ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдиреЙрд░реНрдорд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдЗрдореЗрдЬ рд╕рд╛рдЗрдЬрд╝ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
  • рдЖрдЧреЗ, рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд mean рдФрд░ standard deviation рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХ рдиреЙрд░реНрдорд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП рдЗрдореЗрдЬ рд╕рд╛рдЗрдЬрд╝ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИтАФрдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдХрд┐рдирд╛рд░рд╛, рдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдКрдБрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИред
  • рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрд╢рдВрд╕ (_transforms) рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рддреИрдпрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд░реИрдВрдбрдо рдХреНрд░реЙрдкрд┐рдВрдЧ, рдЯреЗрдиреНрд╕рд░ рдХрдиреНрд╡рд░реНрдЬрд╝рди, рдФрд░ рдиреЙрд░реНрдорд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
  • рдПрдХ transforms рд╣реЗрд▓реНрдкрд░ рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЗрди рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрд╢рдВрд╕ рдХреЛ рдЗрдирдкреБрдЯ examples рдХреЗ "image" рдлрд╝реАрд▓реНрдб рдкрд░ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЫрд╡рд┐рдпреЛрдВ рдХреЛ RGB рдореЗрдВ рдХрдиреНрд╡рд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореВрд▓ "image" рдлрд╝реАрд▓реНрдб рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред
  • beans_train рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ transforms рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╡рд╣ рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдПред
  • рдЕрдВрдд рдореЗрдВ, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдмреИрдЪрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдбреЗрдЯрд╛ рдХреЛрд▓реЗрдЯрд░ рдЗрдВрд╕реНрдЯреИрдВрд╢рд┐рдПрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрди рд╕реЗрдЯрдЕрдкреНрд╕ рдХреЗ рдмрд╛рдж, рдореЙрдбрд▓ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП accuracy рдореЗрдЯреНрд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдирд┐рдореНрди рд╣реЗрд▓реНрдкрд░ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

accuracy = evaluate.load("accuracy")
def compute_metrics(eval_pred):
   predictions, labels = eval_pred
   predictions = np.argmax(predictions, axis=1)

   return accuracy.compute(predictions=predictions,
                           references=labels)

Hugging Face рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдЯреНрд░реЗрди рдХрд░рдирд╛

рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЙрдбрд▓ рдХреЛ .from_pretrained рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдХрд░ рдкреНрд░реА-рдЯреНрд░реЗрдВрдб рдореЙрдбрд▓ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

model = AutoModelForImageClassification.from_pretrained(
   checkpoint,
   num_labels=len(labels),
   id2label=id2label,
   label2id=label2id,
)

рдлрд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ рдФрд░ рдореВрд▓реНрдпрд╛рдВрдХрди

рдЕрдЧрд▓рд╛ рдЪрд░рдг рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдХреЗ рдореЙрдбрд▓ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реИред

рдЗрд╕ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг, рдореВрд▓реНрдпрд╛рдВрдХрди рдФрд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╡рд╢реНрдпрдХ рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред

рд▓реЗрдХрд┐рди рдЙрд╕рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдЕрдкрдиреЗ Hugging Face рдЕрдХрд╛рдЙрдВрдЯ рдореЗрдВ рдЕрдкрдиреА рдЕрдХрд╛рдЙрдВрдЯ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдЧрд┐рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рдиреНрд╣реЗрдВ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

Hugging Face рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ 4 рдореБрдЦреНрдп рдЪрд░рдг

Hugging Face рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдореБрдЦреНрдп рдЪрд░рдг

рдЕрдкрдиреЗ Hugging Face рдЕрдХрд╛рдЙрдВрдЯ рдореЗрдВ рд▓реЙрдЧрд┐рди рдХрд░рдХреЗ рд╣рдо рдЕрдкрдиреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓реНрд╕ рдХреЛ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рдЕрдкрд▓реЛрдб рдФрд░ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд▓рд╛, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ notebook_login рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдЯреНрд░рд┐рдЧрд░ рдХреА рдЬрд╛рддреА рд╣реИред

notebook_login()

рдкреНрд░реЙрдореНрдкреНрдЯ рдЖрдиреЗ рдкрд░, рдКрдкрд░ рджрд┐рдП рдЧрд╛рдЗрдб рдХреЗ рдЪрд░рдг 4 рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрдиреЗрдХреНрд╢рди рдЯреЛрдХрди рдкреНрд░рджрд╛рди рдХрд░реЗрдВред

рд╕рдлрд▓ рд▓реЙрдЧрд┐рди рдХреЗ рдмрд╛рдж, рдирд┐рдореНрди рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

рд╕рдлрд▓ рд▓реЙрдЧрд┐рди рд╕рдВрджреЗрд╢

рдХреЙрдирдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛ рдХреЛрдб рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

training_args = TrainingArguments(
	output_dir="./beans_health_type_classifier",
	remove_unused_columns=False,
	evaluation_strategy="epoch",
	save_strategy="epoch",
	learning_rate=5e-5,
	per_device_train_batch_size=16,
	gradient_accumulation_steps=4,
	per_device_eval_batch_size=16,
	num_train_epochs=3,
	warmup_ratio=0.1,
	logging_steps=10,
	load_best_model_at_end=True,
	metric_for_best_model="accuracy"
)

trainer = Trainer(
	model=model,
	args=training_args,
	data_collator=data_collator,
	train_dataset=beans_transformed["train"],
	eval_dataset=beans_transformed["test"],
	tokenizer=image_processor,
	compute_metrics=compute_metrics,
)
  • TrainingArguments рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреИрд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯреНрд░реА, рдкреНрд░рддрд┐ epoch рдореВрд▓реНрдпрд╛рдВрдХрди рдФрд░ рд╕реЗрд╡рд┐рдВрдЧ рд░рдгрдиреАрддрд┐, рд▓рд░реНрдирд┐рдВрдЧ рд░реЗрдЯ, рдмреИрдЪ рд╕рд╛рдЗрдЬрд╝, рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдПрдХреНрдпреВрдореНрдпреБрд▓реЗрд╢рди рд╕реНрдЯреЗрдкреНрд╕, рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡ рдореЙрдбрд▓ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ред
  • Trainer рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╣рд▓реЗ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдореЙрдбрд▓, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕, рдмреИрдЪрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛрд▓реЗрдЯрд░, рдЯреНрд░реЗрди рдФрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдбреЗрдЯрд╛рд╕реЗрдЯреНрд╕, рдбреЗрдЯрд╛ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЯреЛрдХрдирд╛рдЗрдЬрд╝рд░ (рдпрд╛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд░), рдФрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХрдВрдкреНрдпреВрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдм рдЖрддрд╛ рд╣реИ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЪрд░рдг, рдЬреЛ .train рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

trainer.train()

рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реЗ рдирд┐рдореНрди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реБрдП:

3 epochs рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкрд░рд┐рдгрд╛рдо

рддреАрди epochs рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкрд░рд┐рдгрд╛рдо

рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рддрд╛рд▓рд┐рдХрд╛ рдЖрдкрдХреЗ beans рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рддреАрди epochs рдХреЗ рджреМрд░рд╛рди рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреА рдкреНрд░рдЧрддрд┐ рджрд┐рдЦрд╛рддреА рд╣реИ, рдФрд░ рддреАрди рдкреНрд░рдореБрдЦ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИ: рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд▓реЙрд╕, рд╡реИрд▓рд┐рдбреЗрд╢рди рд▓реЙрд╕, рдФрд░ рдПрдХреНрдпреВрд░реЗрд╕реАред

  • рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд▓реЙрд╕: рдкрд╣рд▓реЗ epoch рдореЗрдВ 1.02800 рд╕реЗ рддреАрд╕рд░реЗ рдореЗрдВ 0.53470 рддрдХ рдШрдЯрд╛, рдЬреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдореЙрдбрд▓ рд╕рдордп рдХреЗ рд╕рд╛рде рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдкрд░ рд╕реАрдЦ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИред
  • рд╡реИрд▓рд┐рдбреЗрд╢рди рд▓реЙрд╕: рдкрд╣рд▓реЗ рд╕реЗ рддреАрд╕рд░реЗ epoch рдореЗрдВ 0.77973 рд╕реЗ 0.43553 рддрдХ рдШрдЯрд╛, рдЬреЛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ рдХрд┐ рдореЙрдбрд▓ рдЕрдЪреНрдЫреЗ рд╕реЗ рдЬрдирд░рд▓рд╛рдЗрдЬрд╝ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдкрд░ рдУрд╡рд░рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ред
  • рдПрдХреНрдпреВрд░реЗрд╕реА: рдкрд╣рд▓реЗ epoch рдореЗрдВ 85.5072% рд╕реЗ рддреАрд╕рд░реЗ рдореЗрдВ 94.2029% рддрдХ рд▓рдЧрд╛рддрд╛рд░ рд╡реГрджреНрдзрд┐ рд╣реБрдИ, рдЬреЛ рд╡реИрд▓рд┐рдбреЗрд╢рди рд╕реЗрдЯ рдореЗрдВ рдмреАрдиреНрд╕ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдореЙрдбрд▓ рдХреА рдХреНрд╖рдорддрд╛ рдореЗрдВ рдареЛрд╕ рд╕реБрдзрд╛рд░ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред

рдЕрдкрдиреЗ рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдореЙрдбрд▓ рдХреЛ рдбрд┐рдкреНрд▓реЙрдп рдХрд░рдирд╛

Hugging Face рдкреЛрд░реНрдЯрд▓ рдкрд░ рдкрд╣рд▓реА рдмрд╛рд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░рддреЗ рд╕рдордп, рдХрдиреЗрдХреНрд╢рди рдореЛрдб рдХреЗрд╡рд▓ Read рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдореЗрдВ рдЕрдкрдирд╛ рдореЙрдбрд▓ Hugging Face рд╣рдм рдкрд░ рдкреБрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП write рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдирдП рдмрдирд╛рдП рдЧрдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ notebook_login рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рджреЛрдмрд╛рд░рд╛ рд▓реЙрдЧрд┐рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

notebook_login()

рдореЙрдбрд▓ рдХреЛ рдкреБрд╢ рдХрд░рдирд╛ push_to_hub рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

trainer.model.push_to_hub("zoumana/beans_health_type_classifier")

рдпрд╣ рдореЙрдбрд▓ рдХреЛ рд╣рдм рдкрд░ рдкреБрд╢ рдХрд░ рджреЗрдЧрд╛, рдФрд░ рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЙрдбрд▓ рдХреЗ рдореБрдЦреНрдп рдЧреБрдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

Hugging Face рдкрд░ рдореЙрдбрд▓ рдкреБрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛

Hugging Face рдкрд░ рдореЙрдбрд▓ рдкреБрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛

рдПрдкреНрд▓рд┐рдХреЗрд╢рдиреЛрдВ рдореЗрдВ рдЗрдВрдЯреЗрдЧреНрд░реЗрд╢рди

рдореЙрдбрд▓ рд╕рд╛рдЭрд╛ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ REST API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рдиреЛрдВ рдореЗрдВ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реАрдзреЗ Hugging Face рдкреЛрд░реНрдЯрд▓ рд╕реЗ рднреА рдЗрдВрдЯреАрдЧреНрд░реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рд╢реЛрдзрдХрд░реНрддрд╛ Transformers рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдбрд▓ рдХреЛ рд▓реЛрдб рдХрд░ рднреА рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ рд╕реЗрдХреНрд╢рди рдореЗрдВ, рд╣рдо рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддреАрди рдореБрдЦреНрдп рддрд░реАрдХреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВред

1. Hugging Face рдкреЛрд░реНрдЯрд▓ рд╕реЗ рдЙрдкрдпреЛрдЧ

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

Hugging Face рдкреЛрд░реНрдЯрд▓ рд╕реЗ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ

Hugging Face рдкреЛрд░реНрдЯрд▓ рд╕реЗ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ

2. Transformers рдореЗрдВ рдЙрдкрдпреЛрдЧ

тАЬUse in TransformersтАЭ рдЖрдЗрдХрди рдЪреБрдирдиреЗ рдкрд░, рдореЙрдбрд▓ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдб рдЕрдкрдиреЗ-рдЖрдк рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

Transformers рдХреЗ рд╕рд╛рде рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ

Transformers рдХреЗ рд╕рд╛рде рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ

3. REST API рдХрд╛ рдЙрдкрдпреЛрдЧ

рдЕрдВрддрддрдГ, рд╣рдо рдкреЛрд░реНрдЯрд▓ рдкрд░ тАЬDeploy > Inference API (serverless)тАЭ рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдбрд▓ рдХреЛ REST API рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

API рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ

рдкрд┐рдЫрд▓реА рдПрдиреАрдореЗрд╢рди рдореЗрдВ рджрд┐рдпрд╛ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдиреАрдЪреЗ рдЬреИрд╕рд╛ рд╣реА рд╣реИ рдФрд░ рдХрд┐рд╕реА рджреА рдЧрдИ рдЫрд╡рд┐ рдкрд░ рдкреНрд░реЗрдбрд┐рдХреНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░рдпреБрдХреНрдд рдЫрд╡рд┐ рд╡рд╣реА рд╣реИ рдЬреЛ Hugging Face рдкреЛрд░реНрдЯрд▓ рдХреЗ рдбреЗрдореЛ рдХреЗ рджреМрд░рд╛рди рджреА рдЧрдИ рдереАред

тАЬxxxтАЭ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдиреЛрдВ рд╕реЗ рдмрджрд▓рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред

import requests

API_URL = "https://api-inference.huggingface.co/models/zoumana/beans_health_type_classifier"
headers = {"Authorization": "Bearer xxxxxxxxxxxxxxxxx"}

def query(filename):
   with open(filename, "rb") as f:
       data = f.read()
   response = requests.post(API_URL, headers=headers, data=data)
   return response.json()

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдкрд┐рдЫрд▓реЗ query рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдбрд▓ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

output = query("./inference_images/test_beans_leaf.jpg")

рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдПрдХ JSON рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рд╣реИред рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд▓реЗрдмрд▓ рд╡рд╣ рд╣реИ рдЬрд┐рд╕рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╕реНрдХреЛрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╣реИтАФрдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ healthy рд▓реЗрдмрд▓ рд╣реИ, рдЬреЛ Hugging Face рдкреЛрд░реНрдЯрд▓ рдХреА рдареАрдХ рд╡рд╣реА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рд╣реИред

print(output)
[
    {'label': 'healthy', 'score': 0.4799719452857971},
     {'label': 'angular_leaf_spot', 'score': 0.27489492297172546},
     {'label': 'bean_rust', 'score': 0.2451331913471222}
]

рдирд┐рд╖реНрдХрд░реНрд╖ рдФрд░ рдЖрдЧреЗ рдХреА рд╕реАрдЦ

рдЗрд╕ рд▓реЗрдЦ рдиреЗ Hugging Face рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдиреЗ рдкрд░ рдПрдХ рд╕рдВрдкреВрд░реНрдг рдЧрд╛рдЗрдб рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ред

рд╣рдордиреЗ рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреА рдмреБрдирд┐рдпрд╛рдж рд╕реЗ рд╢реБрд░реБрдЖрдд рдХреА рдФрд░ рдпрд╣ рдЪрд░реНрдЪрд╛ рдХреА рдХрд┐ рдХреНрдпреЛрдВ Hugging Face рдЗрд╕ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░реАрди рдЯреВрд▓ рд╣реИтАФрдЗрд╕рдХреЗ рд╡реНрдпрд╛рдкрдХ рдореЙрдбрд▓ рд╕рдВрдЧреНрд░рд╣ рдФрд░ рд╕рд╣рдпреЛрдЧреА рд╕рдореБрджрд╛рдп рдХреЗ рдХрд╛рд░рдгред

рдлрд┐рд░, рд╣рдордиреЗ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЛ рдХрд╡рд░ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рдерд╛ рдХрд┐ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдлрд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗред

рдЖрдЧреЗ, рд╣рдордиреЗ Hugging Face рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдЙрдкрдпреБрдХреНрдд рдкреНрд░реА-рдЯреНрд░реЗрдВрдб рдореЙрдбрд▓ рдХрд╛ рдЪрдпрди рдХрд░, рдореЙрдбрд▓ рдХреЛ рдлрд╛рдЗрди-рдЯреНрдпреВрди рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рджреЗрдЦрд╛ред рд╣рдордиреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рддреАрди рдкреНрд░рдореБрдЦ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреИрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ, рдЗрд╕ рдкрд░ рднреА рдЪрд░реНрдЪрд╛ рдХреАред

There's always more to learn and explore in AI, and each step you take opens up new possibilities. So, for anyone wanting to learn more about AI and machine learning, especially about classifying images and more, here are some great resources to check out:

рдпрд╣ рдЧрд╛рдЗрдб рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЛтАФрдЪрд╛рд╣реЗ рд╡реЗ рд╢реБрд░реБрдЖрддреА рд╣реЛрдВ, рдордзреНрдпрд╡рд░реНрддреА рдпрд╛ рдЙрдиреНрдирдд рдкреНрд░реИрдХреНрдЯрд┐рд╢рдирд░тАФHugging Face рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдореЗрдЬ рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

Zoumana Keita

рд▓реЗрдЦрдХ

Zoumana Keita

рдмрд╣реБ-рдкреНрд░рддрд┐рднрд╛рд╢рд╛рд▓реА рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрдЯрд┐рд╕реНрдЯ рдЬреЛ рдЕрдкрдирд╛ рдЬреНрдЮрд╛рди рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдФрд░ рд╕рдореБрджрд╛рдп рдХреЛ рд╡рд╛рдкрд╕ рджреЗрдиреЗ рдореЗрдВ рдЖрдирдВрдж рд▓реЗрддреЗ рд╣реИрдВ, рдЬрд╝реВрдорд╛рдирд╛ YouTube рдкрд░ рдХрдВрдЯреЗрдВрдЯ рдХреНрд░рд┐рдПрдЯрд░ рд╣реИрдВ рдФрд░ Medium рдкрд░ рд╢реАрд░реНрд╖ рддрдХрдиреАрдХреА рд▓реЗрдЦрдХ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдмреЛрд▓рдиреЗ, рдХреЛрдбрд┐рдВрдЧ рдХрд░рдиреЗ рдФрд░ рдкрдврд╝рд╛рдиреЗ рдореЗрдВ рдЦреБрд╢реА рдорд┐рд▓рддреА рд╣реИред рдЬрд╝реВрдорд╛рдирд╛ рдХреЗ рдкрд╛рд╕ рджреЛ рдорд╛рд╕реНрдЯрд░ рдбрд┐рдЧреНрд░реА рд╣реИрдВтАФрдкрд╣рд▓реА рдкреЗрд░рд┐рд╕, рдлреНрд░рд╛рдВрд╕ рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕рд╛рдЗрдВрд╕ рдореЗрдВ, рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд, рдФрд░ рджреВрд╕рд░реА рдЕрдореЗрд░рд┐рдХрд╛ рдХреЗ рдЯреЗрдХреНрд╕рд╛рд╕ рдЯреЗрдХ рдпреВрдирд┐рд╡рд░реНрд╕рд┐рдЯреА рд╕реЗ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдореЗрдВред рдЙрдирдХрд╛ рдХрд░рд┐рдпрд░ рдлреНрд░рд╛рдВрд╕ рдореЗрдВ Groupe OPEN рдореЗрдВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рд╣реБрдЖ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╡реЗ IBM рдореЗрдВ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХрдВрд╕рд▓реНрдЯреЗрдВрдЯ рдмрдиреЗ, рдЬрд╣рд╛рдБ рдЙрдиреНрд╣реЛрдВрдиреЗ рдмреАрдорд╛ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдВрдб-рдЯреВ-рдПрдВрдб рдПрдЖрдИ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдПред рдЬрд╝реВрдорд╛рдирд╛ рдиреЗ Axionable, рдкреЗрд░рд┐рд╕ рдФрд░ рдореЙрдиреНрдЯреНрд░рд┐рдпрд▓ рд╕реНрдерд┐рдд рдкрд╣рд▓реА Sustainable AI рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк, рд╕реЗ рдЬреБрдбрд╝рдХрд░ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрдЯрд┐рд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдлреНрд░рд╛рдВрд╕, рдореЙрдиреНрдЯреНрд░рд┐рдпрд▓, рд╕рд┐рдВрдЧрд╛рдкреБрд░ рдФрд░ рд╕реНрд╡рд┐рдЯреНрдЬрд╝рд░рд▓реИрдВрдб рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдпрддрдГ NLP рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдЖрдИ рдкреНрд░реЛрдбрдХреНрдЯреНрд╕ рд▓рд╛рдЧреВ рдХрд┐рдПред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЕрдкрдиреЗ рд╕рдордп рдХрд╛ 5% рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдиреБрд╕рдВрдзрд╛рди рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рдорд░реНрдкрд┐рдд рдХрд┐рдпрд╛ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд╡реЗ IFC - The World Bank Group рдореЗрдВ рд╕реАрдирд┐рдпрд░ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрдЯрд┐рд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдпрд░рдд рд╣реИрдВред

рд╡рд┐рд╖рдп