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

рдХреЛрд░рд▓ рдПрдЬ TPU рдХреЗ рд╕рд╛рде рдПрдХ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ Ultralytics YOLOv8 ЁЯЪА

рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдпреВрдПрд╕рдмреА рдПрдЬ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдЧрд▓ рдмреЛрд░реНрдб рдХрдВрдкреНрдпреВрдЯрд░ TPU рдПрдХреНтАНрд╕реЗрд▓рд░реЗрдЯрд░

рдХреЛрд░рд▓ рдПрдЬ рдХреНрдпрд╛ рд╣реИ TPU?

рдХреЛрд░рд▓ рдПрдЬ TPU рдПрдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИ рдЬреЛ рдПрдЬ рдЬреЛрдбрд╝рддрд╛ рд╣реИ TPU рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдХреЛрдкреНрд░реЛрд╕реЗрд╕рд░ред рдпрд╣ рдХрдо-рд╢рдХреНрддрд┐, рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рдПрдордПрд▓ рдЕрдиреБрдорд╛рди рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ TensorFlow рд▓рд╛рдЗрдЯ рдореЙрдбрд▓ред рдкрд░ рдФрд░ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ рдХреЛрд░рд▓ рдПрдЬ TPU рд╣реЛрдо рдкреЗрдЬред

рдХреЛрд░рд▓ рдПрдЬ рдХреЗ рд╕рд╛рде рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдореЙрдбрд▓ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдВ TPU

рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдЬреИрд╕реЗ рдПрдореНрдмреЗрдбреЗрдб рдпрд╛ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдмрд╣реБрдд рд╣реА рдХреБрд╢рд▓ рд╣реИрдВ рдФрд░ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЕрдиреБрдорд╛рди рдкреНрд░рджрд░реНрд╢рди рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рднреА рдЦрд░рд╛рдм рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕реЗ onnx рдирд╣реАрдВ рддреЛ openvino. рдХреЛрд░рд▓ рдПрдЬ TPU рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдмрдврд╝рд┐рдпрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдиреБрдорд╛рди рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрд╣реБрдд рддреЗрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдХрд┐рдирд╛рд░рд╛ TPU рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдХреЗ рд╕рд╛рде TensorFlow рд▓рд╛рдЗрдЯ (рдирдпрд╛) тнР

рдПрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдХреЛрд░рд▓ рджреНрд╡рд╛рд░рд╛ рдореМрдЬреВрджрд╛ рдЧрд╛рдЗрдбTPU рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЗ рд╕рд╛рде рдкреБрд░рд╛рдирд╛ рд╣реИ, рдФрд░ рд╡рд░реНрддрдорд╛рди рдХреЛрд░рд▓ рдПрдЬ TPU рд░рдирдЯрд╛рдЗрдо рдмрд┐рд▓реНрдб рд╡рд░реНрддрдорд╛рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ TensorFlow рд▓рд╛рдЗрдЯ рд░рдирдЯрд╛рдЗрдо рд╕рдВрд╕реНрдХрд░рдг рдЕрдмред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Google рдиреЗ рдХреЛрд░рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ, рдФрд░ 2021 рдФрд░ 2024 рдХреЗ рдмреАрдЪ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдПрдЧреА рдХрд┐ рдПрдЬ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ TPU рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХрд░рдирд╛ TensorFlow рд▓рд╛рдЗрдЯ рд░рдирдЯрд╛рдЗрдо рдФрд░ рдПрдХ рдЕрджреНрдпрддрди рдХреЛрд░рд▓ рдПрдЬ TPU рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рд╕рд┐рдВрдЧрд▓ рдмреЛрд░реНрдб рдХрдВрдкреНрдпреВрдЯрд░ (SBC) рдкрд░ рд░рдирдЯрд╛рдЗрдоред

рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ

рд╕реНрдерд╛рдкрдирд╛ рдкреВрд░реНрд╡рд╛рднреНрдпрд╛рд╕

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

рдПрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ TPU рд░рдирдЯрд╛рдЗрдо

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдПрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ TPU рд░рдирдЯрд╛рдЗрдоред рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдЪреБрдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдУрдПрд╕ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рдореЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг
рдмреБрд▓реНрд╕рдЖрдИ 32 рдмрд┐рдЯ рдирд╣реАрдВ libedgetpu1-std_ ... .bullseye_armhf.deb
рдмреБрд▓реНрд╕рдЖрдИ 64 рдмрд┐рдЯ рдирд╣реАрдВ libedgetpu1-std_ ... .bullseye_arm64.deb
рдмреБрд▓реНрд╕рдЖрдИ 32 рдмрд┐рдЯ рд╣рд╛рдБ libedgetpu1-max_ ... .bullseye_armhf.deb
рдмреБрд▓реНрд╕рдЖрдИ 64 рдмрд┐рдЯ рд╣рд╛рдБ libedgetpu1-max_ ... .bullseye_arm64.deb
рдХрд┐рддрд╛рдмреА рдХреАрдбрд╝рд╛ 32 рдмрд┐рдЯ рдирд╣реАрдВ libedgetpu1-std_ ... .bookworm_armhf.deb
рдХрд┐рддрд╛рдмреА рдХреАрдбрд╝рд╛ 64 рдмрд┐рдЯ рдирд╣реАрдВ libedgetpu1-std_ ... .bookworm_arm64.deb
рдХрд┐рддрд╛рдмреА рдХреАрдбрд╝рд╛ 32 рдмрд┐рдЯ рд╣рд╛рдБ libedgetpu1-max_ ... .bookworm_armhf.deb
рдХрд┐рддрд╛рдмреА рдХреАрдбрд╝рд╛ 64 рдмрд┐рдЯ рд╣рд╛рдБ libedgetpu1-max_ ... .bookworm_arm64.deb

