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

NVIDIA Jetson рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддреИрдирд╛рдд рдХрд░реЗрдВ TensorRT рдФрд░ рдбреАрдкрд╕реНрдЯреНрд░реАрдо рдПрд╕рдбреАрдХреЗ

ЁЯУЪ рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рдХреЛ NVIDIA Jetson рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореЗрдВ рдХреИрд╕реЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдП TensorRT рдФрд░ рдбреАрдкрд╕реНрдЯреНрд░реАрдо рдПрд╕рдбреАрдХреЗред рдпрд╣рд╛рдБ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ TensorRT рдЬреЗрдЯрд╕рди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЕрдиреБрдорд╛рди рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рддреНрдпрд╛рдкрди

рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЗрдЯрд╕рди рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЗрд╕ рдЧрд╛рдЗрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╕рддреНрдпрд╛рдкрди рдХрд┐рдпрд╛ рд╣реИ

рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ Jetson рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕рднреА SDK рдШрдЯрдХреЛрдВ рдФрд░ DeepStream SDK рдХреЗ рд╕рд╛рде JetPack SDK рдХреЛ рдареАрдХ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ CUDA рд╢рд╛рдорд┐рд▓ рд╣реИ,TensorRT рдФрд░ рдбреАрдкрд╕реНрдЯреНрд░реАрдо рдПрд╕рдбреАрдХреЗ рдЬреЛ рдЗрд╕ рдЧрд╛рдЗрдб рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред

JetPack SDK рд╣рд╛рд░реНрдбрд╡реЗрдпрд░-рддреНрд╡рд░рд┐рдд AI-at-the-edge рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕рднреА рдЬреЗрдЯрд╕рди рдореЙрдбреНрдпреВрд▓ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдХрд┐рдЯ рдЬреЗрдЯрдкреИрдХ рдПрд╕рдбреАрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред

рджреЛ рдкреНрд░рдореБрдЦ рд╕реНрдерд╛рдкрдирд╛ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ,

  1. рдПрд╕рдбреА рдХрд╛рд░реНрдб рдЫрд╡рд┐ рд╡рд┐рдзрд┐
  2. NVIDIA SDK рдкреНрд░рдмрдВрдзрдХ рд╡рд┐рдзрд┐

рдЖрдк NVIDIA рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдПрдХ рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЧрд╛рдЗрдб рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЙрдкрд░реНрдпреБрдХреНрдд reComputer J1010 рдФрд░ reComputer J2021 рдХреЗ рдЕрдиреБрд░реВрдк рдЧрд╛рдЗрдб рднреА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

  • рдЪрд░рдг 1. рдЬреЗрдЯрд╕рди рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдЯрд░реНрдорд┐рдирд▓ рддрдХ рдкрд╣реБрдВрдЪреЗрдВ, рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ
sudo apt update
sudo apt install -y python3-pip
pip3 install --upgrade pip
  • рдЪрд░рдг 2. рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реЗрдкреЛ рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ
git clone https://github.com/ultralytics/yolov5
  • рдЪрд░рдг 3. requirements.txt рдЦреЛрд▓реЗрдВ
cd yolov5
vi requirements.txt
  • рдЪрд░рдг 5. рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдПрдбрд┐рдЯрд┐рдВрдЧ рдореЛрдб рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ i рджрдмрд╛рдирд╛ рд╣реЛрдЧрд╛ред ESC рджрдмрд╛рдПрдБ, рдлрд┐рд░ рд╕рд╣реЗрдЬрдиреЗ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП :wq рд▓рд┐рдЦреЗрдВ
# torch>=1.8.0
# torchvision>=0.9.0

рдиреЛрдЯ: torch рдФрд░ рдорд╢рд╛рд▓ рд╡рд┐рдЬрди рдХреЛ рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдмрд╛рдж рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

  • рдЪрд░рдг 6. рдиреАрдЪреЗ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
sudo apt install -y libfreetype6-dev
  • рдЪрд░рдг 7. рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
pip3 install -r requirements.txt

рдкрджрд╛рд╕реАрди рдХрд░рдирд╛ PyTorch рдФрд░ рдорд╢рд╛рд▓ рджреГрд╖реНрдЯрд┐

