ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈ Ultralytics
Ultralytics ΠΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ pip, conda ΠΈ Docker. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈ YOLOv8 Ρ ΠΏΠΎΠΌΠΎΡΡΡ ultralytics
ΠΠ°ΠΊΠ΅Ρ pip Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ° ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ultralytics Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ GitHub ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΌΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Docker ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅, ΠΈΠ·Π±Π΅ΠΆΠ°Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.
Π‘ΠΌΠΎΡΡΠΈ: Ultralytics YOLO ΠΡΠ°ΡΠΊΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π·Π°ΠΏΡΡΠΊΡ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈ ultralytics
ΠΏΠ°ΠΊΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip, ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ, Π·Π°ΠΏΡΡΡΠΈΠ² pip install -U ultralytics
. ΠΠΎΡΠ΅ΡΠΈΡΠ΅ Python Package Index (PyPI), ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ultralytics
ΠΏΠ°ΠΊΠ΅Ρ: https://pypi.org/project/ultralytics/.
Π’Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ultralytics
ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΡΠΌΠΎ ΠΈΠ· GitHub Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ, Π΅ΡΠ»ΠΈ ΡΠ΅Π±Π΅ Π½ΡΠΆΠ½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π£Π±Π΅Π΄ΠΈΡΡ, ΡΡΠΎ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Git. Π‘Π°ΠΉΡ @main
ΠΠΎΠΌΠ°Π½Π΄Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ main
Π²Π΅ΡΠ²Ρ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π½Π° Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΠ²Ρ, Ρ.Π΅. @my-branch
ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΄Π°Π»ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ main
ΠΠ΅ΡΠΊΠ°.
Conda - Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ pip ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± Anaconda ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅ https://anaconda.org/conda-forge/ultralytics. Ultralytics Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ feedstock Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° conda Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ https://github.com/conda-forge/ultralytics-feedstock/.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠ»ΠΈ ΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ CUDA , ΡΠΎ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ultralytics
, pytorch
ΠΈ pytorch-cuda
Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² conda ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π»ΡΠ±ΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, ΠΈΠ»ΠΈ ΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ pytorch-cuda
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Π΅ΠΌΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ CPU-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ pytorch
ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, ΡΠΎ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²Ρ ΠΏΠ°ΠΊΠ΅Ρ.
ΠΠ±ΡΠ°Π· Π΄ΠΎΠΊΠ΅ΡΠ° Conda
Ultralytics ΠΠΎΠΊΠ΅Ρ-ΠΎΠ±ΡΠ°Π·Ρ Conda ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠ· DockerHub. ΠΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΠΠΈΠ½ΠΈΠΊΠΎΠ½Π΄Π°3 ΠΈ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ultralytics
Π² ΡΡΠ΅Π΄Π΅ Conda.
# Set image name as a variable
t=ultralytics/ultralytics:latest-conda
# Pull the latest ultralytics image from Docker Hub
sudo docker pull $t
# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all $t # all GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t # specify GPUs
ΠΠ»ΠΎΠ½ΠΈΡΡΠΉ ultralytics
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π΅ΡΠ»ΠΈ ΡΡ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ Π² ΡΡΠ°ΡΡΠΈΠΈ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠ»ΠΈ Ρ
ΠΎΡΠ΅ΡΡ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠΎΡΠ»Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅Ρ Π² ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ -e
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ pip.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉ Docker, ΡΡΠΎΠ±Ρ Π±Π΅Π· ΠΎΡΠΎΠ±ΡΡ
ΡΡΠΈΠ»ΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ultralytics
ΠΏΠ°ΠΊΠ΅Ρ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅, ΡΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ ΠΈ Π±Π΅ΡΠΏΠ΅ΡΠ΅Π±ΠΎΠΉΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΡΠ΅Π΄Π°Ρ
. ΠΡΠ±ΡΠ°Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ
ultralytics
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· Docker HubΠ’Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·Π±Π΅ΠΆΠΈΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, Π½ΠΎ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ΅Π΄Π΅. Ultralytics ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ 5 ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΠΎΠ±ΡΠ°Π·ΠΎΠ² Docker, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
- Dockerfile: GPU ΠΎΠ±ΡΠ°Π·, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠΈ.
- Dockerfile-arm64: ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ARM64, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ Π½Π° ΡΠ°ΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , ΠΊΠ°ΠΊ Raspberry Pi ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ Π½Π° Π±Π°Π·Π΅ ARM64.
- Dockerfile-cpu: ΠΠ΅ΡΡΠΈΡ CPU Π½Π° Π±Π°Π·Π΅ Ubuntu, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π· GPU.
- Dockerfile-jetson: ΠΠ°ΡΡΡΠΎΠ΅Π½ Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ² NVIDIA Jetson, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ GPU , ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΡΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
- Dockerfile-python: ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π·, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ Python ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π»Π΅Π³ΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
- Dockerfile-conda: ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Miniconda3 Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ conda ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ° ultralytics .
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π·Π° ΠΈ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ:
# Set image name as a variable
t=ultralytics/ultralytics:latest
# Pull the latest ultralytics image from Docker Hub
sudo docker pull $t
# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all $t # all GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t # specify GPUs
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Docker Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ultralytics
ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. Π‘Π°ΠΉΡ -it
Π€Π»Π°Π³ Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ ΠΏΡΠ΅Π²Π΄ΠΎ-TTY ΠΈ Π΄Π΅ΡΠΆΠΈΡ stdin ΠΎΡΠΊΡΡΡΡΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠ΅Π±Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ. Π€Π»Π°Π³ --ipc=host
Π€Π»Π°Π³ Π·Π°Π΄Π°Π΅Ρ Ρ
ΠΎΡΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ IPC (Inter-Process Communication), ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ. Π€Π»Π°Π³ --gpus all
Π€Π»Π°Π³ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ GPU Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΡΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ Π·Π°Π΄Π°Ρ, ΡΡΠ΅Π±ΡΡΡΠΈΡ
Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ GPU .
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π½Π° ΡΠ²ΠΎΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ Docker volumes Π΄Π»Ρ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ:
# Mount local directory to a directory inside the container
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t
Alter /path/on/host
ΠΏΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π° ΡΠ²ΠΎΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, ΠΈ /path/in/container
Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ Π²Π½ΡΡΡΠΈ Docker-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ.
ΠΠ»Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Docker Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΡ ΠΈΠ·ΡΡΠΈΡΡ Ultralytics Docker Guide.
Π‘ΠΌ. ultralytics
pyproject.toml ΡΠ°ΠΉΠ» Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΠ±ΡΠ°ΡΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
ΠΠ°ΠΊΠΎΠ½Π΅ΡΠ½ΠΈΠΊ
PyTorch Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ CUDA , ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ½Π°ΡΠ°Π»Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PyTorch , ΡΠ»Π΅Π΄ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ Π½Π° ΡΠ°ΠΉΡΠ΅ https://pytorch.org/get-started/locally.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉ Ultralytics Ρ CLI
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ultralytics (CLI) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅Π΄Ρ Python . CLI Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ»ΠΈ Python ΠΊΠΎΠ΄Π°. Π’Ρ ΠΌΠΎΠΆΠ΅ΡΡ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ yolo
ΠΠΎΠΌΠ°Π½Π΄ΡΠΉ. ΠΡΠΎΠ²Π΅ΡΡ CLI Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ YOLOv8 ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΡΠΈΠΌΠ΅Ρ
Ultralytics yolo
ΠΠΎΠΌΠ°Π½Π΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
TASK
(Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ) - ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· (ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, ΡΠ΅Π³ΠΌΠ΅Π½Ρ, ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΠΎΠ·Π°, obb)MODE
(ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ) - ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· (ΠΠΎΠ΅Π·Π΄, val, ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ, ΡΠΊΡΠΏΠΎΡΡ, ΡΡΠ΅ΠΊ, ΠΡΠΈΠ΅Π½ΡΠΈΡ)ARGS
(Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ)arg=value
Π’Π°ΠΊΠΈΠ΅ ΠΏΠ°ΡΡ, ΠΊΠ°ΠΊimgsz=640
ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΌΠ΅Π½ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π‘ΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ARGS
Π² ΠΏΠΎΠ»Π½ΠΎΠΌ Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈΠ»ΠΈ Ρ yolo cfg
CLI ΠΠΎΠΌΠ°Π½Π΄ΡΠΉ.
ΠΠ±ΡΡΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 10 ΡΠΏΠΎΡ Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ 0.01
ΠΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΡΠΉ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° YouTube Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ 320:
ΠΠ°Π»ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΏΠ°ΡΡΠΈΠΈ 1 ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ 640:
ΠΠΊΡΠΏΠΎΡΡΠΈΡΡΠΉ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ YOLOv8n Π² ΡΠΎΡΠΌΠ°Ρ ONNX Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ 224 Π½Π° 128 (Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ TASK).
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΠΊΠ°ΠΊ arg=val
ΠΏΠ°ΡΡ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΠΊΠΎΠΌ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° =
Π·Π½Π°ΠΊ ΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ°ΡΠ°ΠΌΠΈ. ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ --
ΠΡΠ΅ΡΠΈΠΊΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΡΠ΅ ,
ΠΌΠ΅ΠΆΠ΄Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
yolo predict model=yolov8n.pt imgsz=640 conf=0.25
βyolo predict model yolov8n.pt imgsz 640 conf 0.25
β (ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ=
)yolo predict model=yolov8n.pt, imgsz=640, conf=0.25
β (Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ,
)yolo predict --model yolov8n.pt --imgsz 640 --conf 0.25
β (Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉ--
)
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉ Ultralytics Ρ Python
YOLOv8ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Python ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΡΠ²ΠΎΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ Python , ΠΎΠ±Π»Π΅Π³ΡΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ, Π·Π°ΠΏΡΡΠΊ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΏΡΠΎΡΡΠΎΡΡ ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Python ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π±ΡΡΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ YOLOv8' Python Π±Π΅ΡΡΠ΅Π½Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ Π²Π½Π΅Π΄ΡΠΈΡΡ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ²ΠΎΠΈ Python ΠΏΡΠΎΠ΅ΠΊΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΎΠ±ΡΡΠΈΡΡ Π΅Π΅, ΠΎΡΠ΅Π½ΠΈΡΡ Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΅ Π² ΡΠΎΡΠΌΠ°Ρ ONNX Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΡΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°. ΠΠ·Π½Π°ΠΊΠΎΠΌΡΡΡ Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌPython , ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ YOLOv8 Π² ΡΠ²ΠΎΠΈΡ Python -ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
ΠΡΠΈΠΌΠ΅Ρ
from ultralytics import YOLO
# Create a new YOLO model from scratch
model = YOLO("yolov8n.yaml")
# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolov8n.pt")
# Train the model using the 'coco8.yaml' dataset for 3 epochs
results = model.train(data="coco8.yaml", epochs=3)
# Evaluate the model's performance on the validation set
results = model.val()
# Perform object detection on an image using the model
results = model("https://ultralytics.com/images/bus.jpg")
# Export the model to ONNX format
success = model.export(format="onnx")
Ultralytics ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ultralytics ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΎΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΡΠΎΠ½ΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ SettingsManager
ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π²Π½ΡΡΡΠΈ ultralytics.utils
ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ²ΠΎΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ
. ΠΠ½ΠΈ Ρ
ΡΠ°Π½ΡΡΡΡ Π² YAML-ΡΠ°ΠΉΠ»Π΅ ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π»ΠΈΠ±ΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΡΠ΅Π΄Π΅ Python , Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎ-ΡΡΡΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (CLI).
ΠΡΠΌΠΎΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ²ΠΎΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ, ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡ Π½Π°ΠΏΡΡΠΌΡΡ:
ΠΡΠΎΡΠΌΠΎΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ
Π’Ρ ΠΌΠΎΠΆΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Python Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ²ΠΎΠΈΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ. ΠΠ°ΡΠ½ΠΈ Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉ settings
ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ· ultralytics
ΠΌΠΎΠ΄ΡΠ»Ρ. Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉ ΠΈ Π²Π΅ΡΠ½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ
Ultralytics ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ²ΠΎΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ
Π ΡΡΠ΅Π΄Π΅ Python Π²ΡΠ·ΠΎΠ²ΠΈ update
ΠΌΠ΅ΡΠΎΠ΄ Π½Π° settings
ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
ΠΡΠ»ΠΈ ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠ΅Π±Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ
Π ΡΠ°Π±Π»ΠΈΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΎΠ±Π·ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² Ultralytics. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΊΠ°Π·Π°Π½ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ.
ΠΠΌΡ | ΠΡΠΈΠΌΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|---|
settings_version |
'0.0.4' |
str |
Ultralytics ΠΠ΅ΡΡΠΈΡΠ½Π°ΡΡΡΠΎΠ΅ΠΊ (ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ Ultralytics pip ) |
datasets_dir |
'/path/to/datasets' |
str |
ΠΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΡΠ°Π½ΡΡΡΡ Π½Π°Π±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ |
weights_dir |
'/path/to/weights' |
str |
ΠΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΡΠ°Π½ΡΡΡΡ Π²Π΅ΡΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ |
runs_dir |
'/path/to/runs' |
str |
ΠΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΡΠ°Π½ΡΡΡΡ Π·Π°ΠΏΡΡΠΊΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² |
uuid |
'a1b2c3d4' |
str |
Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ |
sync |
True |
bool |
ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ ΠΈ Π°Π²Π°ΡΠΈΠΈ Ρ HUB |
api_key |
'' |
str |
Ultralytics ΠΠ»ΡΡ API HUB |
clearml |
True |
bool |
Whether to use ClearML logging |
comet |
True |
bool |
Π‘ΡΠΎΠΈΡ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Comet ML Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² |
dvc |
True |
bool |
Π‘ΡΠΎΠΈΡ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ DVC Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ |
hub |
True |
bool |
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ultralytics HUB |
mlflow |
True |
bool |
Whether to use MLFlow for experiment tracking |
neptune |
True |
bool |
Whether to use Neptune for experiment tracking |
raytune |
True |
bool |
Whether to use Ray Tune for hyperparameter tuning |
tensorboard |
True |
bool |
Whether to use TensorBoard for visualization |
wandb |
True |
bool |
Whether to use Weights & Biases logging |
vscode_msg |
True |
bool |
When VS Code terminal detected, enables prompt to download Ultralytics-Snippets extension. |
ΠΠΎ ΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌ ΠΈΠ»ΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°ΠΌ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΌΠ°ΡΡΠΈΠ²Π°ΠΉ ΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌ.
ΠΠΠΠ ΠΠ‘Π« Π ΠΠ’ΠΠΠ’Π«
ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ultralytics YOLOv8 Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip?
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ultralytics YOLOv8 Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip, Π²ΡΠΏΠΎΠ»Π½ΠΈ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ° ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ultralytics
ΠΏΠ°ΠΊΠ΅Ρ ΠΏΡΡΠΌΠΎ Ρ ΡΠ°ΠΉΡΠ° Python Package Index (PyPI). ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ ultralytics ΠΏΠ°ΠΊΠ΅Ρ Π½Π° PyPI.
ΠΠ°ΠΊ Π²Π°ΡΠΈΠ°Π½Ρ, ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΡΠΌΠΎ Ρ GitHub:
Π£Π±Π΅Π΄ΠΈΡΡ, ΡΡΠΎ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Git.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ultralytics YOLOv8 Ρ ΠΏΠΎΠΌΠΎΡΡΡ conda?
ΠΠ°, ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ultralytics YOLOv8 Ρ ΠΏΠΎΠΌΠΎΡΡΡ conda, Π·Π°ΠΏΡΡΡΠΈΠ² Π΅Π³ΠΎ:
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ pip ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ. ΠΠ»Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ CUDA Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ultralytics
, pytorch
, ΠΈ pytorch-cuda
ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ:
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΏΠΎΡΠ΅ΡΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π±ΡΡΡΡΠΎΠΌΡ Π·Π°ΠΏΡΡΠΊΡ Conda.
Π ΡΠ΅ΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Docker Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Ultralytics YOLOv8 ?
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Docker Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Ultralytics YOLOv8 ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡ Π±Π΅ΡΠΏΠ΅ΡΠ΅Π±ΠΎΠΉΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ½ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΠΎΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ°Π·Ρ Docker Ρ Ultralytics Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° Docker Hub, ΠΏΡΠΈΡΠ΅ΠΌ ΡΠ°Π·Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π·Π°ΡΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ΄ ΡΡΠ΅Π΄Ρ GPU, CPU, ARM64, NVIDIA Jetson ΠΈ Conda. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π·Π°:
# Pull the latest ultralytics image from Docker Hub
sudo docker pull ultralytics/ultralytics:latest
# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all ultralytics/ultralytics:latest
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ Docker ΡΡ Π½Π°ΠΉΠ΄Π΅ΡΡ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΏΠΎ Π±ΡΡΡΡΠΎΠΌΡ Π·Π°ΠΏΡΡΠΊΡ Docker.
ΠΠ°ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ultralytics Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ?
Π§ΡΠΎΠ±Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ultralytics ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
# Clone the ultralytics repository
git clone https://github.com/ultralytics/ultralytics
# Navigate to the cloned directory
cd ultralytics
# Install the package in editable mode for development
pip install -e .
Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π±Π΅ Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎΡΠ΅ΡΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉUltralytics GitHub.
ΠΠΎΡΠ΅ΠΌΡ Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ultralytics YOLOv8 CLI ?
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ultralytics YOLOv8 (CLI) ΡΠΏΡΠΎΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ ΠΏΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π½Π΅ ΡΡΠ΅Π±ΡΡ Python ΠΊΠΎΠ΄Π°. Π’Ρ ΠΌΠΎΠΆΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
Π·Π°Π΄Π°Ρ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅, ΠΏΡΡΠΌΠΎ ΠΈΠ· ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ yolo
ΠΠΎΠΌΠ°Π½Π΄Ρ - ΡΡΠΎ:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ:
ΠΠ°Π³Π»ΡΠ½ΠΈ Π² ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎCLI , ΡΡΠΎΠ±Ρ ΠΈΠ·ΡΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.