рдпрд╣рд╛рдВ рд╕реЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред

рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕реЗ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

sudo dpkg -i path/to/package.deb

рд░рдирдЯрд╛рдЗрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХреЛрд░рд▓ рдПрдЬ рдореЗрдВ рдкреНрд▓рдЧ рдЗрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ TPU рдЕрдкрдиреЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рдПрдХ рдпреВрдПрд╕рдмреА 3.0 рдкреЛрд░реНрдЯ рдореЗрдВред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЧрд╛рдЗрдб рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдХ рдирдпрд╛ udev рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж рдирд┐рдпрдо рдХреЛ рдкреНрд░рднрд╛рд╡реА рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдорд╣рддреНрд╡рдкреВрд░реНрдг

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЛрд░рд▓ рдПрдЬ рд╣реИ TPU рд░рдирдЯрд╛рдЗрдо рд╕реНрдерд╛рдкрд┐рдд, рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред

# If you installed the standard version
sudo apt remove libedgetpu1-std 

# If you installed the high frequency version
sudo apt remove libedgetpu1-max 

рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдПрдЬ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ TPU рд╕рдВрдЧрдд рдореЙрдбрд▓

рдПрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП TPU, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдПрдХ рд╕рдВрдЧрдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Google Colab, x86_64 Linux рдорд╢реАрди рдкрд░ рдирд┐рд░реНрдпрд╛рдд рдЪрд▓рд╛рдПрдВ Ultralytics рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░, рдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ Ultralytics рд╣рдм, рдПрдЬ рдХреЗ рдмрд╛рдж рд╕реЗ TPU рдПрдЖрд░рдПрдо рдкрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рдЙрдкрд▓рдмреНрдз рддрд░реНрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдпрд╛рдд рдореЛрдб рджреЗрдЦреЗрдВред

рдирд┐рд░реНрдпрд╛рдд

from ultralytics import YOLO

# Load a model
model = YOLO('path/to/model.pt')  # Load an official model or custom model

# Export the model
model.export(format='edgetpu')
yolo export model=path/to/model.pt format=edgetpu  # Export an official model or custom model

рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рдХреЛ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ <model_name>_saved_model/ рдирд╛рдо рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ <model_name>_full_integer_quant_edgetpu.tflite.

рдореЙрдбрд▓ рдЪрд▓рд╛рдирд╛

рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдирд┐рдореНрди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрдиреБрдорд╛рди рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

рднрд╛рдЧрдирд╛

from ultralytics import YOLO

# Load a model
model = YOLO('path/to/edgetpu_model.tflite')  # Load an official model or custom model

# Run Prediction
model.predict("path/to/source.png")
yolo predict model=path/to/edgetpu_model.tflite source=path/to/source.png  # Load an official model or custom model

рдкреВрд░реНрдг рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдореЛрдб рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреГрд╖реНрда рдкрд░ рд╡реНрдпрд╛рдкрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рдорд╣рддреНрд╡рдкреВрд░реНрдг

рдЖрдкрдХреЛ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП tflite-runtime рдФрд░ рдирд╣реАрдВ tensorflow. рдЕрдЧрд░ tensorflow рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХрд░реЗрдВ tensorflow рдирд┐рдореНрди рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде:

pip uninstall tensorflow tensorflow-aarch64

рдлрд┐рд░ рдЗрдВрд╕реНрдЯреЙрд▓/рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ tflite-runtime:

pip install -U tflite-runtime

рдпрджрд┐ рдЖрдк рдПрдХ tflite-runtime рдХреЗ рд▓рд┐рдП рдкрд╣рд┐рдпрд╛ tensorflow 2.15.0 рдЗрд╕реЗ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдпрд╣рд╛рдБ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ pip рдпрд╛ рдЖрдкрдХреА рдкрд╕рдВрдж рдХрд╛ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ред



2024-02-12 рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 2024-04-27
рд▓реЗрдЦрдХ: рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (3), рд╕реНрдХрд┐рд▓рдиреЛрдм (1)

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