рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдВ

YOLOv8 рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдирд┐рд░реНрдпрд╛рдд TorchScript рддреНрд╡рд░рд┐рдд рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП

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

рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ Torchscript рдЕрдкрдиреЗ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Ultralytics YOLOv8 рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдВрдЧрддрддрд╛ рдФрд░ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ред рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ, рд╣рдо рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдПрдВрдЧреЗ рдХрд┐ рдЕрдкрдирд╛ рдирд┐рд░реНрдпрд╛рдд рдХреИрд╕реЗ рдХрд░реЗрдВ YOLOv8 рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ TorchScript рдкреНрд░рд╛рд░реВрдк, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдкрдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП TorchScript?

Torchscript рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди

рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд PyTorch, TorchScript рдЕрдиреБрдХреВрд▓рди рдФрд░ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рд╣реИ PyTorch рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдореЙрдбрд▓ред рдирд┐рд░реНрдпрд╛рдд YOLOv8 рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ TorchScript рдЕрдиреБрд╕рдВрдзрд╛рди рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред TorchScript, рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ PyTorch рдлреНрд░реЗрдорд╡рд░реНрдХ, рдЕрдиреБрдорддрд┐ рджреЗрдХрд░ рдЗрд╕ рд╕рдВрдХреНрд░рдордг рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ PyTorch рдРрд╕реЗ рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбрд▓ рдЬреЛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ Python.

рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рджреЛ рддрдХрдиреАрдХреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рдЕрдиреБрд░реЗрдЦрдг рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧред рдореЙрдбрд▓ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рд░рд┐рдХреЙрд░реНрдб рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛, рдЬрдмрдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдХреЗ рд╕рдмрд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдбрд▓ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ Python. рдпреЗ рддрдХрдиреАрдХреЗрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдореЙрдбрд▓ рдЬреИрд╕реЗ YOLOv8 рдЕрднреА рднреА рдЕрдкрдиреЗ рд╕рд╛рдорд╛рдиреНрдп рдХреЗ рдмрд╛рд╣рд░ рднреА рдЕрдкрдирд╛ рдЬрд╛рджреВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ Python рдкрд░реНрдпрд╛рд╡рд░рдгред

TorchScript рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЯреНрд░реЗрд╕

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

рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ TorchScript рдореЙрдбрд▓

TorchScript, рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ PyTorch рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░, рдЧрд╣рди рд╢рд┐рдХреНрд╖рдг рдореЙрдбрд▓ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдФрд░ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

TorchScript рд╕реБрд╡рд┐рдзрд╛рдРрдВ

рдпрд╣рд╛рдБ рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдмрдирд╛рддреА рд╣реИрдВ TorchScript рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдореВрд▓реНрдпрд╡рд╛рди рдЙрдкрдХрд░рдг:

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

  • рдореЙрдбрд▓ рдХреНрд░рдорд╛рдВрдХрди: TorchScript рдЖрдкрдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ PyTorch рдПрдХ рдордВрдЪ-рд╕реНрд╡рддрдВрддреНрд░ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдореЙрдбрд▓ред рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рдореЙрдбрд▓ рдХреЛ рдореВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ Python рдХреЛрдб, рд╡рд┐рднрд┐рдиреНрди рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рддреИрдирд╛рддреА рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ред

  • рдЬреЗрдЖрдИрдЯреА рд╕рдВрдХрд▓рди: TorchScript рдХрдирд╡рд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╕реНрдЯ-рдЗрди-рдЯрд╛рдЗрдо (JIT) рд╕рдВрдХрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ PyTorch рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдореЙрдбрд▓ред рдЬреЗрдЖрдИрдЯреА рдореЙрдбрд▓ рдХреЗ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдЧреНрд░рд╛рдл рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓рдХреНрд╖реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдХреБрд╢рд▓ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред

  • рдХреНрд░реЙрд╕-рд▓реИрдВрдЧреНрд╡реЗрдЬ рдПрдХреАрдХрд░рдг: рдХреЗ рд╕рд╛рде TorchScript, рдЖрдк рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ PyTorch рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдЬреИрд╕реЗ рд╕реА ++, рдЬрд╛рд╡рд╛ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ред рдЗрд╕рд╕реЗ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ PyTorch рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдореМрдЬреВрджрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореЙрдбрд▓ред

  • рдХреНрд░рдорд┐рдХ рд░реВрдкрд╛рдВрддрд░рдг: TorchScript рдПрдХ рдХреНрд░рдорд┐рдХ рд░реВрдкрд╛рдВрддрд░рдг рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ PyTorch рдореЗрдВ рдореЙрдбрд▓ TorchScript. рдпрд╣ рд▓рдЪреАрд▓рд╛рдкрди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЬрдЯрд┐рд▓ рдореЙрдбрд▓ рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВ рдпрд╛ рдЬрдм рдЖрдк рдХреЛрдб рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рдЧреЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдореЗрдВ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд┐рдХрд▓реНрдк TorchScript

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдХреЛрдб рджреЗрдЦреЗрдВ YOLOv8 рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ TorchScript рдкреНрд░рд╛рд░реВрдк, рдЖрдЗрдП рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдХрд╣рд╛рдВ TorchScript рдореЙрдбрд▓ рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