рд╣рдо рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ PyTorch рдФрд░ рдкрд╛рдЗрдк рд╕реЗ рдЯреЙрд░реНрдЪрд╡рд┐рдЬрди рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЬреЗрдЯрд╕рди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдПрдЖрд░рдПрдо aarch64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдкреВрд░реНрд╡-рдирд┐рд░реНрдорд┐рдд рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ PyTorch рдкрд╛рдЗрдк рд╡реНрд╣реАрд▓ рдФрд░ рд╕реНрд░реЛрдд рд╕реЗ рдорд╢рд╛рд▓ рд╡рд┐рдЬрди рд╕рдВрдХрд▓рди/рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

рд╕рднреА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВ PyTorch рдФрд░ рдорд╢рд╛рд▓ рд▓рд┐рдВрдХ

рдЬреЗрдЯрдкреИрдХ 4.6 рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХреБрдЫ рд╕рдВрд╕реНрдХрд░рдг рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВред

PyTorch v1.10.0 рдХреЗ рдЕрдиреБрд╕рд╛рд░

рдЬреЗрдЯрдкреИрдХ 4.4 (L4T R32.4.3) / рдЬреЗрдЯрдкреИрдХ 4.4.1 (L4T R32.4.4) / рдЬреЗрдЯрдкреИрдХ 4.5 (L4T R32.5.0) / рдЬреЗрдЯрдкреИрдХ 4.5.1 (L4T R32.5.1) / рдЬреЗрдЯрдкреИрдХ 4.6 (L4T R32.6.1) рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд Python 3.6

PyTorch v1.12.0 рдХреЗ рдЕрдиреБрд╕рд╛рд░

рдЬреЗрдЯрдкреИрдХ 5.0 (L4T R34.1.0)/JetPack 5.0.1 (L4T R34.1.1)/JetPack 5.0.2 (L4T R35.1.0) рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд Python 3.8

wget <URL> -O <file_name>
pip3 install <file_name>

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рд╣рдо JP4.6.1 рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдо рдЪреБрдирддреЗ рд╣реИрдВ PyTorch v1.10.0 рдХреЗ рдЕрдиреБрд╕рд╛рд░

cd ~
sudo apt-get install -y libopenblas-base libopenmpi-dev
wget https://nvidia.box.com/shared/static/fjtbno0vpo676a25cgvuqc1wty0fkkg6.whl -O torch-1.10.0-cp36-cp36m-linux_aarch64.whl
pip3 install torch-1.10.0-cp36-cp36m-linux_aarch64.whl
  • рдЪрд░рдг 2. рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ torchvision рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ PyTorch рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЪреБрдирд╛ PyTorch v1.10.0, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ, рд╣рдореЗрдВ рдЯреЙрд░реНрдЪрд╡рд┐рдЬрди v0.11.1 рдЪреБрдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
sudo apt install -y libjpeg-dev zlib1g-dev
git clone --branch v0.11.1 https://github.com/pytorch/vision torchvision
cd torchvision
sudo python3 setup.py install

рдпрд╣рд╛рдВ рд╕рдВрдмрдВрдзрд┐рдд рдЯреЙрд░реНрдЪрд╡рд┐рдЬрди рд╕рдВрд╕реНрдХрд░рдг рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ PyTorch рд╡рд┐рд╡рд░рдг:

  • PyTorch v1.10 - рдорд╢рд╛рд▓ v0.11.1
  • PyTorch v1.12 - рдорд╢рд╛рд▓ v0.13.0

DeepStream Configuration for YOLOv5

  • рдЪрд░рдг 1. рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реЗрдкреЛ рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ
cd ~
git clone https://github.com/marcoslucianops/DeepStream-Yolo
  • рдЪрд░рдг 2. рд╕реЗ gen_wts_yoloV5.py рдХреЙрдкреА рдХрд░реЗрдВ рдбреАрдкрд╕реНрдЯреНрд░реАрдо-Yolo/utils рдореЗрдВ yolov5 рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА
cp DeepStream-Yolo/utils/gen_wts_yoloV5.py yolov5
  • рдЪрд░рдг 3. рдЕрдВрджрд░ yolov5 рд░реЗрдкреЛ, рдкреАрдЯреА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ YOLOv5 рд░рд┐рд▓реАрдЬрд╝ (рдЙрджрд╛рд╣рд░рдг YOLOv5s 6.1 рдХреЗ рд▓рд┐рдП)
