클라우드 기반 고성능 엣지/미들/서비스 프록시
Envoy는 CNCF(Cloud Native Computing Foundation)에서 호스팅합니다. 컨테이너 패키지, 동적 예약 및 마이크로서비스 지향 기술의 발전을 돕고자 하는 회사라면 CNCF 가입을 고려해 보세요. 관련 내용과 Envoy의 역할에 대해 알아보려면 CNCF 발표를 읽어보세요.
선적 서류 비치
Downcodes Editor의 참고 사항: Envoy에는 완전한 문서가 있으며 다음 리소스를 참조할 수 있습니다.
공식 문서
GitHub 저장소
관련된
다운코드 편집자 주: Envoy는 다음 기술과 밀접하게 관련되어 있습니다.
컨테이너 기술: Docker, Kubernetes
서비스 메시: Istio, Linkerd
마이크로서비스 아키텍처: gRPC, RESTful API
연락하다
다운코드 편집기 참고 사항: 다음 채널을 통해 Envoy 커뮤니티에 문의할 수 있습니다.
메일링 리스트
슬랙 채널
기여
다운코드 편집기 참고 사항: Envoy 프로젝트에 코드를 제공하려면 다음 단계를 참조하세요.
1. 코드 베이스에 익숙해지기: Envoy의 소스 코드를 읽고 구조와 디자인을 이해하세요.
2. 작업 선택: GitHub 저장소에서 관심 있는 작업을 선택합니다.
3. 코드 제출: Envoy의 코딩 스타일 사양을 따르고 코드를 제출하세요.
커뮤니티 미팅
다운코드 편집자 주: Envoy 커뮤니티는 태평양 표준시 기준 화요일 오전 9시에 한 달에 두 번 모임을 갖습니다.
구글캘린더
회의록
다운코드 편집자 참고 사항: 모든 커뮤니티 회원은 회의록에 문제를 추가하여 문제를 제기할 수 있습니다. 관리자는 24시간 이내에 주제를 확정할 것이며, 확정된 주제가 없는 회의일 경우 회의 시간 24시간 이내에 회의가 취소됩니다.
보안
다운코드 편집자의 참고 사항: Envoy 프로젝트는 보안 문제를 매우 중요하게 생각합니다.
보안 감사
다운코드 편집자의 참고 사항: Envoy 프로젝트는 여러 타사 보안 감사를 거쳤습니다.
보안 취약점 보고
다운코드 편집자의 참고사항: Envoy 프로젝트에서 보안 취약점을 발견한 경우 취약점 보고서를 [email protected]으로 보내주세요. 신고 내용을 확인하기 위해 확인 이메일을 보내드리며, 문제가 있는지 확인되면 추가 이메일을 보내드리겠습니다.
다운코드 편집기 참고 사항: 자세한 내용은 전체 보안 릴리스 프로세스를 참조하세요.
릴리스
다운코드 편집기 참고 사항: Envoy 버전 릴리스에 대한 자세한 내용은 릴리스 프로세스를 참조하세요.
예
`
Apache-2.0 라이센스
목차
다크넷 개체 탐지 프레임워크 및 YOLO
서류
일반 정보
다크넷 버전
MSCOCO 사전 훈련된 가중치
건물
구글 코랩
리눅스 CMake 방법
Windows CMake 메서드
다크넷 사용
CLI
훈련
기타 도구 및 링크
로드맵
단기 목표
중기 목표
장기 목표
다크넷 개체 탐지 프레임워크 및 YOLO
!다크넷 로고
!Hank.ai 로고
다운코드 편집자 주: Darknet은 C, C++ 및 CUDA로 작성된 오픈 소스 신경망 프레임워크입니다.
다운코드 편집자 주: YOLO(You Only Look Once)는 Darknet 프레임워크에서 실행되는 최첨단 실시간 표적 탐지 시스템입니다.
다운코드 편집자의 참고 사항: Hank.ai가 Darknet/YOLO 커뮤니티를 어떻게 돕는지 자세히 알아보세요.
다운코드 편집자 주: Darknet/YOLO 웹사이트
다운코드 편집자 주: Darknet/YOLO FAQ
다운코드 편집자 주: Darknet/YOLO Discord Server
서류
다운코드 편집자의 참고 사항: 다음은 YOLO에 관한 일부 논문입니다.
1. YOLOv7: 논문 링크
2. Scaled-YOLOv4: 논문 링크
3. YOLOv4: 논문 링크
4. YOLOv3: 논문 링크
일반 정보
다운코드 편집자 주: Darknet/YOLO 프레임워크는 다른 프레임워크 및 YOLO 버전보다 더 빠르고 정확합니다.
다운코드 편집기 참고 사항: 프레임워크는 완전 무료이며 오픈 소스입니다. 라이센스나 비용 없이 Darknet/YOLO를 상업용 제품을 포함한 기존 프로젝트 및 제품에 통합할 수 있습니다.
다운코드 편집자 주: 2024년 10월에 출시된 Darknet V3("Jazz")는 최대 1000FPS에서 LEGO 데이터 세트 비디오를 정확하게 실행할 수 있습니다. 즉, NVIDIA RTX 3090 GPU를 사용할 때 각 비디오 프레임이 1밀리초 내에 있거나 읽혀지고 크기가 조정되고 처리될 수 있음을 의미합니다. 더 짧은 시간에 Darknet/YOLO로.
다운코드 편집기 참고 사항: 도움이 필요하거나 Darknet/YOLO에 대해 논의하고 싶다면 Darknet/YOLO Discord 서버에 가입하세요: https://discord.gg/zSq8rtW
다운코드 편집기 참고 사항: Darknet/YOLO의 CPU 버전은 Raspberry Pi, 클라우드 서버 및 Colab 서버, 데스크톱, 노트북 및 고급 교육 장비와 같은 간단한 장치에서 실행될 수 있습니다. Darknet/YOLO의 GPU 버전에는 NVIDIA CUDA를 지원하는 GPU가 필요합니다.
다운코드 편집기 참고 사항: Darknet/YOLO는 Linux, Windows 및 Mac에서 실행되는 것으로 알려져 있습니다. 아래 빌드 지침을 참조하세요.
다크넷 버전
다운코드 편집자 주: Joseph Redmon이 2013~2017년에 작성한 원본 Darknet 도구에는 버전 번호가 없습니다. 우리는 이 버전을 0.x로 간주합니다.
다운코드 편집자 주: Alexey Bochkovskiy가 2017년부터 2021년까지 유지 관리하는 다음 인기 Darknet 저장소에도 버전 번호가 없습니다. 우리는 이 버전이 1.x라고 생각합니다.
다운코드 편집자 주: Hank.ai가 후원하고 2023년부터 Stéphane Charette가 관리하는 Darknet 저장소는 버전 명령이 있는 최초의 저장소입니다. 2023년부터 2024년 말까지 버전 2.x "OAK"로 돌아갑니다.
다운코드 편집기 참고 사항: 목표는 코드 베이스에 익숙해지면서 기존 기능의 중단을 최소화하는 것입니다.
다운코드 편집자 주: CMake를 사용하여 Windows 및 Linux에서 빌드하는 통합된 방법을 갖도록 빌드 단계를 다시 작성했습니다.
다운코드 편집자 주: C++ 컴파일러를 사용하도록 코드 베이스를 변환하세요.
다운코드 편집자 주: 훈련 중에 Chart.png가 향상되었습니다.
다운코드 편집기 참고 사항: 버그 수정 및 성능 관련 최적화는 주로 네트워크 훈련에 필요한 시간을 단축하는 것과 관련이 있습니다.
다운코드 편집기 참고 사항: 이 코드 베이스의 마지막 분기는 v2 분기의 버전 2.1입니다.
다운코드 편집자 주: 다음 개발 단계는 2024년 중반에 시작되어 2024년 10월에 출시될 예정입니다. 버전 명령은 이제 3.x "JAZZ"를 반환합니다.
다운코드 편집기 참고 사항: 이러한 명령 중 하나를 실행해야 하는 경우 언제든지 이전 v2 분기를 확인할 수 있습니다. 누락된 명령을 다시 추가하는 방법을 조사할 수 있도록 알려주시기 바랍니다.
다운코드 편집자 주: 오래되고 유지 관리되지 않는 많은 명령이 제거되었습니다.
다운코드 편집자 주: 훈련 및 추론 중 최적화를 포함하여 다양한 성능 최적화가 이루어졌습니다.
다운코드 편집자 참고 사항: 기존 C API가 수정되었습니다. 원본 Darknet API를 사용하는 애플리케이션에는 약간의 수정이 필요합니다: https://darknetcv.ai/api/api.html
다운코드 편집기 참고 사항: 새로운 Darknet V3 C 및 C++ API: https://darknetcv.ai/api/api.html
다운코드 편집자 주: src-examples의 새로운 애플리케이션 및 샘플 코드: https://darknetcv.ai/api/files.html
MSCOCO 사전 훈련된 가중치
다운코드 편집자 주: 편의를 위해 몇몇 인기 있는 YOLO 버전은 MSCOCO 데이터 세트에 맞게 사전 훈련되었습니다. 이 데이터 세트에는 80개의 카테고리가 있으며 텍스트 파일 cfg/coco.names에서 볼 수 있습니다.
다운코드 편집자 주: LEGO Gears 및 Rolodex와 같이 Darknet/YOLO를 테스트하는 데 사용할 수 있는 몇 가지 더 간단한 데이터 세트와 사전 훈련된 가중치가 있습니다. 자세한 내용은 Darknet/YOLO FAQ를 참조하세요.
다운코드 편집기 참고 사항: MSCOCO 사전 훈련된 가중치는 여러 다른 위치 또는 이 저장소에서 다운로드할 수 있습니다.
1. YOLOv2, 2016년 11월:
*YOLOv2-작은
*YOLOv2-전체
2. YOLOv3, 2018년 5월:
* YOLOv3-작은
*YOLOv3-전체
3. YOLOv4, 2020년 5월:
* YOLOv4-작은
*YOLOv4-전체
4. YOLOv7, 2022년 8월:
* YOLOv7-작은
*YOLOv7-전체
다운코드 편집기 참고 사항: MSCOCO 사전 훈련된 가중치는 데모 목적으로만 사용됩니다. MSCOCO에 해당하는 .cfg 및 .names 파일은 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 video1. avi
`
다운코드 편집자 주: 사람들은 자신의 네트워크를 훈련해야 한다는 점에 유의하십시오. MSCOCO는 모든 것이 제대로 작동하는지 확인하는 데 자주 사용됩니다.
건물
다운코드 편집자 참고 사항: 과거(2023년 이전)의 다양한 빌드 방법이 통합 솔루션으로 병합되었습니다. Darknet에서는 C++17 이상, OpenCV 및 CMake를 사용하여 필요한 프로젝트 파일을 생성해야 합니다.
다운코드 편집자 주: Darknet/YOLO를 구축, 설치, 실행하기 위해 C++를 알 필요는 없습니다. 마치 자동차를 운전하기 위해 정비공이 될 필요가 없는 것과 같습니다.
구글 코랩
다운코드 편집기 참고 사항: Google Colab에 대한 지침은 Linux에 대한 지침과 동일합니다. 새로운 네트워크 훈련과 같은 특정 작업을 수행하는 방법을 보여주는 여러 Jupyter Notebook이 있습니다.
다운코드 편집자 주: colab 하위 디렉터리에 있는 노트북을 확인하거나 아래 Linux 지침을 따르세요.
리눅스 CMake 방법
다운코드 편집자 주: Darknet의 Linux 빌드 튜토리얼
다운코드 편집자 주: 선택 사항: 최신 NVIDIA GPU가 있는 경우 지금 CUDA 또는 CUDA+cuDNN을 설치할 수 있습니다. 설치된 경우 Darknet은 GPU를 사용하여 이미지(및 비디오) 처리를 가속화합니다.
다운코드 편집자 참고 사항: CMake가 필요한 모든 파일을 다시 찾도록 하려면 Darknet 빌드 디렉터리에서 CMakeCache.txt 파일을 삭제해야 합니다.
다운코드 편집기 참고 사항: Darknet을 다시 빌드하는 것을 잊지 마세요.
다운코드 편집자 주: Darknet을 실행할 수 있지만 사용자 정의 네트워크를 교육하려면 CUDA 또는 CUDA+cuDNN이 필요합니다.
다운코드 편집기 참고 사항: https://developer.nvidia.com/cuda-downloads를 방문하여 CUDA를 다운로드하고 설치하세요.
다운코드 편집기 참고 사항: https://developer.nvidia.com/rdp/cudnn-download 또는 https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn-package-manager-를 방문하세요. 설치 개요 cuDNN을 다운로드하고 설치합니다.
다운코드 편집기 참고 사항: CUDA를 설치한 후 nvcc 및 nvidia-smi를 실행할 수 있는지 확인하세요. PATH 변수를 수정해야 할 수도 있습니다.
다운코드 편집기 참고 사항: 나중에 CUDA 또는 CUDA+cuDNN을 설치하거나 최신 버전의 NVIDIA 소프트웨어로 업그레이드하는 경우:
다운코드 편집기 참고 사항: 이 지침에서는 Ubuntu 22.04를 실행하는 시스템을 가정합니다(필수는 아닙니다!). 다른 배포판을 사용하는 경우 필요에 따라 조정하세요.
`배쉬
sudo apt-get 설치 빌드 필수 git libopencv-dev cmake
mkdir ~/srccd ~/src
자식 클론 https://github.com/hank-ai/darknetcd darknet
mkdir 빌드cd 빌드
cmake -DCMAKEBUILDTYPE=릴리스 ..
-j4 패키지 만들기
sudo dpkg -i darknet-VERSION.deb
`
다운코드 편집기 참고 사항: 이전 버전의 CMake를 사용하는 경우 위의 cmake 명령을 실행하기 전에 CMake를 업그레이드해야 합니다. Ubuntu에서 CMake를 업그레이드하려면 다음 명령을 사용하면 됩니다.
`배쉬
sudo apt-get purge cmakesudo snap install cmake --classic
`
다운코드 편집자 참고 사항: bash를 명령 셸로 사용하는 경우 여기에서 셸을 다시 시작해야 합니다. 물고기를 사용하는 경우 즉시 새 경로를 선택해야 합니다.
다운코드 편집자 주: 고급 사용자:
다운코드 편집자 주: DEB 파일 대신 RPM 설치 파일을 빌드하려면 CM_package.cmake에서 관련 줄을 참조하세요. make -j4 패키지를 실행하기 전에 다음 두 줄을 편집해야 합니다.
`
SET (CPACKGENERATOR "DEB")# SET (CPACKGENERATOR "RPM")
`
다운코드 편집기 참고 사항: Centos 및 OpenSUSE와 같은 배포판의 경우 CM_package.cmake에서 다음 두 줄을 다음으로 변경해야 합니다.
`
SET(CPACKGENERATOR "DEB")SET(CPACKGENERATOR "RPM")
`
다운코드 편집자 참고 사항: 설치 패키지를 설치하려면 빌드가 완료된 후 배포판의 일반 패키지 관리자를 사용하십시오. 예를 들어 Ubuntu와 같은 Debian 기반 시스템에서는 다음과 같습니다.
`배쉬
sudo dpkg -i darknet-2.0.1-Linux.deb
`
다운코드 편집기 참고 사항: .deb 패키지를 설치하면 다음 파일이 복사됩니다.
/usr/bin/darknet은 일반적인 Darknet 실행 파일입니다. CLI에서 darknet 버전을 실행하여 올바르게 설치되었는지 확인하세요.
/usr/include/darknet.h는 C, C++ 및 Python 개발자가 사용하는 Darknet API입니다.
/usr/include/darknet_version.h에는 개발자의 버전 정보가 포함되어 있습니다.
/usr/lib/libdarknet.so는 C, C++ 및 Python 개발자가 링크할 수 있는 라이브러리입니다.
/opt/darknet/cfg/...는 모든 .cfg 템플릿이 저장되는 곳입니다.
Downcodes Editor의 참고 사항: 이제 완료되었습니다! Darknet은 /usr/bin/에 구축되어 설치됩니다. 테스트하려면 다음 명령을 실행하십시오: darknet version.
다운코드 편집자 주: /usr/bin/darknet이 없다면 설치하지 않고 방금 구축했다는 뜻입니다! .deb 또는 .rpm 파일을 설치하려면 위의 단계를 따르십시오.
Windows CMake 메서드
다운코드 편집자 참고 사항: 이 지침에서는 Windows 11 22H2를 새로 설치한다고 가정합니다.
다운코드 편집기 참고 사항: 일반 cmd.exe 명령 프롬프트 창을 열고 다음 명령을 실행합니다.
`배쉬
Winget 설치 Git.Git
Winget 설치 Kitware.CMake
Winget 설치 nsis.nsis
Winget 설치 Microsoft.VisualStudio.2022.Community
`
다운코드 편집기 참고 사항: 이 시점에서는 C++ 애플리케이션에 대한 지원을 포함하도록 Visual Studio 설치를 수정해야 합니다.
1. "Windows 시작" 메뉴를 클릭하고 "Visual Studio 설치"를 실행합니다.
2. 편집을 클릭합니다.
3. C++를 사용한 데스크톱 개발을 선택하세요.
4. 오른쪽 하단 모서리에 있는 편집을 클릭한 다음 예를 클릭합니다.
다운코드 편집자 참고 사항: 모든 것이 다운로드되어 설치되면 Windows 시작 메뉴를 다시 클릭하고 VS 2022용 개발자 명령 프롬프트를 선택하세요. PowerShell을 사용하여 이러한 단계를 수행하지 마십시오. 그렇지 않으면 문제가 발생할 수 있습니다!
다운코드 편집자 주: 고급 사용자:
다운코드 편집자 참고 사항: 개발자 명령 프롬프트를 실행하는 것 외에도 일반 명령 프롬프트 또는 SSH를 사용하여 장치에 로그인하고 "Program FilesMicrosoft Visual Studio2022CommunityCommon7ToolsVsDevCmd.bat"를 수동으로 실행할 수도 있습니다.
다운코드 편집자 참고 사항: 위의 개발자 명령 프롬프트(PowerShell 아님!)를 실행한 후 다음 명령을 실행하여 OpenCV를 빌드하는 데 사용되는 Microsoft VCPKG를 설치합니다.
`배쉬
cd 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
`
다운코드 편집자 주: 이 마지막 단계를 실행하는 데 시간이 오래 걸릴 수 있으므로 기다려 주시기 바랍니다. 많은 것을 다운로드하고 구축해야 합니다.
다운코드 편집자 주: 고급 사용자:
다운코드 편집자 주: OpenCV를 빌드할 때 다른 많은 선택적 모듈을 추가해야 할 수도 있습니다. 전체 목록을 보려면 .vcpkg.exe 검색 opencv를 실행하세요.
다운코드 편집자 주: 선택 사항: 최신 NVIDIA GPU가 있는 경우 지금 CUDA 또는 CUDA+cuDNN을 설치할 수 있습니다. 설치된 경우 Darknet은 GPU를 사용하여 이미지(및 비디오) 처리를 가속화합니다.
다운코드 편집자 참고 사항: CMake가 필요한 모든 파일을 다시 찾도록 하려면 Darknet 빌드 디렉터리에서 CMakeCache.txt 파일을 삭제해야 합니다.
다운코드 편집기 참고 사항: Darknet을 다시 빌드하는 것을 잊지 마세요.
다운코드 편집자 주: Darknet을 실행할 수 있지만 사용자 정의 네트워크를 교육하려면 CUDA 또는 CUDA+cuDNN이 필요합니다.
다운코드 편집기 참고 사항: https://developer.nvidia.com/cuda-downloads를 방문하여 CUDA를 다운로드하고 설치하세요.
다운코드 편집기 참고 사항: https://developer.nvidia.com/rdp/cudnn-download 또는 https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#download-windows를 방문하여 다운로드하고 cuDNN을 설치하세요.
다운코드 편집기 참고 사항: CUDA를 설치한 후 nvcc.exe 및 nvidia-smi.exe를 실행할 수 있는지 확인하세요. PATH 변수를 수정해야 할 수도 있습니다.
다운코드 편집기 참고 사항: cuDNN을 다운로드한 후 bin, include 및 lib 디렉터리의 압축을 풀고 C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/[version]/에 복사합니다. 일부 파일을 덮어써야 할 수도 있습니다.
다운코드 편집기 참고 사항: 나중에 CUDA 또는 CUDA+cuDNN을 설치하거나 최신 버전의 NVIDIA 소프트웨어로 업그레이드하는 경우:
다운코드 편집기 참고 사항: CUDA는 Visual Studio 이후에 설치해야 합니다. Visual Studio를 업그레이드하는 경우 CUDA를 다시 설치해야 합니다.
다운코드 편집자 주: 이전 단계가 모두 성공적으로 완료되면 Darknet을 복제하고 구축해야 합니다. 또한 이 단계에서는 OpenCV 및 기타 종속성을 찾을 수 있도록 CMake에 vcpkg의 위치를 알려야 합니다.
`배쉬
CD C:src
자식 클론 https://github.com/hank-ai/darknet.gitcd darknet
mkdir 빌드cd 빌드
cmake -DCMAKEBUILDTYPE=릴리스 -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;구성=PACKAGE.vcxproj 릴리스
`
다운코드 편집자 참고 사항: CUDA 또는 cuDNN DLL(예: cublas64_12.dll) 누락에 대한 오류가 발생하는 경우 CUDA .dll 파일을 Darknet.exe와 동일한 출력 디렉터리에 수동으로 복사하세요. 예를 들어:
`배쉬
"C:프로그램 파일NVIDIA GPU Computing ToolkitCUDAv12.2bin*.dll" src-cliRelease 복사
`
다운코드 편집자 주: (이것은 예입니다! 실행 중인 버전이 무엇인지 확인하고 설치한 버전에 적합한 명령을 실행하십시오.)
다운코드 편집기 참고 사항: 파일이 복사되면 마지막 msbuild.exe 명령을 다시 실행하여 NSIS 설치 패키지를 생성합니다.
`배쉬
msbuild.exe /property:Platform=x64;구성=PACKAGE.vcxproj 릴리스
`
다운코드 편집자 주: 고급 사용자:
다운코드 편집기 참고 사항: cmake 명령의 출력은 일반 Visual Studio 솔루션 파일인 Darknet.sln입니다. msbuild.exe 대신 Visual Studio GUI를 자주 사용하여 프로젝트를 빌드하는 소프트웨어 개발자라면 명령줄을 무시하고 Visual Studio에서 Darknet 프로젝트를 로드할 수 있습니다.
다운코드 편집기 참고 사항: 이제 실행할 다음 파일이 있어야 합니다: C:srcDarknetbuildsrc-cliReleasedarknet.exe. 다음 명령을 실행하여 C:srcDarknetbuildsrc-cliReleasedarknet.exe 버전을 테스트합니다.
다운코드 편집자 주: Darknet, 라이브러리, 포함 파일 및 필요한 DLL을 올바르게 설치하려면 마지막 단계에서 구축된 NSIS 설치 마법사를 실행하세요. 빌드 디렉터리에 있는 darknet-VERSION.exe 파일을 참조하세요. 예를 들어:
`배쉬
darknet-2.0.31-win64.exe
`
다운코드 편집기 참고 사항: NSIS 설치 패키지를 설치하면 다음이 수행됩니다.
Darknet이라는 디렉터리를 만듭니다(예: C:Program FilesDarknet).
CLI 애플리케이션, darknet.exe 및 기타 샘플 애플리케이션을 설치합니다.
OpenCV의 파일과 같은 필수 타사 .dll 파일을 설치합니다.
다른 응용 프로그램에서 darknet.dll을 사용하려면 필요한 Darknet .dll, .lib 및 .h 파일을 설치하세요.
템플릿 .cfg 파일을 설치합니다.
Downcodes Editor의 참고 사항: 이제 완료되었습니다! 설치 마법사가 완료되면 C:Program FilesDarknet에 Darknet이 설치됩니다. 다음 명령을 실행하여 C:Program FilesDarknetbindarknet.exe 버전을 테스트합니다.
다운코드 편집자 주: C:/Program Files/darknet/bin/darknet.exe가 없다면 설치하지 않고 방금 구축했다는 뜻입니다! 이전 단계에서 NSIS 설치 마법사의 각 패널을 따라야 합니다.
다크넷 사용
CLI
다운코드 편집기 참고 사항: 다음은 Darknet에서 지원하는 모든 명령의 전체 목록이 아닙니다.
다운코드 편집기 참고 사항: Darknet CLI 외에도 Darknet/YOLO에 대한 대체 CLI를 제공하는 DarkHelp 프로젝트 CLI에 주의하세요. DarkHelp CLI에는 Darknet에는 없는 몇 가지 고급 기능도 있습니다. Darknet CLI와 DarkHelp CLI를 동시에 사용할 수 있으며 상호 배타적이지 않습니다.
다운코드 편집자 참고 사항: 아래 표시된 대부분의 명령에는 해당 .names 및 .cfg 파일이 있는 .weights 파일이 필요합니다. 자신만의 네트워크를 훈련시키거나(강력히 권장됩니다!), 다른 사람들이 훈련시켜서 무료로 사용할 수 있는 인터넷에서 신경망을 다운로드할 수 있습니다. 사전 학습 데이터 세트의 예는 다음과 같습니다.
LEGO Gears(이미지에서 개체 찾기)
Rolodex(이미지에서 텍스트 찾기)
MSCOCO(표준 80개 범주 표적 탐지)
다운코드 편집기 참고 사항: 실행할 명령은 다음과 같습니다.
1. 실행할 수 있는 일부 명령과 옵션을 나열합니다.
`배쉬
다크넷 도움말
`
2. 버전 확인:
`배쉬
다크넷 버전
`
3. 예측을 위해 이미지를 사용합니다.
* V2:
`배쉬
다크넷 감지기 테스트 cars.data cars.cfg cars_best.weights image1.jpg
`
* V3:
`배쉬
darknet02displayannotatedimages cars.cfg image1.jpg
`
*다크도움말:
`배쉬
DarkHelp cars.cfg cars.cfg cars_best.weights image1.jpg
`
4. 출력 좌표:
* V2:
`배쉬
다크넷 탐지기 테스트 Animals.data Animals.cfg Animalsbest.weights -extoutput dog.jpg
`
* V3:
`배쉬
darknet01inference_images 동물 개.jpg
`
*다크도움말:
`배쉬
DarkHelp --json Animals.cfg Animals.names Animals_best.weights dog.jpg
`
5. 프로세스 비디오:
* V2:
`배쉬
다크넷 탐지기 데모 Animals.data Animals.cfg Animalsbest.weights -extoutput test.mp4
`
* V3:
`배쉬
darknet03display_videos 동물.cfg 테스트.mp4
`
*다크도움말:
`배쉬
DarkHelp Animals.cfg Animals.names Animals_best.weights test.mp4
`
6. 웹캠에서 읽기:
* V2:
`배쉬
다크넷 탐지기 데모 Animals.data Animals.cfg Animals_best.weights -c 0
`
* V3:
`배쉬
darknet08display_webcam 동물
`
7. 결과를 비디오로 저장합니다:
* V2:
`배쉬
다크넷 탐지기 데모 Animals.data Animals.cfg Animalsbest.weights test.mp4 -outfilename res.avi
`
* V3:
`배쉬
darknet05프로세스비디오멀티스레드 동물.cfg 동물.이름 동물_최고.가중치 테스트.mp4
`
*다크도움말:
`배쉬
DarkHelp Animals.cfg Animals.names Animals_best.weights test.mp4
`
8. JSON:
* V2:
`배쉬
다크넷 탐지기 데모 Animals.data Animals.cfg Animalsbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
`
* V3:
`배쉬
darknet06imagestojson 동물 image1.jpg
`
*다크도움말:
`배쉬
DarkHelp --json Animals.names Animals.cfg Animals_best.weights image1.jpg
`
9. 특정 GPU에서 실행:
* V2:
`배쉬
다크넷 탐지기 데모 Animals.data Animals.cfg Animals_best.weights -i 1 test.mp4
`
10. 신경망의 정확성을 확인합니다.
`배쉬
다크넷 탐지기 지도 Driving.data Driving.cfg Driving_best.weights ...
ID 이름 AvgPrecision TP FN FP TN 정확도 ErrorRate 정밀도 재현율 특이성 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의 정확도를 확인하세요.
`배쉬
다크넷 탐지기 맵 Animals.data Animals.cfg Animalsbest.weights -iouthresh 0.75
`
12. 앵커 포인트 재계산은 DarkMark에서 가장 잘 수행됩니다. DarkMark는 연속으로 100번 실행되고 계산된 모든 앵커 포인트 중에서 가장 좋은 앵커 포인트를 선택하기 때문입니다. 그러나 Darknet에서 이전 버전을 실행하려면:
`배쉬
다크넷 탐지기 calcanchors Animals.data -numof_clusters 6 -너비 320 -높이 256
`
13. 새 네트워크를 교육합니다.
`배쉬
다크넷 탐지기 -map -dont_show 기차 동물.데이터 동물.cfg
`
(아래 교육 섹션도 참조하세요)
훈련
다운코드 편집기의 참고 사항: Darknet/YOLO FAQ의 관련 부분에 대한 빠른 링크:
파일과 디렉터리를 어떻게 설정합니까?
어떤 프로필을 사용해야 합니까?
자체 네트워크를 훈련할 때 어떤 명령을 사용해야 합니까?
다운코드 편집자 주: DarkMark를 사용하여 필요한 모든 Darknet 파일을 생성하는 것이 레이블을 지정하고 교육하는 가장 쉬운 방법입니다. 이는 확실히 새로운 신경망을 훈련하는 데 권장되는 방법입니다.
다운코드 편집기 참고 사항: 사용자 지정 네트워크를 교육하기 위해 다양한 파일을 수동으로 설정하려는 경우:
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
기차=/home/username/nn/animals/animals_train.txt
유효한=/home/username/nn/animals/animals_valid.txt
이름=/home/username/nn/animals/animals.names
백업=/홈/사용자 이름/nn/동물
`
6. 이미지와 주석을 저장할 폴더를 만듭니다. 예를 들어 ~/nn/animals/dataset일 수 있습니다. 각 이미지에는 해당 이미지에 대한 주석을 설명하는 해당 .txt 파일이 필요합니다. .txt 주석 파일의 형식은 매우 구체적입니다. 각 레이블에는 레이블의 정확한 좌표가 포함되어야 하기 때문에 이러한 파일을 수동으로 만들 수 없습니다. 이미지에 주석을 추가하려면 DarkMark 또는 기타 유사한 소프트웨어를 참조하십시오. YOLO 주석 형식은 Darknet/YOLO FAQ에 설명되어 있습니다.
7. .data 파일에 이름이 지정된 "train" 및 "valid" 텍스트 파일을 생성합니다. 이 두 텍스트 파일은 훈련 및 검증 중에 각각 mAP%를 계산하기 위해 Darknet에서 사용하는 모든 이미지를 나열해야 합니다. 행당 정확히 하나의 이미지입니다. 경로와 파일 이름은 상대적이거나 절대적일 수 있습니다.
8. 텍스트 편집기를 사용하여 .cfg 파일을 수정합니다.
9. 배치=64인지 확인하세요.
10. 세분화에 주의하세요. 네트워크 크기와 GPU에서 사용 가능한 메모리 양에 따라 세분화를 늘려야 할 수도 있습니다. 사용하기에 가장 좋은 값은 1이므로 그것부터 시작하세요. 1이 효과가 없다면 Darknet/YOLO FAQ를 참조하세요.
11. 참고 maxbatches=..... 처음에 사용하기 좋은 값은 클래스 수의 2000배입니다. 예를 들어, 동물이 4마리 있으므로 4 * 2000 = 8000입니다. 이는 maxbatches=8000을 사용한다는 의미입니다.
12. 참고 단계=… 이는 maxbatch의 80%와 90%로 설정되어야 합니다. 예를 들어 maxbatches가 8000으로 설정되었으므로 steps=6400,7200을 사용합니다.
13. 너비=...와 높이=.....에 주의하세요. 이는 네트워크 차원입니다. Darknet/YOLO FAQ에서는 사용할 최적의 크기를 계산하는 방법을 설명합니다.
14. class=... 줄이 포함된 모든 인스턴스를 검색하고 .names 파일의 클래스 수로 수정합니다. 예를 들어, 클래스=4를 사용합니다.
15. 각 [yolo] 섹션 앞의 [convolutional] 섹션에서