TorchScript рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ:

  • C++ API: рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрдо рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ TorchScript рдЗрд╕рдХрд╛ рд╕реА ++ рдПрдкреАрдЖрдИ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рд▓реЛрдб рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ TorchScript рд╕реАрдзреЗ рд╕реА ++ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рднреАрддрд░ рдореЙрдбрд▓ред рдпрд╣ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИ рдЬрд╣рд╛рдВ Python рдЙрдкрдпреБрдХреНрдд рдпрд╛ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реА ++ рдПрдкреАрдЖрдИ рдХрдо-рдУрд╡рд░рд╣реЗрдб рдФрд░ рдХреБрд╢рд▓ рдирд┐рд╖реНрдкрд╛рджрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ TorchScript рдореЙрдбрд▓, рдкреНрд░рджрд░реНрд╢рди рдХреНрд╖рдорддрд╛ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдирд╛ред

  • рдореЛрдмрд╛рдЗрд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрди: TorchScript рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рддреИрдирд╛рдд рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рдореЙрдбрд▓ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред PyTorch рдореЛрдмрд╛рдЗрд▓ рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдРрдк рдХреЗ рднреАрддрд░ рдЗрди рдореЙрдбрд▓реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рдирдЯрд╛рдЗрдо рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХрдо-рд╡рд┐рд▓рдВрдмрддрд╛, рдСрдлрд╝рд▓рд╛рдЗрди рдЕрдиреБрдорд╛рди рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдФрд░ рдбреЗрдЯрд╛ рдЧреЛрдкрдиреАрдпрддрд╛ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред

  • рдХреНрд▓рд╛рдЙрдб рдкрд░рд┐рдирд┐рдпреЛрдЬрди: TorchScript рдореЙрдбрд▓ рдХреЛ рдЯреЙрд░реНрдЪрд╕рд░реНрд╡ рдЬреИрд╕реЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд▓рд╛рдЙрдб-рдЖрдзрд╛рд░рд┐рдд рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕реНрдХреЗрд▓реЗрдмрд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рд╕рдВрд╕реНрдХрд░рдг, рдмреИрдЪрд┐рдВрдЧ рдФрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдирд┐рдЧрд░рд╛рдиреА рдЬреИрд╕реА рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЙрдб рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд╕рд╛рде TorchScript рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдПрдкреАрдЖрдИ рдпрд╛ рдЕрдиреНрдп рд╡реЗрдм рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд▓рдн рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ TorchScript: рдЖрдкрдХрд╛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ YOLOv8 рдХреЛ рдЧрдврд╝рдирд╛

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

рд╕рдВрд╕реНрдерд╛рдкрди

рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪрд▓рд╛рдПрдВ:

рд╕рдВрд╕реНрдерд╛рдкрди

# Install the required package for YOLOv8
pip install ultralytics

рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдФрд░ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ Ultralytics рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рдЧрд╛рдЗрдбред рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп YOLOv8, рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреЛрдИ рдХрдард┐рдирд╛рдИ рдЖрддреА рд╣реИ, рддреЛ рд╕рдорд╛рдзрд╛рди рдФрд░ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рджреЗрдЦреЗрдВ.