cd yolov5
wget https://github.com/ultralytics/yolov5/releases/download/v6.1/yolov5s.pt
  • рдЪрд░рдг 4. cfg рдФрд░ wts рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬрдирд░реЗрдЯ рдХрд░реЗрдВ
python3 gen_wts_yoloV5.py -w yolov5s.pt

рдиреЛрдЯ: рдЕрдиреБрдорд╛рди рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП (рдбрд┐рдлрд╝реЙрд▓реНрдЯ: 640)

-s SIZE
--size SIZE
-s HEIGHT WIDTH
--size HEIGHT WIDTH

Example for 1280:

-s 1280
or
-s 1280 1280
  • рдЪрд░рдг 5. рдЬрдирд░реЗрдЯ рдХреА рдЧрдИ cfg рдФрд░ wts рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбреАрдкрд╕реНрдЯреНрд░реАрдо-Yolo рдлрд╝реЛрд▓реНрдбрд░
cp yolov5s.cfg ~/DeepStream-Yolo
cp yolov5s.wts ~/DeepStream-Yolo
  • рдЪрд░рдг 6. рдЙрдШрдбрд╛ рдбреАрдкрд╕реНрдЯреНрд░реАрдо-Yolo рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ
cd ~/DeepStream-Yolo
CUDA_VER=11.4 make -C nvdsinfer_custom_impl_Yolo  # for DeepStream 6.1
CUDA_VER=10.2 make -C nvdsinfer_custom_impl_Yolo  # for DeepStream 6.0.1 / 6.0
  • рдЪрд░рдг 7. рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ config_infer_primary_yoloV5.txt рдлрд╝рд╛рдЗрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
[property]
...
custom-network-config=yolov5s.cfg
model-file=yolov5s.wts
...
  • рдЪрд░рдг 8. deepstream_app_config рдлрд╝рд╛рдЗрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
...
[primary-gie]
...
config-file=config_infer_primary_yoloV5.txt
  • рдЪрд░рдг 9. рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рд╕реНрд░реЛрдд рдмрджрд▓реЗрдВ deepstream_app_config ред рдпрд╣рд╛рдВ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реАрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдХреА рдЧрдИ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдиреАрдЪреЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
...
[source0]
...
uri=file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h264.mp4

рдирд┐рд╖реНрдХрд░реНрд╖ рдЪрд▓рд╛рдПрдБ

deepstream-app -c deepstream_app_config.txt
YOLOv5 рдбреАрдкрд╕реНрдЯреНрд░реАрдо FP32 рдХреЗ рд╕рд╛рде

рд╡рд░реАрд▓ рдкрд░рд┐рдгрд╛рдо Jetson Xavier NX рд╡рд░ FP32 рдЖрдгрд┐ YOLOv5s 640x640 рд╕рд╣ рдЪрд╛рд▓рдд рдЖрд╣реЗ. рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдлрдкреАрдПрд╕ рд▓рдЧрднрдЧ 30 рд╣реИред

INT8 рдЕрдВрд╢рд╛рдВрдХрди

рдпрджрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП INT8 рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛

  • рдЪрд░рдг 1. рдУрдкрдирд╕реАрд╡реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
sudo apt-get install libopencv-dev
  • рдЪрд░рдг 2. рдУрдкрдирд╕реАрд╡реА рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде nvdsinfer_custom_impl_Yolo рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕рдВрдХрд▓рд┐рдд/рдкреБрди: рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ
cd ~/DeepStream-Yolo
CUDA_VER=11.4 OPENCV=1 make -C nvdsinfer_custom_impl_Yolo  # for DeepStream 6.1
CUDA_VER=10.2 OPENCV=1 make -C nvdsinfer_custom_impl_Yolo  # for DeepStream 6.0.1 / 6.0
  • рдЪрд░рдг 3. COCO рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП, val2017 рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдирд┐рдХрд╛рд▓реЗрдВ, рдФрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдбреАрдкрд╕реНрдЯреНрд░реАрдо-Yolo рдлрд╝реЛрд▓реНрдбрд░

  • рдЪрд░рдг 4. рдЕрдВрд╢рд╛рдВрдХрди рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ

