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

рдбреЙрдХрд░ рдХреНрд╡рд┐рдХрд╕реНрдЯрд╛рд░реНрдЯ рдЧрд╛рдЗрдб рдХреЗ рд▓рд┐рдП Ultralytics

Ultralytics рдбреЙрдХрд░ рдкреИрдХреЗрдЬ рд╡рд┐рдЬреБрдЕрд▓

рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╛рдкрдХ рдкрд░рд┐рдЪрдп рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИ Ultralytics рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВред рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ, рд╢рд┐рдкрд┐рдВрдЧ рдХрд░рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдордВрдЪ рд╣реИред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдлрд╛рдпрджреЗрдордВрдж рд╣реИ рдХрд┐ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╣рдореЗрд╢рд╛ рдПрдХ рдЬреИрд╕рд╛ рдЪрд▓реЗрдЧрд╛, рднрд▓реЗ рд╣реА рд╡рд╣ рдХрд╣реАрдВ рднреА рддреИрдирд╛рдд рд╣реЛред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдкрд░ рдЬрд╛рдПрдБ Ultralytics Docker рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА on Docker Hub.

рдбреЙрдХрд░ рдкреБрд▓

рдЖрдк рдХреНрдпрд╛ рд╕реАрдЦреЗрдВрдЧреЗ

  • NVIDIA рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдбреЙрдХрд░ рдХреА рд╕реНрдерд╛рдкрдирд╛
  • рд╕реНрдерд╛рдкрд┐рдд Ultralytics рдбреЙрдХрд░ рдЫрд╡рд┐рдпрд╛рдВ
  • рднрд╛рдЧрдирд╛ Ultralytics рдПрдХ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ
  • рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛

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

  • рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ Docker рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдбреЙрдХрд░ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ NVIDIA GPU рд╣реИ рдФрд░ NVIDIA рдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВред

NVIDIA рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдбреЙрдХрд░ рд╕реЗрдЯ рдХрд░рдирд╛

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ NVIDIA рдбреНрд░рд╛рдЗрд╡рд░ рдЪрд▓рд╛рдХрд░ рдареАрдХ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ:

nvidia-smi

NVIDIA рдбреЙрдХрд░ рд░рдирдЯрд╛рдЗрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рдЕрдм, Docker рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ GPU рд╕рдорд░реНрдерди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП NVIDIA Docker рд░рдирдЯрд╛рдЗрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

# Add NVIDIA package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(lsb_release -cs)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

# Install NVIDIA Docker runtime
sudo apt-get update
sudo apt-get install -y nvidia-docker2

# Restart Docker service to apply changes
sudo systemctl restart docker

рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде NVIDIA рд░рдирдЯрд╛рдЗрдо рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ

рдЪрд▓рд╛рдирд╛ docker info | grep -i runtime рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ nvidia рд░рдирдЯрд╛рдЗрдо рдХреА рд╕реВрдЪреА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:

docker info | grep -i runtime

рд╕реНрдерд╛рдкрд┐рдд Ultralytics рдбреЙрдХрд░ рдЫрд╡рд┐рдпрд╛рдБ

Ultralytics рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдФрд░ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрдИ рдбреЙрдХрд░ рдЫрд╡рд┐рдпрд╛рдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

  • рдбреЙрдХрд░рдлрд╛рдЗрд▓: GPU рдЫрд╡рд┐, рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ред
  • рдбреЙрдХрд░рдлрд╛рдЗрд▓-рдЖрд░реНрдо64: ARM64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП, рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрддред
  • Dockerfile-cpu: рдЕрдиреБрдорд╛рди рдФрд░ рдЧреИрд░-GPU рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП CPU-рдХреЗрд╡рд▓ рд╕рдВрд╕реНрдХрд░рдгред
  • Dockerfile-jetson: NVIDIA Jetson рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рддред
  • рдбреЙрдХрд░рдлрд╛рдЗрд▓-python: рдиреНрдпреВрдирддрдо Python рд╣рд▓реНрдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдгред
  • Dockerfile-conda: Miniconda3 рдФрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ Ultralytics рдкреИрдХреЗрдЬ рдХреЛрдВрдбрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдирд╡реАрдирддрдо рдЫрд╡рд┐ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП:

# Set image name as a variable
t=ultralytics/ultralytics:latest

# Pull the latest Ultralytics image from Docker Hub
sudo docker pull $t

рднрд╛рдЧрдирд╛ Ultralytics in рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░

рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ Ultralytics рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░:

# Run with all GPUs
sudo docker run -it --ipc=host --gpus all $t

# Run specifying which GPUs to use
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t

рд╡рд╣реА -it рдлреНрд▓реИрдЧ рдПрдХ рдЫрджреНрдо TTY рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИ рдФрд░ STDIN рдХреЛ рдЦреБрд▓рд╛ рд░рдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╣реА --ipc=host рдлреНрд▓реИрдЧ рд╣реЛрд╕реНрдЯ рдХреЗ рдЖрдИрдкреАрд╕реА рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдореЗрдореЛрд░реА рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╡рд╣реА --gpus рдзреНрд╡рдЬ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╣реЛрд╕реНрдЯ рдХреЗ рдЬреАрдкреАрдпреВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдлрд╝рд╛рдЗрд▓ рдЕрднрд┐рдЧрдореНрдпрддрд╛ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ

рдХрдВрдЯреЗрдирд░ рдХреЗ рднреАрддрд░ рдЕрдкрдиреА рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ Docker рд╡реЙрд▓реНрдпреВрдо:

# Mount a local directory into the container
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t

рдмрджрд▓реЗрдВ /path/on/host рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрде рдХреЗ рд╕рд╛рде рдФрд░ /path/in/container рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд╡рд╛рдВрдЫрд┐рдд рдкрде рдХреЗ рд╕рд╛рдеред


рдмрдзрд╛рдЗрдпрд╛рдБ! рдЕрдм рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рд╣реИрдВ Ultralytics рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдФрд░ рдЗрд╕рдХреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдмреЗрдЭрд┐рдЭрдХ рдПрдХреНрд╕рдкреНрд▓реЛрд░ рдХрд░реЗрдВ Ultralytics рдХреНрд╡рд┐рдХрд╕реНрдЯрд╛рд░реНрдЯ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рдиред



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

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