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

рдорд╛рд╣рд┐рд░ YOLOv5 ЁЯЪА Google рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (GCP) рдкрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди (VM) тнР

рдЖрд░реНрдЯрд┐рдлрд┐рд╢рд┐рдпрд▓ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рдФрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХреА рдпрд╛рддреНрд░рд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдкреНрд░рд╛рдгрдкреЛрд╖рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдЖрдк рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреА рд╢рдХреНрддрд┐ рдФрд░ рд▓рдЪреАрд▓реЗрдкрди рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддреЗ рд╣реИрдВред Google рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (GCP) рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреЗ рдкреНрд░рддрд┐ рдЙрддреНрд╕рд╛рд╣реА рдФрд░ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд░реВрдк рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдордЬрдмреВрдд рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рд╣реА рдПрдХ рдЙрдкрдХрд░рдг рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рд╡реАрдПрдо рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рд╡рд┐рдЬреНрдЮрд╛рди рдФрд░ рдПрдордПрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рд╣рдо рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░реЗрдВрдЧреЗ YOLOv5 рдПрдХ рдЬреАрд╕реАрдкреА рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рд╡реАрдПрдо рдкрд░ред рдЪрд╛рд╣реЗ рдЖрдк рдПрдордПрд▓ рдореЗрдВ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдХрджрдо рдЙрдард╛ рд░рд╣реЗ рд╣реЛрдВ рдпрд╛ рдЖрдк рдПрдХ рдЕрдиреБрднрд╡реА рд╡реНрдпрд╡рд╕рд╛рдпреА рд╣реЛрдВ, рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдЖрдкрдХреЛ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдореЙрдбрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдкрд╖реНрдЯ рдорд╛рд░реНрдЧ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рд╣реИ YOLOv5.

ЁЯЖУ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдПрдХ рдирдП рдЬреАрд╕реАрдкреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдХрд┐рдХрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП $ 300 рдореБрдлреНрдд рдХреНрд░реЗрдбрд┐рдЯ рдСрдлрд╝рд░ рдХреЗ рд╕рд╛рде рднрд╛рдЧреНрдп рдореЗрдВ рд╣реИрдВред

GCP рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╕реБрд▓рдн рдХреНрд╡рд┐рдХрд╕реНрдЯрд╛рд░реНрдЯ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВ YOLOv5, рд╣рдорд╛рд░реЗ рдХреА рддрд░рд╣ Colab рдиреЛрдЯрдмреБрдХ Colab рдореЗрдВ рдЦреЛрд▓реЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрднрд╡ рдХреЗ рд▓рд┐рдП, рдпрд╛ рдХреА рдорд╛рдкрдиреАрдпрддрд╛ рдЕрдореЗрдЬрд╝рди AWS. рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдВрдЯреЗрдирд░ aficionados рд╣рдорд╛рд░реА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдбреЙрдХрд░ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдбреЙрдХрд░ рд╣рдм рдбреЙрдХрд░ рдкреБрд▓ рдПрдХ рд╕рдордЭрд╛рдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдПред

рдЪрд░рдг 1: рдЕрдкрдирд╛ рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рд╡реАрдПрдо рдмрдирд╛рдПрдВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ

рдЖрдЗрдП рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░реЗрдВ рдЬреЛ рдЧрд╣рд░реА рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрдпреВрди рдХреА рдЧрдИ рд╣реИ:

  1. GCP рдорд╛рд░реНрдХреЗрдЯрдкреНрд▓реЗрд╕ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ VM рдЪреБрдиреЗрдВред
  2. n1-рдорд╛рдирдХ-8 рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдСрдкреНрдЯ; рдпрд╣ 8 рд╡реАрд╕реАрдкреАрдпреВ рдФрд░ 30 рдЬреАрдмреА рдореЗрдореЛрд░реА рдХрд╛ рд╕рдВрддреБрд▓рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реИред
  3. рдЕрдЧрд▓рд╛, рдПрдХ GPU рдЪреБрдиреЗрдВред рдпрд╣ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрднрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ; рдпрд╣рд╛рдВ рддрдХ рдХрд┐ рдЯреЗрд╕реНрд▓рд╛ рдЯреА 4 рдХреА рддрд░рд╣ рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рднреА рдЖрдкрдХреЗ рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рддреЗрдЬ рдХрд░реЗрдЧрд╛ред
  4. рдкрд░реЗрд╢рд╛рдиреА рдореБрдХреНрдд рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП 'рдкрд╣рд▓реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ NVIDIA GPU рдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ?' рдХреЗ рд▓рд┐рдП рдмреЙрдХреНрд╕ рдкрд░ рдЯрд┐рдХ рдХрд░реЗрдВред
  5. рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 300 GB SSD рдкрд░рд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдбрд┐рд╕реНрдХ рдЖрд╡рдВрдЯрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк I/O рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдЕрдбрд╝рдЪрди рди рдбрд╛рд▓реЗрдВред
  6. 'рддреИрдирд╛рддреА' рдХреЛ рд╣рд┐рдЯ рдХрд░реЗрдВ рдФрд░ рдЬреАрд╕реАрдкреА рдХреЛ рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рд╡реАрдПрдо рдХреЛ рдкреНрд░рд╛рд╡рдзрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рдЬрд╛рджреВ рдХрд░рдиреЗ рджреЗрдВред

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

