พร็อกซีขอบ/กลาง/บริการประสิทธิภาพสูงบนคลาวด์
Envoy เป็นเจ้าภาพโดย Cloud Native Computing Foundation (CNCF) หากคุณเป็นบริษัทที่ต้องการช่วยกำหนดรูปแบบวิวัฒนาการของเทคโนโลยีที่บรรจุคอนเทนเนอร์ มีกำหนดการแบบไดนามิก และเน้นไมโครเซอร์วิส โปรดพิจารณาเข้าร่วม CNCF เพื่อดูรายละเอียดว่าใครคือใคร ที่เกี่ยวข้องและบทบาททูตอย่างไร อ่านประกาศ CNCF
เอกสารประกอบ
หมายเหตุจากตัวแก้ไข Downcodes: Envoy มีเอกสารประกอบที่สมบูรณ์ คุณสามารถอ้างอิงถึงแหล่งข้อมูลต่อไปนี้:
เอกสารอย่างเป็นทางการ
พื้นที่เก็บข้อมูล GitHub
ที่เกี่ยวข้อง
หมายเหตุบรรณาธิการของ Downcodes: Envoy มีความเกี่ยวข้องอย่างใกล้ชิดกับเทคโนโลยีต่อไปนี้:
เทคโนโลยีคอนเทนเนอร์: Docker, Kubernetes
ตาข่ายบริการ: Istio, Linkerd
สถาปัตยกรรมไมโครเซอร์วิส: gRPC, RESTful API
ติดต่อ
หมายเหตุจากโปรแกรมแก้ไข Downcodes: คุณสามารถติดต่อชุมชน Envoy ผ่านช่องทางต่อไปนี้:
รายชื่อผู้รับจดหมาย
ช่องหย่อน
มีส่วนร่วม
หมายเหตุจากตัวแก้ไข Downcodes: หากคุณต้องการสนับสนุนโค้ดให้กับโครงการ Envoy โปรดทำตามขั้นตอนต่อไปนี้:
1. ทำความคุ้นเคยกับฐานโค้ด: อ่านซอร์สโค้ดของ Envoy เพื่อทำความเข้าใจโครงสร้างและการออกแบบ
2. เลือกงาน: เลือกงานที่คุณสนใจในพื้นที่เก็บข้อมูล GitHub
3. ส่งรหัส: ปฏิบัติตามข้อกำหนดรูปแบบการเขียนโค้ดของ Envoy และส่งรหัสของคุณ
การประชุมชุมชน
หมายเหตุบรรณาธิการของ Downcodes: ชุมชน Envoy จะพบกันเดือนละสองครั้งในวันอังคาร เวลา 9.00 น. ตามเวลาแปซิฟิก
Google ปฏิทิน
รายงานการประชุม
หมายเหตุจากตัวแก้ไข Downcodes: สมาชิกชุมชนสามารถแจ้งปัญหาได้โดยการเพิ่มปัญหาลงในรายงานการประชุม ผู้ดูแลจะยืนยันหัวข้อภายใน 24 ชั่วโมง หรือหากการประชุมไม่มีหัวข้อที่ยืนยัน การประชุมจะถูกยกเลิกภายใน 24 ชั่วโมงก่อนเวลาการประชุม
ความปลอดภัย
หมายเหตุจากตัวแก้ไข Downcodes: โครงการ Envoy ให้ความสำคัญอย่างยิ่งกับปัญหาด้านความปลอดภัย
การตรวจสอบความปลอดภัย
หมายเหตุจากตัวแก้ไข Downcodes: โครงการ Envoy ผ่านการตรวจสอบความปลอดภัยจากบุคคลที่สามหลายครั้ง
การรายงานช่องโหว่ด้านความปลอดภัย
หมายเหตุจากตัวแก้ไข Downcodes: หากคุณพบช่องโหว่ด้านความปลอดภัยในโครงการ Envoy โปรดส่งรายงานช่องโหว่ไปที่ [email protected] เราจะส่งอีเมลยืนยันเพื่อยืนยันรายงานของคุณ และเราจะส่งอีเมลเพิ่มเติมเมื่อเราพิจารณาแล้วว่าปัญหามีอยู่หรือไม่
หมายเหตุจากตัวแก้ไข Downcodes: สำหรับข้อมูลเพิ่มเติม โปรดดูกระบวนการเผยแพร่ที่ปลอดภัยโดยสมบูรณ์ของเรา
ข่าวประชาสัมพันธ์
หมายเหตุจากตัวแก้ไข Downcodes: สำหรับรายละเอียดเกี่ยวกับการเผยแพร่เวอร์ชัน Envoy โปรดดูขั้นตอนการเผยแพร่ของเรา
ตัวอย่าง
-
ใบอนุญาต Apache-2.0
สารบัญ
กรอบการตรวจจับวัตถุ Darknet และ YOLO
เอกสาร
ข้อมูลทั่วไป
เวอร์ชันดาร์กเน็ต
MSCOCO ตุ้มน้ำหนักที่ผ่านการฝึกอบรมล่วงหน้า
อาคาร
Google Colab
วิธีการลินุกซ์ CMake
วิธี Windows CMake
การใช้ดาร์กเน็ต
คลีไอ
การฝึกอบรม
เครื่องมือและลิงค์อื่นๆ
แผนการทำงาน
เป้าหมายระยะสั้น
เป้าหมายระยะกลาง
เป้าหมายระยะยาว
กรอบการตรวจจับวัตถุ Darknet และ YOLO
!โลโก้ Darknet
!โลโก้ Hank.ai
หมายเหตุบรรณาธิการของ Downcodes: Darknet เป็นเฟรมเวิร์กโครงข่ายประสาทเทียมแบบโอเพ่นซอร์สที่เขียนด้วยภาษา C, C++ และ CUDA
หมายเหตุบรรณาธิการของ Downcodes: YOLO (คุณดูเพียงครั้งเดียว) เป็นระบบตรวจจับเป้าหมายแบบเรียลไทม์ที่ล้ำสมัยที่ทำงานในกรอบงาน Darknet
หมายเหตุจากตัวแก้ไข Downcodes: เรียนรู้เพิ่มเติมเกี่ยวกับวิธีที่ Hank.ai ช่วยชุมชน Darknet/YOLO
หมายเหตุบรรณาธิการของ Downcodes: เว็บไซต์ Darknet/YOLO
หมายเหตุบรรณาธิการของ Downcodes: คำถามที่พบบ่อยเกี่ยวกับ Darknet/YOLO
หมายเหตุบรรณาธิการ Downcodes: Darknet/YOLO Discord Server
เอกสาร
หมายเหตุจากโปรแกรมแก้ไข Downcodes: เอกสารต่อไปนี้เป็นเอกสารบางส่วนเกี่ยวกับ YOLO:
1. YOLOv7: ลิงค์กระดาษ
2. Scaled-YOLOv4: ลิงค์กระดาษ
3. YOLOv4: ลิงค์กระดาษ
4. YOLOv3: ลิงค์กระดาษ
ข้อมูลทั่วไป
หมายเหตุบรรณาธิการของ Downcodes: เฟรมเวิร์ก Darknet/YOLO นั้นเร็วกว่าและแม่นยำกว่าเฟรมเวิร์กและเวอร์ชัน YOLO อื่น ๆ
หมายเหตุจากโปรแกรมแก้ไข Downcodes: เฟรมเวิร์กนี้ฟรีและเป็นโอเพ่นซอร์สโดยสมบูรณ์ คุณสามารถรวม Darknet/YOLO เข้ากับโปรเจ็กต์และผลิตภัณฑ์ที่มีอยู่ รวมถึงผลิตภัณฑ์เชิงพาณิชย์ โดยไม่ต้องมีใบอนุญาตหรือค่าธรรมเนียม
หมายเหตุบรรณาธิการของ Downcodes: Darknet V3 ("Jazz") ที่เปิดตัวในเดือนตุลาคม 2024 สามารถเรียกใช้วิดีโอชุดข้อมูล LEGO ได้อย่างแม่นยำที่สูงถึง 1,000 FPS ซึ่งหมายความว่าแต่ละเฟรมวิดีโอจะอยู่ใน 1 มิลลิวินาที เมื่อใช้ NVIDIA RTX 3090 GPU หรืออ่าน ปรับขนาด และประมวลผล โดย Darknet/YOLO ในเวลาอันสั้น
หมายเหตุจากโปรแกรมแก้ไข Downcodes: หากคุณต้องการความช่วยเหลือหรือต้องการหารือเกี่ยวกับ Darknet/YOLO โปรดเข้าร่วมเซิร์ฟเวอร์ Discord ของ Darknet/YOLO: https://discord.gg/zSq8rtW
หมายเหตุจากโปรแกรมแก้ไข Downcodes: Darknet/YOLO เวอร์ชัน CPU สามารถทำงานบนอุปกรณ์ง่ายๆ เช่น Raspberry Pi, เซิร์ฟเวอร์คลาวด์ และเซิร์ฟเวอร์ Colab, เดสก์ท็อป, แล็ปท็อป และอุปกรณ์การฝึกอบรมระดับไฮเอนด์ Darknet/YOLO เวอร์ชัน GPU ต้องใช้ GPU ที่รองรับ NVIDIA CUDA
หมายเหตุจากโปรแกรมแก้ไข Downcodes: เป็นที่ทราบกันว่า Darknet/YOLO ทำงานบน Linux, Windows และ Mac ดูคำแนะนำในการสร้างด้านล่าง
เวอร์ชันดาร์กเน็ต
หมายเหตุบรรณาธิการของ Downcodes: เครื่องมือ Darknet ดั้งเดิมที่เขียนโดย Joseph Redmon ในปี 2556-2560 ไม่มีหมายเลขเวอร์ชัน เราถือว่าเวอร์ชันนี้เป็น 0.x
หมายเหตุบรรณาธิการของ Downcodes: พื้นที่เก็บข้อมูล Darknet ยอดนิยมถัดไปที่ดูแลโดย Alexey Bochkovskiy ตั้งแต่ปี 2560 ถึง 2564 ยังไม่มีหมายเลขเวอร์ชันเช่นกัน เราเชื่อว่าเวอร์ชันนี้คือ 1.x
หมายเหตุบรรณาธิการของ Downcodes: พื้นที่เก็บข้อมูล Darknet ที่สนับสนุนโดย Hank.ai และดูแลโดยStéphane Charette ตั้งแต่ปี 2023 เป็นพื้นที่เก็บข้อมูลแรกที่มีคำสั่งเวอร์ชัน ตั้งแต่ปี 2023 ถึงสิ้นปี 2024 จะกลับมาเป็นเวอร์ชัน 2.x "OAK"
หมายเหตุจากโปรแกรมแก้ไข Downcodes: เป้าหมายคือเพื่อลดการหยุดชะงักของฟังก์ชันการทำงานที่มีอยู่ให้เหลือน้อยที่สุดในขณะที่ทำความคุ้นเคยกับฐานโค้ด
หมายเหตุของบรรณาธิการ Downcodes: เขียนขั้นตอนการสร้างใหม่เพื่อให้เรามีวิธีการสร้างบน Windows และ Linux แบบครบวงจรโดยใช้ CMake
หมายเหตุของบรรณาธิการ Downcodes: แปลงฐานโค้ดเพื่อใช้คอมไพเลอร์ C++
หมายเหตุบรรณาธิการของ Downcodes: chart.png ได้รับการปรับปรุงในระหว่างการฝึกอบรม
หมายเหตุจากตัวแก้ไข Downcodes: การแก้ไขข้อบกพร่องและการเพิ่มประสิทธิภาพที่เกี่ยวข้องกับประสิทธิภาพส่วนใหญ่เกี่ยวข้องกับการย่นระยะเวลาที่จำเป็นในการฝึกอบรมเครือข่าย
หมายเหตุจากตัวแก้ไข Downcodes: สาขาสุดท้ายของรหัสฐานนี้คือเวอร์ชัน 2.1 ในสาขา v2
หมายเหตุบรรณาธิการของ Downcodes: การพัฒนาระยะต่อไปจะเริ่มในกลางปี 2024 และจะเปิดตัวในเดือนตุลาคม 2024 คำสั่ง version ส่งคืน 3.x "JAZZ"
หมายเหตุจากตัวแก้ไข Downcodes: หากคุณต้องการรันคำสั่งใดคำสั่งหนึ่งเหล่านี้ คุณสามารถตรวจสอบสาขา v2 ก่อนหน้าได้ตลอดเวลา โปรดแจ้งให้เราทราบ เพื่อให้เราตรวจสอบการเพิ่มคำสั่งที่ขาดหายไปกลับเข้าไปได้
หมายเหตุของบรรณาธิการ Downcodes: ลบคำสั่งเก่าและคำสั่งที่ไม่ได้รับการดูแลจำนวนมากออก
หมายเหตุบรรณาธิการของ Downcodes: การปรับปรุงประสิทธิภาพหลายอย่าง รวมถึงการเพิ่มประสิทธิภาพระหว่างการฝึกอบรมและการอนุมาน
หมายเหตุบรรณาธิการของ Downcodes: C API เก่าได้รับการแก้ไขแล้ว แอปพลิเคชันที่ใช้ Darknet API ดั้งเดิมจำเป็นต้องมีการแก้ไขเล็กน้อย: https://darknetcv.ai/api/api.html
หมายเหตุจากตัวแก้ไข Downcodes: Darknet V3 C และ C++ API ใหม่: https://darknetcv.ai/api/api.html
หมายเหตุของบรรณาธิการ Downcodes: แอปพลิเคชันใหม่และโค้ดตัวอย่างใน src-examples: https://darknetcv.ai/api/files.html
MSCOCO ตุ้มน้ำหนักที่ผ่านการฝึกอบรมล่วงหน้า
หมายเหตุบรรณาธิการของ Downcodes: เพื่อความสะดวก YOLO เวอร์ชันยอดนิยมหลายเวอร์ชันได้รับการฝึกอบรมล่วงหน้าเพื่อให้เหมาะกับชุดข้อมูล MSCOCO ชุดข้อมูลนี้มี 80 หมวดหมู่และสามารถดูได้ในไฟล์ข้อความ cfg/coco.names
หมายเหตุบรรณาธิการของ Downcodes: มีชุดข้อมูลที่เรียบง่ายกว่าและตุ้มน้ำหนักที่ได้รับการฝึกล่วงหน้าอื่นๆ อีกหลายชุดที่สามารถใช้เพื่อทดสอบ Darknet/YOLO เช่น LEGO Gears และ Rolodex สำหรับข้อมูลเพิ่มเติม โปรดดูคำถามที่พบบ่อยของ Darknet/YOLO
หมายเหตุจากโปรแกรมแก้ไข Downcodes: สามารถดาวน์โหลดตุ้มน้ำหนักที่ได้รับการฝึกล่วงหน้าของ MSCOCO ได้จากหลายตำแหน่ง หรือจากที่เก็บข้อมูลนี้:
1. YOLOv2 พฤศจิกายน 2559:
*YOLOv2-จิ๋ว
*YOLOv2-เต็ม
2. YOLOv3 พฤษภาคม 2018:
* YOLOv3-จิ๋ว
*YOLOv3-เต็ม
3. YOLOv4 พฤษภาคม 2020:
* YOLOv4-จิ๋ว
*YOLOv4-เต็ม
4. YOLOv7 สิงหาคม 2022:
* YOLOv7-จิ๋ว
*YOLOv7-เต็ม
หมายเหตุจากโปรแกรมแก้ไข Downcodes: ตุ้มน้ำหนักที่ได้รับการฝึกล่วงหน้าของ MSCOCO มีไว้เพื่อการสาธิตเท่านั้น ไฟล์ .cfg และ .names ที่เกี่ยวข้องสำหรับ MSCOCO จะอยู่ในไดเร็กทอรี cfg คำสั่งตัวอย่าง:
-
wget --no-clobber https://github.com/hank-ai/darknet/releases/download/v2.0/yolov4-tiny.weights darknet02displayannotatedimages coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg darknet03display_videos coco.names yolov4-tiny.cfg yolov4-tiny.weights video1.avi DarkHelp coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg DarkHelp coco.names yolov4-tiny.cfg yolov4-tiny.weights วิดีโอ1. เอวี
-
หมายเหตุบรรณาธิการของ Downcodes: โปรดทราบว่าผู้คนควรฝึกอบรมเครือข่ายของตนเอง MSCOCO มักใช้เพื่อยืนยันว่าทุกอย่างทำงานได้อย่างถูกต้อง
อาคาร
หมายเหตุบรรณาธิการของ Downcodes: วิธีการสร้างต่างๆ จากอดีต (ก่อนปี 2023) ได้ถูกรวมเข้ากับโซลูชันแบบครบวงจร Darknet ต้องการ C++17 หรือสูงกว่า, OpenCV และใช้ CMake เพื่อสร้างไฟล์โปรเจ็กต์ที่จำเป็น
หมายเหตุบรรณาธิการของ Downcodes: คุณไม่จำเป็นต้องรู้ C++ เพื่อสร้าง ติดตั้ง หรือรัน Darknet/YOLO เช่นเดียวกับที่คุณไม่จำเป็นต้องเป็นช่างเครื่องก็ขับรถได้
Google Colab
หมายเหตุจากโปรแกรมแก้ไข Downcodes: คำแนะนำสำหรับ Google Colab จะเหมือนกับคำแนะนำสำหรับ Linux มีสมุดบันทึก Jupyter หลายเครื่องที่แสดงวิธีดำเนินการบางอย่าง เช่น การฝึกอบรมเครือข่ายใหม่
หมายเหตุของบรรณาธิการ Downcodes: ดูสมุดบันทึกในไดเรกทอรีย่อย colab หรือทำตามคำแนะนำของ Linux ด้านล่าง
วิธีการลินุกซ์ CMake
หมายเหตุบรรณาธิการ Downcodes: บทช่วยสอนการสร้าง Linux ของ Darknet
หมายเหตุบรรณาธิการของ Downcodes: ทางเลือก: หากคุณมี NVIDIA GPU ที่ทันสมัย คุณสามารถติดตั้ง CUDA หรือ CUDA+cuDNN ได้ในขณะนี้ หากติดตั้งแล้ว Darknet จะใช้ GPU ของคุณเพื่อเร่งการประมวลผลภาพ (และวิดีโอ)
หมายเหตุของบรรณาธิการ Downcodes: คุณต้องลบไฟล์ CMakeCache.txt ออกจากไดเร็กทอรี Darknet build เพื่อบังคับให้ CMake ค้นหาไฟล์ที่จำเป็นทั้งหมดอีกครั้ง
หมายเหตุจากโปรแกรมแก้ไข Downcodes: โปรดอย่าลืมสร้าง Darknet ใหม่
หมายเหตุบรรณาธิการของ Downcodes: Darknet สามารถทำงานได้ แต่ถ้าคุณต้องการฝึกเครือข่ายแบบกำหนดเอง คุณต้องมี CUDA หรือ CUDA+cuDNN
หมายเหตุจากโปรแกรมแก้ไข Downcodes: ไปที่ https://developer.nvidia.com/cuda-downloads เพื่อดาวน์โหลดและติดตั้ง CUDA
หมายเหตุจากตัวแก้ไข Downcodes: ไปที่ https://developer.nvidia.com/rdp/cudnn-download หรือ https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn-package-manager- ภาพรวมการติดตั้ง ดาวน์โหลดและติดตั้ง cuDNN
หมายเหตุจากโปรแกรมแก้ไข Downcodes: หลังจากติดตั้ง CUDA แล้ว โปรดตรวจสอบให้แน่ใจว่าคุณสามารถเรียกใช้ nvcc และ nvidia-smi ได้ คุณอาจต้องแก้ไขตัวแปร PATH
หมายเหตุจากตัวแก้ไข Downcodes: หากคุณติดตั้ง CUDA หรือ CUDA+cuDNN ในภายหลัง หรืออัปเกรดเป็นซอฟต์แวร์ NVIDIA เวอร์ชันใหม่กว่า:
หมายเหตุจากตัวแก้ไข Downcodes: คำแนะนำเหล่านี้ถือว่า (แต่ไม่จำเป็น!) เป็นระบบที่ใช้ Ubuntu 22.04 หากคุณกำลังใช้การกระจายแบบอื่น ให้ปรับเปลี่ยนตามความจำเป็น
`ทุบตี
sudo apt-get ติดตั้ง build-essential git libopencv-dev cmake
mkdir ~/srccd ~/src
git clone https://github.com/hank-ai/darknetcd darknet
mkdir buildcd สร้าง
cmake -DCMAKEBUILDTYPE=ปล่อย ..
ทำแพ็คเกจ -j4
sudo dpkg -i darknet-VERSION.deb
-
หมายเหตุจากตัวแก้ไข Downcodes: หากคุณใช้ CMake เวอร์ชันเก่า คุณต้องอัปเกรด CMake ก่อนที่จะรันคำสั่ง cmake ด้านบน การอัพเกรด CMake บน Ubuntu สามารถทำได้ด้วยคำสั่งต่อไปนี้:
`ทุบตี
sudo apt-get purge cmakesudo snap ติดตั้ง cmake --classic
-
หมายเหตุของบรรณาธิการ Downcodes: หากคุณใช้ bash เป็นเชลล์คำสั่ง คุณจะต้องรีสตาร์ทเชลล์ที่นี่ หากใช้ปลาควรเลือกเส้นทางใหม่ทันที
หมายเหตุบรรณาธิการ Downcodes: ผู้ใช้ขั้นสูง:
หมายเหตุของตัวแก้ไข Downcodes: หากคุณต้องการสร้างไฟล์การติดตั้ง RPM แทนไฟล์ DEB โปรดดูบรรทัดที่เกี่ยวข้องใน CM_package.cmake ก่อนที่จะรันแพ็คเกจ make -j4 คุณต้องแก้ไขสองบรรทัดนี้ก่อน:
-
SET (CPACKGENERATOR "DEB")# SET (CPACKGENERATOR "RPM")
-
หมายเหตุจากตัวแก้ไข Downcodes: สำหรับการแจกแจงเช่น Centos และ OpenSUSE คุณต้องเปลี่ยนสองบรรทัดนี้ใน CM_package.cmake เป็น:
-
SET (CPACKGENERATOR "DEB") SET (CPACKGENERATOR "RPM")
-
หมายเหตุของบรรณาธิการ Downcodes: หากต้องการติดตั้งแพ็คเกจการติดตั้ง เมื่อสร้างเสร็จแล้ว ให้ใช้ตัวจัดการแพ็คเกจปกติของการแจกจ่ายของคุณ ตัวอย่างเช่น บนระบบที่ใช้ Debian เช่น Ubuntu:
`ทุบตี
sudo dpkg -i darknet-2.0.1-Linux.deb
-
หมายเหตุจากตัวแก้ไข Downcodes: การติดตั้งแพ็คเกจ .deb จะคัดลอกไฟล์ต่อไปนี้:
/usr/bin/darknet เป็นโปรแกรมปฏิบัติการ Darknet ปกติ เรียกใช้เวอร์ชัน darknet จาก CLI เพื่อยืนยันว่าติดตั้งอย่างถูกต้อง
/usr/include/darknet.h คือ Darknet API ที่ใช้โดยนักพัฒนา C, C++ และ Python
/usr/include/darknet_version.h มีข้อมูลเวอร์ชันของผู้พัฒนา
/usr/lib/libdarknet.so เป็นไลบรารีสำหรับนักพัฒนา C, C++ และ Python ที่จะเชื่อมโยง
/opt/darknet/cfg/... เป็นที่จัดเก็บเทมเพลต .cfg ทั้งหมด
หมายเหตุจาก Downcodes Editor: คุณทำเสร็จแล้ว! Darknet ถูกสร้างและติดตั้งลงใน /usr/bin/ รันคำสั่งต่อไปนี้เพื่อทดสอบ: เวอร์ชัน darknet
หมายเหตุของบรรณาธิการ Downcodes: หากคุณไม่มี /usr/bin/darknet หมายความว่าคุณไม่ได้ติดตั้ง คุณเพิ่งสร้างมันขึ้นมา! โปรดตรวจสอบให้แน่ใจว่าคุณทำตามขั้นตอนด้านบนเพื่อติดตั้งไฟล์ .deb หรือ .rpm
วิธี Windows CMake
หมายเหตุของบรรณาธิการ Downcodes: คำแนะนำเหล่านี้จะถือว่าติดตั้ง Windows 11 22H2 ใหม่
หมายเหตุจากตัวแก้ไข Downcodes: เปิดหน้าต่างพร้อมท์คำสั่ง cmd.exe ปกติแล้วรันคำสั่งต่อไปนี้:
`ทุบตี
winget ติดตั้ง Git.Git
winget ติดตั้ง Kitware.CMake
ติดตั้ง winget nsis.nsis
winget ติดตั้ง Microsoft.VisualStudio.2022.Community
-
หมายเหตุจากตัวแก้ไข Downcodes: ณ จุดนี้ เราจำเป็นต้องแก้ไขการติดตั้ง Visual Studio เพื่อรวมการรองรับแอปพลิเคชัน C ++:
1. คลิกเมนู "Windows Start" และเรียกใช้ "Visual Studio Setup"
2. คลิกแก้ไข
3. เลือกการพัฒนาเดสก์ท็อปโดยใช้ C++
4. คลิกแก้ไขที่มุมขวาล่าง จากนั้นคลิกใช่
หมายเหตุของบรรณาธิการ Downcodes: เมื่อดาวน์โหลดและติดตั้งทุกอย่างแล้ว ให้คลิกที่เมนู Windows Start อีกครั้ง และเลือก Developer Command Prompt สำหรับ VS 2022 อย่าใช้ PowerShell เพื่อทำตามขั้นตอนเหล่านี้ ไม่เช่นนั้นปัญหาอาจเกิดขึ้นได้!
หมายเหตุบรรณาธิการ Downcodes: ผู้ใช้ขั้นสูง:
หมายเหตุของบรรณาธิการ Downcodes: นอกเหนือจากการเรียกใช้พรอมต์คำสั่งของนักพัฒนาแล้ว คุณยังสามารถเข้าสู่ระบบอุปกรณ์โดยใช้พรอมต์คำสั่งปกติหรือ ssh และเรียกใช้ "Program FilesMicrosoft Visual Studio2022CommunityCommon7ToolsVsDevCmd.bat" ด้วยตนเอง
หมายเหตุของบรรณาธิการ Downcodes: เมื่อคุณเรียกใช้พรอมต์คำสั่งสำหรับนักพัฒนาด้านบน (ไม่ใช่ PowerShell!) ให้รันคำสั่งต่อไปนี้เพื่อติดตั้ง Microsoft VCPKG ซึ่งจะใช้ในการสร้าง OpenCV:
`ทุบตี
ซีดี c:mkdir c:srccd c:src
โคลนคอมไพล์ https://github.com/microsoft/vcpkgcd vcpkg
bootstrap-vcpkg.bat .vcpkg.exe รวมการติดตั้ง
.vcpkg.exe รวม PowerShell
.vcpkg.exe ติดตั้ง opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
-
หมายเหตุของบรรณาธิการ Downcodes: โปรดอดทนกับขั้นตอนสุดท้ายนี้ เนื่องจากอาจใช้เวลานานในการรัน มันต้องมีการดาวน์โหลดและสร้างสิ่งต่าง ๆ มากมาย
หมายเหตุบรรณาธิการ Downcodes: ผู้ใช้ขั้นสูง:
หมายเหตุของบรรณาธิการ Downcodes: โปรดทราบว่าเมื่อสร้าง OpenCV คุณอาจต้องเพิ่มโมดูลเสริมอื่น ๆ อีกมากมาย เรียกใช้ .vcpkg.exe ค้นหา opencv เพื่อดูรายการทั้งหมด
หมายเหตุบรรณาธิการของ Downcodes: ทางเลือก: หากคุณมี NVIDIA GPU ที่ทันสมัย คุณสามารถติดตั้ง CUDA หรือ CUDA+cuDNN ได้ในขณะนี้ หากติดตั้งแล้ว Darknet จะใช้ GPU ของคุณเพื่อเร่งการประมวลผลภาพ (และวิดีโอ)
หมายเหตุของบรรณาธิการ Downcodes: คุณต้องลบไฟล์ CMakeCache.txt ออกจากไดเร็กทอรี Darknet build เพื่อบังคับให้ CMake ค้นหาไฟล์ที่จำเป็นทั้งหมดอีกครั้ง
หมายเหตุจากโปรแกรมแก้ไข Downcodes: โปรดอย่าลืมสร้าง Darknet ใหม่
หมายเหตุบรรณาธิการของ Downcodes: Darknet สามารถทำงานได้ แต่ถ้าคุณต้องการฝึกเครือข่ายแบบกำหนดเอง คุณต้องมี CUDA หรือ CUDA+cuDNN
หมายเหตุจากโปรแกรมแก้ไข Downcodes: ไปที่ https://developer.nvidia.com/cuda-downloads เพื่อดาวน์โหลดและติดตั้ง CUDA
หมายเหตุจากตัวแก้ไข Downcodes: ไปที่ https://developer.nvidia.com/rdp/cudnn-download หรือ https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#download-windows เพื่อดาวน์โหลดและ ติดตั้ง cuDNN
หมายเหตุจากตัวแก้ไข Downcodes: หลังจากติดตั้ง CUDA แล้ว โปรดตรวจสอบให้แน่ใจว่าคุณสามารถเรียกใช้ nvcc.exe และ nvidia-smi.exe ได้ คุณอาจต้องแก้ไขตัวแปร PATH
หมายเหตุจากตัวแก้ไข Downcodes: หลังจากดาวน์โหลด cuDNN แล้ว ให้แตกไฟล์และคัดลอก bin รวมและไดเร็กทอรี lib ไปที่ C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/[version]/ คุณอาจต้องเขียนทับไฟล์บางไฟล์
หมายเหตุจากตัวแก้ไข Downcodes: หากคุณติดตั้ง CUDA หรือ CUDA+cuDNN ในภายหลัง หรืออัปเกรดเป็นซอฟต์แวร์ NVIDIA เวอร์ชันใหม่กว่า:
หมายเหตุจากตัวแก้ไข Downcodes: ต้องติดตั้ง CUDA หลังจาก Visual Studio หากคุณอัปเกรด Visual Studio อย่าลืมติดตั้ง CUDA ใหม่
หมายเหตุบรรณาธิการของ Downcodes: เมื่อขั้นตอนก่อนหน้าทั้งหมดเสร็จสมบูรณ์แล้ว คุณจะต้องโคลน Darknet และสร้างมันขึ้นมา ในขั้นตอนนี้ เรายังต้องบอก CMake ด้วยว่า vcpkg อยู่ที่ไหน เพื่อให้สามารถค้นหา OpenCV และการอ้างอิงอื่นๆ ได้:
`ทุบตี
ซีดี c:src
โคลนคอมไพล์ https://github.com/hank-ai/darknet.gitcd darknet
mkdir buildcd สร้าง
cmake -DCMAKEBUILDTYPE=Release -DCMAKETOOLCHAINFILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake ..
msbuild.exe /property:Platform=x64;Configuration=Release /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln
msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
-
หมายเหตุของบรรณาธิการ Downcodes: หากคุณได้รับข้อผิดพลาดเกี่ยวกับ CUDA หรือ cuDNN DLL ที่หายไป (เช่น cublas64_12.dll) ให้คัดลอกไฟล์ CUDA .dll ไปยังไดเร็กทอรีเอาต์พุตเดียวกันกับ Darknet.exe ด้วยตนเอง ตัวอย่างเช่น:
`ทุบตี
คัดลอก "C: Program FilesNVIDIA GPU Computing ToolkitCUDAv12.2bin*.dll" src-cliRelease
-
หมายเหตุของบรรณาธิการ Downcodes: (นี่คือตัวอย่าง! โปรดตรวจสอบเพื่อให้แน่ใจว่าคุณใช้เวอร์ชันใดและเรียกใช้คำสั่งที่เหมาะสมสำหรับสิ่งที่คุณได้ติดตั้ง)
หมายเหตุจากตัวแก้ไข Downcodes: เมื่อคัดลอกไฟล์แล้ว ให้รันคำสั่ง msbuild.exe สุดท้ายอีกครั้งเพื่อสร้างแพ็คเกจการติดตั้ง NSIS:
`ทุบตี
msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
-
หมายเหตุบรรณาธิการ Downcodes: ผู้ใช้ขั้นสูง:
หมายเหตุจากตัวแก้ไข Downcodes: โปรดทราบว่าเอาต์พุตของคำสั่ง cmake เป็นไฟล์โซลูชัน Visual Studio ปกติ Darknet.sln หากคุณเป็นนักพัฒนาซอฟต์แวร์ที่ใช้ Visual Studio GUI แทน msbuild.exe เพื่อสร้างโครงการบ่อยครั้ง คุณสามารถละเว้นบรรทัดคำสั่งและโหลดโครงการ Darknet ใน Visual Studio ได้
หมายเหตุจากโปรแกรมแก้ไข Downcodes: ตอนนี้คุณควรมีไฟล์ต่อไปนี้เพื่อเรียกใช้: C:srcDarknetbuildsrc-cliReleasedarknet.exe เรียกใช้คำสั่งต่อไปนี้เพื่อทดสอบ: เวอร์ชัน C:srcDarknetbuildsrc-cliReleasedarknet.exe
หมายเหตุของบรรณาธิการ Downcodes: หากต้องการติดตั้ง Darknet, ไลบรารี, รวมไฟล์ และ DLL ที่จำเป็นอย่างถูกต้อง ให้เรียกใช้วิซาร์ดการติดตั้ง NSIS ที่สร้างไว้ในขั้นตอนสุดท้าย ดูไฟล์ darknet-VERSION.exe ในไดเร็กทอรี build ตัวอย่างเช่น:
`ทุบตี
darknet-2.0.31-win64.exe
-
หมายเหตุจากตัวแก้ไข Downcodes: การติดตั้งแพ็คเกจการติดตั้ง NSIS จะ:
สร้างไดเร็กทอรีชื่อ Darknet เช่น C:Program FilesDarknet
ติดตั้งแอปพลิเคชัน CLI, darknet.exe และแอปพลิเคชันตัวอย่างอื่นๆ
ติดตั้งไฟล์ .dll ของบริษัทอื่นที่จำเป็น เช่น ไฟล์จาก OpenCV
ติดตั้งไฟล์ Darknet .dll, .lib และ .h ที่จำเป็นเพื่อใช้ darknet.dll จากแอปพลิเคชันอื่น
ติดตั้งไฟล์เทมเพลต .cfg
หมายเหตุจาก Downcodes Editor: คุณทำเสร็จแล้ว! หลังจากวิซาร์ดการติดตั้งเสร็จสมบูรณ์ Darknet จะถูกติดตั้งใน C:Program FilesDarknet รันคำสั่งต่อไปนี้เพื่อทดสอบ: เวอร์ชัน C:Program FilesDarknetbindarknet.exe
หมายเหตุบรรณาธิการของ Downcodes: หากคุณไม่มี C:/Program Files/darknet/bin/darknet.exe นั่นหมายความว่าคุณไม่ได้ติดตั้ง คุณเพิ่งสร้างมันขึ้นมา! ตรวจสอบให้แน่ใจว่าคุณปฏิบัติตามแต่ละแผงของวิซาร์ดการติดตั้ง NSIS ในขั้นตอนก่อนหน้า
การใช้ดาร์กเน็ต
คลีไอ
หมายเหตุจากโปรแกรมแก้ไข Downcodes: รายการต่อไปนี้ไม่ใช่รายการคำสั่งทั้งหมดที่รองรับโดย Darknet
หมายเหตุจากโปรแกรมแก้ไข Downcodes: นอกเหนือจาก Darknet CLI แล้ว โปรดให้ความสนใจกับ CLI ของโปรเจ็กต์ DarkHelp ซึ่งจัดเตรียม CLI ทางเลือกสำหรับ Darknet/YOLO DarkHelp CLI ยังมีคุณสมบัติขั้นสูงบางอย่างที่ไม่พบใน Darknet คุณสามารถใช้ Darknet CLI และ DarkHelp CLI ในเวลาเดียวกันได้ โดยไม่ได้แยกจากกัน
หมายเหตุของบรรณาธิการ Downcodes: สำหรับคำสั่งส่วนใหญ่ที่แสดงด้านล่าง คุณจะต้องมีไฟล์ .weights พร้อมด้วยไฟล์ .names และ .cfg ที่เกี่ยวข้อง คุณสามารถฝึกเครือข่ายของคุณเองได้ (ขอแนะนำอย่างยิ่ง!) หรือดาวน์โหลดโครงข่ายประสาทเทียมจากอินเทอร์เน็ตที่ผู้อื่นได้ฝึกฝนและใช้งานได้ฟรี ตัวอย่างของชุดข้อมูลก่อนการฝึกอบรมได้แก่:
LEGO Gears (ค้นหาวัตถุในภาพ)
Rolodex (ค้นหาข้อความในภาพ)
MSCOCO (การตรวจจับเป้าหมายมาตรฐาน 80 หมวดหมู่)
หมายเหตุจากตัวแก้ไข Downcodes: คำสั่งที่ต้องรันประกอบด้วย:
1. แสดงรายการคำสั่งและตัวเลือกบางอย่างที่อาจเรียกใช้:
`ทุบตี
ความช่วยเหลือจาก Darknet
-
2. ตรวจสอบเวอร์ชั่น:
`ทุบตี
เวอร์ชันดาร์กเน็ต
-
3. ใช้ภาพเพื่อการทำนาย:
* V2:
`ทุบตี
การทดสอบเครื่องตรวจจับ darknet cars.data cars.cfg cars_best.weights image1.jpg
-
* V3:
`ทุบตี
darknet02displayภาพที่มีคำอธิบายประกอบcars.cfg image1.jpg
-
*ดาร์คช่วยเหลือ:
`ทุบตี
DarkHelp cars.cfg cars.cfg cars_best.weights image1.jpg
-
4. พิกัดเอาต์พุต:
* V2:
`ทุบตี
การทดสอบเครื่องตรวจจับ darknetanimals.dataanimals.cfganimalbest.weights -extoutput dog.jpg
-
* V3:
`ทุบตี
darknet01inference_images สัตว์ dog.jpg
-
*ดาร์คช่วยเหลือ:
`ทุบตี
DarkHelp --jsonanimals.cfganimals.namesanimals_best.weights dog.jpg
-
5. ประมวลผลวิดีโอ:
* V2:
`ทุบตี
การสาธิตเครื่องตรวจจับ darknetanimals.dataanimals.cfganimalbest.weights -extoutput test.mp4
-
* V3:
`ทุบตี
darknet03display_videosanimals.cfg test.mp4
-
*ดาร์คช่วยเหลือ:
`ทุบตี
DarkHelp Animals.cfganimals.namesanimals_best.weights test.mp4
-
6. การอ่านจากเว็บแคม:
* V2:
`ทุบตี
การสาธิตเครื่องตรวจจับ darknetanimals.dataanimals.cfganimals_best.weights -c 0
-
* V3:
`ทุบตี
darknet08display_webcam สัตว์
-
7. บันทึกผลลัพธ์ลงในวิดีโอ:
* V2:
`ทุบตี
การสาธิตเครื่องตรวจจับ darknetanimals.dataanimals.cfganimalbest.weights test.mp4 -outfilename res.avi
-
* V3:
`ทุบตี
darknet05กระบวนการวิดีโอแบบมัลติเธรดanimals.cfganimals.namesanimals_best.weights test.mp4
-
*ดาร์คช่วยเหลือ:
`ทุบตี
DarkHelp Animals.cfganimals.namesanimals_best.weights test.mp4
-
8. เจสัน:
* V2:
`ทุบตี
การสาธิตเครื่องตรวจจับ darknet Animals.data Animals.cfg Animalsbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
-
* V3:
`ทุบตี
darknet06imagestojson สัตว์ image1.jpg
-
*ดาร์คช่วยเหลือ:
`ทุบตี
DarkHelp --jsonanimals.namesanimals.cfganimals_best.weights image1.jpg
-
9. ทำงานบน GPU เฉพาะ:
* V2:
`ทุบตี
การสาธิตเครื่องตรวจจับ darknetanimals.dataanimals.cfganimals_best.weights -i 1 test.mp4
-
10. ตรวจสอบความถูกต้องของโครงข่ายประสาทเทียม:
`ทุบตี
แผนที่เครื่องตรวจจับ darknet การขับรถ.ข้อมูลการขับรถ.cfg Driving_best.weights ...
ชื่อรหัส AvgPrecision TP FN FP TN ความแม่นยำ อัตราข้อผิดพลาด ความจำเพาะในการเรียกคืนอย่างแม่นยำ FalsePosRate
-- ---- ------ ------ ------ ------ ------ -------- --------- --------- ------ ---------- ----------
0 คัน 91.2495 32648 3903 5826 65129 0.9095 0.0905 0.8486 0.8932 0.9179 0.0821
รถจักรยานยนต์ 1 คัน 80.4499 2936 513 569 5393 0.8850 0.1150 0.8377 0.8513 0.9046 0.0954
จักรยาน 2 คัน 89.0912 570 124 104 3548 0.9475 0.0525 0.8457 0.8213 0.9715 0.0285
3 คน 76.7937 7072 1727 2574 27523 0.8894 0.1106 0.7332 0.8037 0.9145 0.0855
จำนวน 4 คัน 64.3089 1068 509 733 11288 0.9087 0.0913 0.5930 0.6772 0.9390 0.0610
5 ไฟเขียว 86.8118 1969 239 510 4116 0.8904 0.1096 0.7943 0.8918 0.8898 0.1102
6 ไฟเหลือง 82.0390 126 38 30 1239 0.9525 0.0475 0.8077 0.7683 0.9764 0.0236
7ไฟแดง 94.1033 3449 217 451 4643 0.9237 0.0763 0.8844 0.9408 0.9115 0.0885
-
11. ตรวจสอบความถูกต้อง mAP@IoU=75:
`ทุบตี
แผนที่เครื่องตรวจจับ darknet Animals.data Animals.cfg Animalsbest.weights -iouthresh 0.75
-
12. การคำนวณจุดยึดใหม่ทำได้ดีที่สุดใน DarkMark เนื่องจากทำงาน 100 ครั้งติดต่อกัน และเลือกจุดยึดที่ดีที่สุดจากจุดยึดที่คำนวณทั้งหมด แต่ถ้าคุณต้องการใช้งานเวอร์ชันเก่าใน Darknet:
`ทุบตี
เครื่องตรวจจับ darknet calcanchors Animals.data -numof_clusters 6 - กว้าง 320 - สูง 256
-
13. ฝึกอบรมเครือข่ายใหม่:
`ทุบตี
เครื่องตรวจจับ darknet -map -dont_show รถไฟanimals.dataanimals.cfg
-
(ดูหัวข้อการฝึกอบรมด้านล่าง)
การฝึกอบรม
หมายเหตุจากตัวแก้ไข Downcodes: ลิงก์ด่วนไปยังส่วนที่เกี่ยวข้องของคำถามที่พบบ่อยของ Darknet/YOLO:
ฉันจะตั้งค่าไฟล์และไดเร็กทอรีของฉันได้อย่างไร?
ฉันควรใช้โปรไฟล์ใด
ฉันควรใช้คำสั่งใดในการฝึกเครือข่ายของตัวเอง?
หมายเหตุบรรณาธิการของ Downcodes: การใช้ DarkMark เพื่อสร้างไฟล์ Darknet ที่จำเป็นทั้งหมดเป็นวิธีที่ง่ายที่สุดในการติดป้ายกำกับและฝึกอบรม นี่เป็นวิธีที่แนะนำในการฝึกโครงข่ายประสาทเทียมใหม่อย่างแน่นอน
หมายเหตุจากโปรแกรมแก้ไข Downcodes: หากคุณต้องการตั้งค่าไฟล์ต่างๆ ด้วยตนเองเพื่อฝึกเครือข่ายที่กำหนดเอง:
1. สร้างโฟลเดอร์ใหม่เพื่อจัดเก็บไฟล์ ตัวอย่างเช่น โครงข่ายประสาทเทียมจะถูกสร้างขึ้นเพื่อตรวจจับสัตว์ ดังนั้นไดเร็กทอรีต่อไปนี้จะถูกสร้างขึ้น: ~/nn/animals/
2. คัดลอกไฟล์การกำหนดค่า Darknet ที่คุณต้องการใช้เป็นเทมเพลต ตัวอย่างเช่น ดูที่ cfg/yolov4-tiny.cfg วางไว้ในโฟลเดอร์ที่คุณสร้างขึ้น ตัวอย่างเช่น ตอนนี้เรามี ~/nn/animals/animals.cfg
3. สร้างไฟล์ข้อความanimals.namesในโฟลเดอร์เดียวกับที่คุณวางไฟล์การกำหนดค่า ตัวอย่างเช่น ตอนนี้เรามี ~/nn/animals/animals.names
4. ใช้โปรแกรมแก้ไขข้อความเพื่อแก้ไขไฟล์animals.names ระบุหมวดหมู่ที่คุณต้องการใช้ คุณต้องมีเพียงหนึ่งรายการต่อบรรทัด ไม่มีบรรทัดว่าง และไม่มีความคิดเห็น ตัวอย่างเช่น ไฟล์ .names จะมี 4 บรรทัดพอดี:
-
สุนัข
แมว
นก
ม้า
-
5. สร้างไฟล์ข้อความanimals.dataในโฟลเดอร์เดียวกัน ตัวอย่างเช่น ไฟล์ .data จะมี:
-
คลาส=4
train=/home/username/nn/animals/animals_train.txt
valid=/home/username/nn/animals/animals_valid.txt
ชื่อ=/home/ชื่อผู้ใช้/nn/animals/animals.names
backup=/home/username/nn/animals
-
6. สร้างโฟลเดอร์เพื่อจัดเก็บรูปภาพและคำอธิบายประกอบของคุณ ตัวอย่างเช่น นี่อาจเป็น ~/nn/animals/dataset รูปภาพแต่ละรูปต้องมีไฟล์ .txt ที่เกี่ยวข้องซึ่งอธิบายคำอธิบายประกอบสำหรับรูปภาพนั้น รูปแบบของไฟล์คำอธิบายประกอบ .txt มีความเฉพาะเจาะจงมาก คุณไม่สามารถสร้างไฟล์เหล่านี้ด้วยตนเองได้ เนื่องจากแต่ละป้ายกำกับต้องมีพิกัดที่แน่นอนของป้ายกำกับ ดู DarkMark หรือซอฟต์แวร์อื่นที่คล้ายคลึงกันเพื่อใส่คำอธิบายประกอบภาพของคุณ รูปแบบคำอธิบายประกอบ YOLO มีอธิบายอยู่ใน Darknet/YOLO FAQ
7. สร้างไฟล์ข้อความ "train" และ "valid" ที่มีชื่ออยู่ในไฟล์ .data ไฟล์ข้อความทั้งสองนี้จำเป็นต้องแสดงรายการรูปภาพทั้งหมดที่ Darknet ใช้เพื่อคำนวณ mAP% ในระหว่างการฝึกและการตรวจสอบตามลำดับ หนึ่งภาพต่อแถว เส้นทางและชื่อไฟล์อาจเป็นแบบสัมพัทธ์หรือแบบสัมบูรณ์ก็ได้
8. ใช้โปรแกรมแก้ไขข้อความเพื่อแก้ไขไฟล์ .cfg ของคุณ
9. ตรวจสอบให้แน่ใจว่าชุด = 64
10. ให้ความสนใจกับเขตการปกครอง ขึ้นอยู่กับขนาดเครือข่ายและจำนวนหน่วยความจำที่มีอยู่ใน GPU คุณอาจต้องเพิ่มการแบ่งย่อย ค่าที่ดีที่สุดที่จะใช้คือ 1 ดังนั้นให้เริ่มจากสิ่งนั้นเลย หาก 1 ไม่ได้ผลสำหรับคุณ โปรดดูคำถามที่พบบ่อยของ Darknet/YOLO
11. หมายเหตุ maxbatches=..... ความคุ้มค่าที่ดีที่จะใช้ในช่วงเริ่มต้นคือ 2,000 เท่าของจำนวนคลาส เช่น เรามีสัตว์ 4 ตัว ดังนั้น 4 * 2000 = 8000 ซึ่งหมายความว่าเราจะใช้ maxbatches=8000
12. หมายเหตุขั้นตอน=…. ควรตั้งค่าเป็น 80% และ 90% ของ maxbatches ตัวอย่างเช่น เนื่องจาก maxbatches ตั้งไว้ที่ 8000 เราจะใช้ขั้นตอน = 6400,7200
13. คำนึงถึงความกว้าง=... และความสูง=..... นี่คือมิติเครือข่าย คำถามที่พบบ่อยเกี่ยวกับ Darknet/YOLO อธิบายวิธีคำนวณขนาดที่เหมาะสมที่สุดที่จะใช้
14. ค้นหาอินสแตนซ์ทั้งหมดที่มีบรรทัด class=... และแก้ไขด้วยจำนวนคลาสในไฟล์ .names ตัวอย่างเช่น เราจะใช้ class=4
15. ในส่วน [convolutional] ก่อนแต่ละส่วน [yolo]