mkdir calibration
  • рдЪрд░рдг 5. рдЕрдВрд╢рд╛рдВрдХрди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП COCO рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ 1000 рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдЪрд▓рд╛рдПрдБ
for jpg in $(ls -1 val2017/*.jpg | sort -R | head -1000); do \
    cp ${jpg} calibration/; \
done

рдиреЛрдЯ: NVIDIA рдПрдХ рдЕрдЪреНрдЫреА рд╕рдЯреАрдХрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо 500 рдЫрд╡рд┐рдпреЛрдВ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдкрд░, рдмреЗрд╣рддрд░ рд╕рдЯреАрдХрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 1000 рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЕрдзрд┐рдХ рдЫрд╡рд┐рдпрд╛рдВ = рдЕрдзрд┐рдХ рд╕рдЯреАрдХрддрд╛)ред рдЙрдЪреНрдЪ INT8_CALIB_BATCH_SIZE рдореВрд▓реНрдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЕрдзрд┐рдХ рд╕рдЯреАрдХрддрд╛ рдФрд░ рддреЗрдЬ рдЕрдВрд╢рд╛рдВрдХрди рдЧрддрд┐ рд╣реЛрдЧреАред рдЗрд╕реЗ рдЕрдкрдиреЗ GPU рдореЗрдореЛрд░реА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реЗрдЯ рдХрд░реЗрдВред рдЖрдк рдЗрд╕реЗ рд╣реЗрдб -1000 рд╕реЗ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 2000 рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рд┐рд░ -2000ред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред

  • рдЪрд░рдг 6. рд╕рднреА рдЪрдпрдирд┐рдд рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде calibration.txt рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ
realpath calibration/*jpg > calibration.txt
  • рдЪрд░рдг 7. рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░реЗрдВ
export INT8_CALIB_IMG_PATH=calibration.txt
export INT8_CALIB_BATCH_SIZE=1
  • рдЪрд░рдг 8. config_infer_primary_yoloV5.txt рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЕрджреНрдпрддрди рдХрд░реЗрдВ

рд╕реЗ

...
model-engine-file=model_b1_gpu0_fp32.engine
#int8-calib-file=calib.table
...
network-mode=0
...

рддрдХ

...
model-engine-file=model_b1_gpu0_int8.engine
int8-calib-file=calib.table
...
network-mode=1
...
  • рдЪрд░рдг 9. рдирд┐рд╖реНрдХрд░реНрд╖ рдЪрд▓рд╛рдПрдБ
deepstream-app -c deepstream_app_config.txt
YOLOv5 рдбреАрдкрд╕реНрдЯреНрд░реАрдо INT8 рдХреЗ рд╕рд╛рде

рдЙрдкрд░реЛрдХреНрдд рдкрд░рд┐рдгрд╛рдо Jetson Xavier NX рдкрд░ INT8 рдФрд░ YOLOv5s 640x640 рдХреЗ рд╕рд╛рде рдЪрд▓ рд░рд╣рд╛ рд╣реИред рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдлрдкреАрдПрд╕ рд▓рдЧрднрдЧ 60 рд╣реИред

рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░рд┐рдгрд╛рдо

рдирд┐рдореНрди рддрд╛рд▓рд┐рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ Jetson Xavier NX рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдореЙрдбрд▓ рдХреИрд╕рд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реИрдВред

рдореЙрдбрд▓ рдХрд╛ рдирд╛рдо рдпрдерд╛рд░реНрдерддрд╛ рдЕрдиреБрдорд╛рди рдХрд╛ рдЖрдХрд╛рд░ рдЕрдиреБрдорд╛рди рд╕рдордп (ms) рдПрдлрдкреАрдПрд╕
рдпреЛрд▓реЛрд╡5рдПрд╕ рдПрдлрдкреА32 320x320 16.66 60
рдПрдлрдкреА32 640x640 33.33 30
INT8 640x640 16.66 60
рдпреЛрд▓реЛрд╡5рдПрди рдПрдлрдкреА32 640x640 16.66 60

рдЕрддрд┐рд░рд┐рдХреНрдд

рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣рдорд╛рд░реЗ рджреЛрд╕реНрддреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕реАрдб @lakshanthad рдФрд░ рдРрд▓реЗрди рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ



2023-11-12 рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 2024-01-07
рд▓реЗрдЦрдХ: рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (5)

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