рдЬреАрд╕реАрдкреА рдорд╛рд░реНрдХреЗрдЯрдкреНрд▓реЗрд╕ рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рд╡реАрдПрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг

рдЪрд░рдг 2: рд╡реАрдПрдо рдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░реЗрдВ YOLOv5

рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗрдЯрдЕрдк рдХреЗ рдмрд╛рдж, рдЖрдЗрдП рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ YOLOv5 рдКрдкрд░ рдФрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ:

# Clone the YOLOv5 repository
git clone https://github.com/ultralytics/yolov5

# Change the directory to the cloned repository
cd yolov5

# Install the necessary Python packages from requirements.txt
pip install -r requirements.txt

рдпрд╣ рд╕реЗрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ Python рдкрд░реНрдпрд╛рд╡рд░рдг рд╕рдВрд╕реНрдХрд░рдг 3.8.0 рдпрд╛ рдирдпрд╛ рдФрд░ PyTorch 1.8 рдпрд╛ рдЙрд╕рд╕реЗ рдКрдкрд░ред рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрд╕рд╛рдиреА рд╕реЗ рдирд╡реАрдирддрдо рд╕реЗ рдореЙрдбрд▓ рдФрд░ рдбреЗрдЯрд╛рд╕реЗрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреА рд╣реИрдВ YOLOv5 рд░рд┐рд▓реАрдЬ рдХрд░реЗрдВ, рдЬрд┐рд╕рд╕реЗ рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рдореБрдХреНрдд рд╣реЛ рдЬрд╛рдПред

рдЪрд░рдг 3: рдЕрдкрдирд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рддреИрдирд╛рддреА YOLOv5 рдореЙрдбрд▓ ЁЯМР

рд╕реЗрдЯрдЕрдк рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде, рдЖрдк рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ YOLOv5 рдЕрдкрдиреЗ GCP VM рдкрд░:

# Train a model on your data
python train.py

# Validate the trained model for Precision, Recall, and mAP
python val.py --weights yolov5s.pt

# Run inference using the trained model on your images or videos
python detect.py --weights yolov5s.pt --source path/to/images

# Export the trained model to other formats for deployment
python export.py --weights yolov5s.pt --include onnx coreml tflite

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

рдЯрд░реНрдорд┐рдирд▓ рдХрдорд╛рдВрдб рдЫрд╡рд┐ рдПрдХ GCP рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ VM рдкрд░ рдореЙрдбрд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИ

рд╕реНрд╡реИрдк рд╕реНрдкреЗрд╕ рдЖрд╡рдВрдЯрд┐рдд рдХрд░реЗрдВ (рд╡реИрдХрд▓реНрдкрд┐рдХ)

рднрд╛рд░реА рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрддрд┐рд░рд┐рдХреНрдд 64GB рд╕реНрд╡реИрдк рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ GCP рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

sudo fallocate -l 64G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
free -h  # confirm the memory increment

рд╕рдорд╛рдкрди рд╡рд┐рдЪрд╛рд░

рдмрдзрд╛рдЗрдпрд╛рдБ! рдЕрдм рдЖрдк рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╢рдХреНрдд рд╣реИрдВ YOLOv5 Google рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдХреМрд╢рд▓ рдХреЗ рд╕рд╛рдеред рдпрд╣ рд╕рдВрдпреЛрдЬрди рдЖрдкрдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА, рджрдХреНрд╖рддрд╛ рдФрд░ рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЪрд╛рд╣реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ, рдЕрдХрд╛рджрдорд┐рдХ рдЕрдиреБрд╕рдВрдзрд╛рди, рдпрд╛ рдФрджреНрдпреЛрдЧрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдкрдиреЗ рдХреНрд▓рд╛рдЙрдб рдкрд░ рдПрдЖрдИ рдФрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрджрдо рдЙрдард╛рдпрд╛ рд╣реИред

рдЕрдкрдиреА рдпрд╛рддреНрд░рд╛ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦреЗрдВ, рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ Ultralytics рд╕рдореБрджрд╛рдп, рдФрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП GitHub рдЪрд░реНрдЪрд╛рдУрдВ рдЬреИрд╕реЗ рд╕рд╣рдпреЛрдЧреА рдПрд░реЗрдирд╛рд╕ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдПрдВред рдЕрдм, рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдирдпрд╛ рдХрд░реЗрдВ YOLOv5 рдФрд░ рдЬреАрд╕реАрдкреА! ЁЯМЯ

рдЕрдкрдиреЗ рдПрдордПрд▓ рдХреМрд╢рд▓ рдФрд░ рдЬреНрдЮрд╛рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдПрдБред рдЕрдкрдиреЗ рдПрдЖрдИ рд╕рд╛рд╣рд╕рд┐рдХ рдХрд╛рд░реНрдп рдХреЛ рдЬрд╛рд░реА рд░рдЦреЗрдВ!



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

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