рдЙрдкрдпреЛрдЧ

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

рдЙрдкрдпреЛрдЧ

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

# Export the model to TorchScript format
model.export(format='torchscript')  # creates 'yolov8n.torchscript'

# Load the exported TorchScript model
torchscript_model = YOLO('yolov8n.torchscript')

# Run inference
results = torchscript_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to TorchScript format
yolo export model=yolov8n.pt format=torchscript  # creates 'yolov8n.torchscript'

# Run inference with the exported model
yolo predict model=yolov8n.torchscript source='https://ultralytics.com/images/bus.jpg'

рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдкрд░ рдЬрд╛рдПрдБ Ultralytics рдирд┐рд░реНрдпрд╛рдд рдкрд░ рдкреНрд░рд▓реЗрдЦрди рдкреГрд╖реНрдаред

рдирд┐рд░реНрдпрд╛рдд рдХреА рдЧрдИ рддреИрдирд╛рддреА YOLOv8 TorchScript рдореЙрдбрд▓

рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдкрдХрд╛ Ultralytics YOLOv8 рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ TorchScript рдкреНрд░рд╛рд░реВрдк, рдЕрдм рдЖрдк рдЙрдиреНрд╣реЗрдВ рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХ рдФрд░ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдкрд╣рд▓рд╛ рдХрджрдо TorchScript рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ YOLO("рдореЙрдбрд▓редtorchscript") рдореЗрдердб рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ. рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдкрдиреЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧрд╣рди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП TorchScript рд╡рд┐рднрд┐рдиреНрди рдЕрдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдореЙрдбрд▓, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

  • рдореЛрдмрд╛рдЗрд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВ: PyTorch рдореЛрдмрд╛рдЗрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдореЙрдбрд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдкрдХ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреБрд╢рд▓ рдФрд░ рдЙрддреНрддрд░рджрд╛рдпреА рд╣реИрдВред

  • рдорд╛рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдкрд░рд┐рдирд┐рдпреЛрдЬрди: TorchServe рдХреЗ рд╕рд╛рде рдореЙрдбрд▓ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рд╕реАрдЦреЗрдВ, рд╕реНрдХреЗрд▓реЗрдмрд▓, рдХреБрд╢рд▓ рдореЙрдбрд▓ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЪрд░рдг-рджрд░-рдЪрд░рдг рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

  • рд╕реА ++ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд▓рд╛рдЧреВ рдХрд░реЗрдВ: рд▓реЛрдб рдХрд░рдиреЗ рдкрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдПрдБ a TorchScript рд╕реА ++ рдореЗрдВ рдореЙрдбрд▓, рдЖрдкрдХреЗ рдПрдХреАрдХрд░рдг рдХреА рд╕реБрд╡рд┐рдзрд╛ TorchScript рдмрдврд╝рд╛рдпрд╛ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ рдХреЗ рд▓рд┐рдП рд╕реА ++ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдореЙрдбрд▓ред

рд╕рд╛рд░рд╛рдВрд╢

рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ, рд╣рдордиреЗ рдирд┐рд░реНрдпрд╛рдд рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ Ultralytics YOLOv8 рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ TorchScript рдкреНрд░рд╛рд░реВрдкред рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдХреЗ, рдЖрдк рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ YOLOv8 рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдФрд░ рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдореЗрдВ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЪреАрд▓рд╛рдкрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рджреЗрдЦреЗрдВ TorchScriptрдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдЕрдиреНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ Ultralytics YOLOv8 рдПрдХреАрдХрд░рдг, рд╣рдорд╛рд░реЗ рдПрдХреАрдХрд░рдг рдЧрд╛рдЗрдб рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВред рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрдкрдпреЛрдЧреА рд╕рдВрд╕рд╛рдзрди рдФрд░ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдорд┐рд▓реЗрдЧреАред



2024-03-01 рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 2024-03-03
рд▓реЗрдЦрдХ: рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (1), рдЕрдмрд┐рд░рд╛рдореА-рд╡реАрдирд╛ (2)

рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