クラウドネイティブの高性能エッジ/ミドル/サービス プロキシ
Envoy は Cloud Native Computing Foundation (CNCF) によってホストされており、コンテナー パッケージ化され、動的にスケジュールされ、マイクロサービス指向のテクノロジーの進化を支援したいと考えている企業の場合は、CNCF への参加を検討してください。 Envoy の関与とその役割については、CNCF の発表をお読みください。
ドキュメント
Downcodes Editor からのメモ: Envoy には完全なドキュメントがあり、次のリソースを参照できます。
公式ドキュメント
GitHub リポジトリ
関連している
Downcodes 編集者のメモ: Envoy は次のテクノロジーと密接に関連しています。
コンテナテクノロジー: Docker、Kubernetes
サービスメッシュ: Istio、Linkerd
マイクロサービス アーキテクチャ: gRPC、RESTful API
接触
Downcodes 編集者からのメモ: 次のチャネルを通じて Envoy コミュニティに連絡できます。
メーリングリスト
スラックチャンネル
貢献する
Downcodes エディターからのメモ: Envoy プロジェクトにコードを提供したい場合は、次の手順を参照してください。
1. コード ベースをよく理解します。Envoy のソース コードを読んで、その構造と設計を理解します。
2. タスクの選択: GitHub リポジトリで興味のあるタスクを選択します。
3. コードを送信する: Envoy のコーディング スタイル仕様に従って、コードを送信します。
コミュニティミーティング
Downcodes 編集者注: Envoy コミュニティは月に 2 回、火曜日の午前 9 時 (太平洋時間) に集まります。
Googleカレンダー
会議議事録
Downcodes 編集者からのメモ: コミュニティ メンバーは誰でも、会議議事録に問題を追加することで問題を提起できます。管理者は 24 時間以内にトピックを確認します。ミーティングに確認されたトピックがない場合、ミーティングは会議時間の 24 時間前までにキャンセルされます。
安全
Downcodes 編集者からのメモ: Envoy プロジェクトはセキュリティ問題を非常に重視しています。
セキュリティ監査
Downcodes 編集者からのメモ: Envoy プロジェクトは複数のサードパーティによるセキュリティ監査を受けています。
セキュリティ脆弱性の報告
ダウンコード編集者からのメモ: Envoy プロジェクトでセキュリティの脆弱性を発見した場合は、脆弱性レポートを [email protected] に送信してください。 レポートを確認するために確認メールを送信し、問題が存在するかどうかを確認したら追加のメールを送信します。
ダウンコード編集者からのメモ: 詳細については、完全な安全なリリース プロセスを参照してください。
リリース
ダウンコード編集者からのメモ: Envoy バージョンのリリースの詳細については、リリース プロセスを参照してください。
例
`
Apache-2.0ライセンス
目次
ダークネットオブジェクト検出フレームワークとYOLO
論文
一般情報
ダークネットバージョン
MSCOCO 事前トレーニング済み重み
建物
Googleコラボ
Linux CMake メソッド
Windows CMake メソッド
ダークネットの使用
CLI
トレーニング
その他のツールとリンク
ロードマップ
短期的な目標
中期目標
長期的な目標
ダークネットオブジェクト検出フレームワークとYOLO
!ダークネットのロゴ
!Hank.ai ロゴ
Downcodes 編集者のメモ: Darknet は、C、C++、および CUDA で書かれたオープンソースのニューラル ネットワーク フレームワークです。
Downcodes 編集者のメモ: YOLO (You Only Look Once) は、Darknet フレームワークで実行される最先端のリアルタイム ターゲット検出システムです。
Downcodes 編集者からのメモ: Hank.ai が Darknet/YOLO コミュニティにどのように役立つかについて詳しくご覧ください。
ダウンコード編集者のメモ: Darknet/YOLO Web サイト
ダウンコード 編集者メモ: ダークネット/YOLO FAQ
ダウンコード 編集者メモ: Darknet/YOLO Discord サーバー
論文
Downcodes 編集者からのメモ: 以下は YOLO に関するいくつかの論文です。
1. YOLOv7: 論文リンク
2. Scaled-YOLOv4: 論文リンク
3. YOLOv4: ペーパーリンク
4. YOLOv3: ペーパーリンク
一般情報
Downcodes 編集者のメモ: Darknet/YOLO フレームワークは、他のフレームワークや YOLO バージョンよりも高速で正確です。
Downcodes エディターからのメモ: このフレームワークは完全に無料で、オープンソースです。 Darknet/YOLO は、ライセンスや料金なしで、商用製品を含む既存のプロジェクトや製品に統合できます。
ダウンコード編集者注: 2024 年 10 月にリリースされた Darknet V3 (「ジャズ」) は、LEGO データセット ビデオを最大 1000 FPS で正確に実行できます。これは、NVIDIA RTX 3090 GPU を使用する場合、または読み取り、サイズ変更、処理が行われる場合、各ビデオ フレームが 1 ミリ秒であることを意味します。 Darknet/YOLO により短時間で実行できます。
Downcodes 編集者からのメモ: ヘルプが必要な場合、または Darknet/YOLO について議論したい場合は、Darknet/YOLO Discord サーバーに参加してください: https://discord.gg/zSq8rtW
Downcodes 編集者からのメモ: Darknet/YOLO の CPU バージョンは、Raspberry Pi、クラウド サーバー、Colab サーバー、デスクトップ、ラップトップ、ハイエンド トレーニング機器などの単純なデバイスで実行できます。 Darknet/YOLO の GPU バージョンには、NVIDIA CUDA をサポートする GPU が必要です。
Downcodes エディターからのメモ: Darknet/YOLO は、Linux、Windows、および Mac 上で実行されることが知られています。以下のビルド手順を参照してください。
ダークネットバージョン
Downcodes 編集者注: 2013 年から 2017 年に Joseph Redmon によって作成されたオリジナルの Darknet ツールにはバージョン番号がありませんでした。このバージョンは 0.x であると考えられます。
Downcodes 編集者の注: 2017 年から 2021 年まで Alexey Bochkovskiy によって管理され、次に人気のある Darknet リポジトリにもバージョン番号がありません。このバージョンは 1.x であると考えられます。
Downcodes 編集者注: Hank.ai が後援し、2023 年から Stéphane Charette によって保守されている Darknet リポジトリは、version コマンドを備えた最初のリポジトリです。 2023 年から 2024 年末までは、バージョン 2.x「OAK」に戻ります。
Downcodes エディターからのメモ: 目標は、コード ベースに慣れながら、既存の機能の中断を最小限に抑えることです。
Downcodes 編集者のメモ: CMake を使用して Windows と Linux 上でビルドするための統一された方法があるように、ビルド ステップを書き直しました。
ダウンコード編集者のメモ: C++ コンパイラを使用するようにコード ベースを変換します。
ダウンコード編集者のメモ: chart.png はトレーニング中に強化されました。
Downcodes エディターからのメモ: バグ修正とパフォーマンス関連の最適化は、主にネットワークのトレーニングに必要な時間の短縮に関連しています。
ダウンコード エディターからのメモ: このコード ベースの最後のブランチは、v2 ブランチのバージョン 2.1 です。
Downcodes 編集者注: 次の開発フェーズは 2024 年半ばに始まり、2024 年 10 月にリリースされる予定です。 version コマンドは 3.x "JAZZ" を返すようになりました。
Downcodes Editor からのメモ: これらのコマンドのいずれかを実行する必要がある場合は、いつでも以前の v2 ブランチをチェックアウトできます。不足しているコマンドを再度追加するよう調査いたしますので、お知らせください。
Downcodes 編集者のメモ: 多くの古い、メンテナンスされていないコマンドを削除しました。
ダウンコード編集者のメモ: トレーニングおよび推論中の最適化を含む、多くのパフォーマンスの最適化。
ダウンコード編集者のメモ: 古い 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 のテストに使用できる、より単純なデータセットと事前トレーニングされた重みが他にもいくつかあります。詳細については、ダークネット/YOLO FAQ を参照してください。
Downcodes エディターからのメモ: MSCOCO の事前トレーニングされた重みは、いくつかの異なる場所、またはこのリポジトリからダウンロードできます。
1. YOLOv2、2016 年 11 月:
*YOLOv2-tiny
*YOLOv2-フル
2. YOLOv3、2018 年 5 月:
* YOLOv3-tiny
*YOLOv3-フル
3. YOLOv4、2020 年 5 月:
* YOLOv4-tiny
*YOLOv4-フル
4. YOLOv7、2022 年 8 月:
* YOLOv7-tiny
*YOLOv7-フル
Downcodes 編集者からのメモ: 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.アビ
`
Downcodes 編集者のメモ: ユーザーは自分のネットワークをトレーニングする必要があることに注意してください。 MSCOCO は、すべてが適切に動作していることを確認するためによく使用されます。
建物
Downcodes 編集者注: 過去 (2023 年以前) のさまざまなビルド方法が、統合ソリューションに統合されました。 Darknet では、C++17 以降、OpenCV、および CMake を使用して必要なプロジェクト ファイルを生成する必要があります。
Downcodes 編集者のメモ: 車を運転するのに整備士である必要がないのと同じように、Darknet/YOLO を構築、インストール、または実行するために C++ の知識は必要ありません。
Googleコラボ
Downcodes エディターからのメモ: Google Colab の手順は Linux の手順と同じです。新しいネットワークのトレーニングなど、特定のタスクを実行する方法を示すいくつかの Jupyter ノートブックが利用可能です。
Downcodes 編集者のメモ: colab サブディレクトリのノートブックを参照するか、以下の Linux の手順に従ってください。
Linux CMake メソッド
Downcodes 編集者のメモ: Darknet の Linux ビルド チュートリアル
ダウンコード 編集者の注: オプション: 最新の NVIDIA GPU を使用している場合は、この時点で CUDA または CUDA+cuDNN をインストールできます。インストールされている場合、Darknet は GPU を使用して画像 (およびビデオ) 処理を高速化します。
Downcodes 編集者のメモ: CMake に必要なすべてのファイルを強制的に再検索させるには、Darknet ビルド ディレクトリから CMakeCache.txt ファイルを削除する必要があります。
Downcodes エディターからのメモ: Darknet を再構築することを忘れないでください。
Downcodes 編集者のメモ: 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 install build-essential git libopencv-dev cmake
mkdir ~/srccd ~/src
git clone https://github.com/hank-ai/darknetcd ダークネット
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 を使用している場合は、ここでシェルを再起動する必要があります。魚を使用している場合は、すぐに新しいパスを選択する必要があります。
ダウンコード編集者のメモ: 上級ユーザー向け:
Downcodes 編集者のメモ: DEB ファイルの代わりに RPM インストール ファイルをビルドする場合は、CM_package.cmake の関連する行を参照してください。 make -j4 package を実行する前に、次の 2 行を編集する必要があります。
`
SET (CPACKGENERATOR "DEB")# SET (CPACKGENERATOR "RPM")
`
Downcodes エディターからのメモ: Centos や OpenSUSE などのディストリビューションの場合、CM_package.cmake のこれら 2 行を次のように変更する必要があります。
`
SET (CPACKGENERATOR "DEB")SET (CPACKGENERATOR "RPM")
`
ダウンコード 編集者注: インストール パッケージをインストールするには、ビルドが完了したら、ディストリビューションの通常のパッケージ マネージャーを使用します。たとえば、Ubuntu などの Debian ベースのシステムでは次のようになります。
「バッシュ」
sudo dpkg -i darknet-2.0.1-Linux.deb
`
ダウンコード エディターからのメモ: .deb パッケージをインストールすると、次のファイルがコピーされます。
/usr/bin/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 テンプレートが保存されます。
ダウンコード編集者からのメモ: これで完了です。 Darknet は /usr/bin/ に構築され、インストールされます。次のコマンドを実行してテストします: ダークネット バージョン。
Downcodes 編集者のメモ: /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. 右下隅の「編集」をクリックし、「はい」をクリックします。
Downcodes 編集者の注: すべてがダウンロードされてインストールされたら、Windows の [スタート] メニューを再度クリックし、[VS 2022 の開発者コマンド プロンプト] を選択します。これらの手順の実行には PowerShell を使用しないでください。問題が発生する可能性があります。
ダウンコード編集者のメモ: 上級ユーザー向け:
ダウンコード 編集者注: 開発者コマンド プロンプトの実行に加えて、通常のコマンド プロンプトまたは SSH を使用してデバイスにログインし、「Program FilesMicrosoft Visual Studio2022CommunityCommon7ToolsVsDevCmd.bat」を手動で実行することもできます。
ダウンコード 編集者のメモ: 上記の開発者コマンド プロンプト (PowerShell ではありません!) を実行したら、次のコマンドを実行して、OpenCV のビルドに使用される Microsoft VCPKG をインストールします。
「バッシュ」
cd c:mkdir c:srccd c:src
git clone 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 編集者のメモ: OpenCV をビルドするときは、他の多くのオプション モジュールを追加する必要がある場合があることに注意してください。 .vcpkg.exe search opencv を実行して、完全なリストを表示します。
ダウンコード 編集者の注: オプション: 最新の NVIDIA GPU を使用している場合は、この時点で CUDA または CUDA+cuDNN をインストールできます。インストールされている場合、Darknet は GPU を使用して画像 (およびビデオ) 処理を高速化します。
Downcodes 編集者のメモ: CMake に必要なすべてのファイルを強制的に再検索させるには、Darknet ビルド ディレクトリから CMakeCache.txt ファイルを削除する必要があります。
Downcodes エディターからのメモ: Darknet を再構築することを忘れないでください。
Downcodes 編集者のメモ: 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/[バージョン]/ にコピーします。一部のファイルを上書きする必要がある場合があります。
ダウンコード エディターからのメモ: 後で CUDA または CUDA+cuDNN をインストールする場合、または NVIDIA ソフトウェアの新しいバージョンにアップグレードする場合:
ダウンコード エディターからの注意: CUDA は Visual Studio の後にインストールする必要があります。 Visual Studio をアップグレードする場合は、必ず CUDA を再インストールしてください。
Downcodes 編集者のメモ: これまでの手順がすべて正常に完了したら、Darknet のクローンを作成してビルドする必要があります。このステップでは、OpenCV やその他の依存関係を見つけられるように、vcpkg の場所を CMake に伝える必要もあります。
「バッシュ」
cd c:src
git clone https://github.com/hank-ai/darknet.gitcd ダークネット
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;Configuration=Release PACKAGE.vcxproj
`
ダウンコード 編集者のメモ: CUDA または cuDNN DLL (cublas64_12.dll など) が見つからないというエラーが表示された場合は、CUDA .dll ファイルを Darknet.exe と同じ出力ディレクトリに手動でコピーします。例えば:
「バッシュ」
「C:Program FilesNVIDIA GPU Computing ToolkitCUDAv12.2bin*.dll」をコピー src-cliRelease
`
ダウンコード編集者のメモ: (これは例です。実行しているバージョンを確認し、インストールしたものに適したコマンドを実行してください。)
ダウンコード エディターからのメモ: ファイルがコピーされたら、最後の msbuild.exe コマンドを再実行して NSIS インストール パッケージを生成します。
「バッシュ」
msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
`
ダウンコード編集者のメモ: 上級ユーザー向け:
ダウンコード エディターからのメモ: cmake コマンドの出力は、通常の Visual Studio ソリューション ファイル Darknet.sln であることに注意してください。プロジェクトのビルドに msbuild.exe ではなく Visual Studio GUI を頻繁に使用するソフトウェア開発者の場合は、コマンド ラインを無視して Visual Studio に Darknet プロジェクトをロードできます。
ダウンコード エディターからのメモ: これで、次のファイルを実行できるようになりました: C:srcDarknetbuildsrc-cli releasearknet.exe。次のコマンドを実行してテストします: C:srcDarknetbuildsrc-cli releasearknet.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 ファイルをインストールします。
ダウンコード編集者からのメモ: これで完了です。インストール ウィザードが完了すると、Darknet が C:Program FilesDarknet にインストールされます。次のコマンドを実行してテストします: C:Program FilesDarknetbindarknet.exe のバージョン。
Downcodes 編集者のメモ: C:/Program Files/darknet/bin/darknet.exe がない場合は、それをインストールしたのではなく、ビルドしただけであることを意味します。前のステップの NSIS インストール ウィザードの各パネルに従っていることを確認してください。
ダークネットの使用
CLI
Downcodes エディターからのメモ: 以下は、Darknet でサポートされているすべてのコマンドの完全なリストではありません。
Downcodes エディターからのメモ: Darknet CLI に加えて、Darknet/YOLO の代替 CLI を提供する DarkHelp プロジェクト CLI にも注意してください。 DarkHelp CLI には、Darknet にはない高度な機能がいくつかあります。 Darknet CLI と DarkHelp CLI は同時に使用できますが、相互に排他的ではありません。
Downcodes 編集者のメモ: 以下に示すほとんどのコマンドでは、対応する .name および .cfg ファイルを含む .weights ファイルが必要です。独自のネットワークをトレーニングすることも (強くお勧めします!)、他の人がトレーニングして自由に利用できるニューラル ネットワークをインターネットからダウンロードすることもできます。事前トレーニング データセットの例は次のとおりです。
レゴ ギア (画像内のオブジェクトを見つけます)
Rolodex (画像内のテキストを検索)
MSCOCO (標準 80 カテゴリのターゲット検出)
Downcodes Editor からのメモ: 実行するコマンドは次のとおりです。
1. 実行できるいくつかのコマンドとオプションをリストします。
「バッシュ」
ダークネットのヘルプ
`
2. バージョンを確認します。
「バッシュ」
ダークネットバージョン
`
3. 予測に画像を使用します。
* V2:
「バッシュ」
ダークネット ディテクタ テストcars.datacars.cfgcars_best.weights image1.jpg
`
* V3:
「バッシュ」
darknet02displayannotatedimagescars.cfg image1.jpg
`
*ダークヘルプ:
「バッシュ」
DarkHelp 車.cfg 車.cfg 車_ベスト.重み image1.jpg
`
4. 出力座標:
* V2:
「バッシュ」
ダークネット ディテクタ テスト Animals.data Animals.cfg Animalsbest.weights -extoutput Dog.jpg
`
* V3:
「バッシュ」
darknet01inference_images 動物 犬.jpg
`
*ダークヘルプ:
「バッシュ」
DarkHelp --json 動物.cfg 動物.名前 動物ベスト.重み 犬.jpg
`
5.ビデオを処理します:
* V2:
「バッシュ」
ダークネット ディテクタ デモ Animals.data Animals.cfg Animalsbest.weights -extoutput test.mp4
`
* V3:
「バッシュ」
darknet03display_videos 動物.cfg test.mp4
`
*ダークヘルプ:
「バッシュ」
DarkHelp 動物.cfg 動物.名前 動物ベスト.重みテスト.mp4
`
6. Webカメラからの読み取り:
* V2:
「バッシュ」
ダークネット検出器のデモ Animals.data Animals.cfg Animals_best.weights -c 0
`
* V3:
「バッシュ」
darknet08display_webカメラの動物
`
7. 結果をビデオに保存します。
* V2:
「バッシュ」
ダークネット ディテクタ デモ Animals.data Animals.cfg Animalsbest.weights test.mp4 -outfilename res.avi
`
* V3:
「バッシュ」
darknet05processvideosマルチスレッド動物.cfg動物.名前動物_ベスト.重みテスト.mp4
`
*ダークヘルプ:
「バッシュ」
DarkHelp 動物.cfg 動物.名前 動物ベスト.重みテスト.mp4
`
8.JSON:
* V2:
「バッシュ」
ダークネット ディテクタ デモ Animals.data Animals.cfg Animalbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
`
* V3:
「バッシュ」
darknet06imagestojson 動物 image1.jpg
`
*ダークヘルプ:
「バッシュ」
DarkHelp --json 動物.名前 動物.cfg 動物ベスト.重み 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 Accuracy ErrorRate Precision Recall Specificity 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 で 100 回連続して実行され、計算されたすべてのアンカー ポイントから最適なアンカー ポイントが選択されるため、最もよく実行されます。ただし、ダークネットで古いバージョンを実行したい場合は、次のようにします。
「バッシュ」
ダークネット検出器 calcanchors 動物.データ -numof_clusters 6 -幅 320 -高さ 256
`
13. 新しいネットワークをトレーニングします。
「バッシュ」
ダークネット ディテクタ -map -dont_show train Animals.data Animals.cfg
`
(以下のトレーニングセクションも参照してください)
トレーニング
ダウンコード エディターからのメモ: ダークネット/YOLO FAQ の関連部分へのクイック リンク:
ファイルとディレクトリを設定するにはどうすればよいですか?
どのプロファイルを使用すればよいですか?
独自のネットワークをトレーニングする場合はどのコマンドを使用する必要がありますか?
Downcodes 編集者のメモ: 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 ファイルを編集します。使用するカテゴリをリストします。 1 行に 1 つのエントリのみが必要で、空白行やコメントは必要ありません。たとえば、.names ファイルにはちょうど 4 行が含まれます。
`
犬
猫
鳥
馬
`
5. 同じフォルダーにanimals.dataテキストファイルを作成します。たとえば、.data ファイルには次のものが含まれます。
`
クラス=4
train=/home/ユーザー名/nn/animals/animals_train.txt
valid=/home/ユーザー名/nn/animals/animals_valid.txt
names=/ホーム/ユーザー名/nn/animals/animals.names
バックアップ=/ホーム/ユーザー名/nn/animals
`
6. 画像と注釈を保存するフォルダーを作成します。たとえば、これは ~/nn/animals/dataset などです。各画像には、その画像の注釈を記述した対応する .txt ファイルが必要です。 .txt 注釈ファイルの形式は非常に特殊です。各ラベルにはラベルの正確な座標が含まれている必要があるため、これらのファイルを手動で作成することはできません。画像に注釈を付けるには、DarkMark または他の同様のソフトウェアを参照してください。 YOLO アノテーション形式については、Darknet/YOLO FAQ で説明されています。
7. .data ファイル内に名前を付けた「train」および「valid」テキスト ファイルを作成します。これら 2 つのテキスト ファイルには、トレーニング中と検証中にそれぞれ mAP% を計算するために Darknet によって使用されるすべての画像をリストする必要があります。 1 行に 1 つの画像のみ。パスとファイル名は相対パスまたは絶対パスにすることができます。
8. テキスト エディタを使用して .cfg ファイルを変更します。
9. バッチ = 64 であることを確認します。
10. 細分化に注意してください。ネットワークのサイズと GPU で利用可能なメモリの量に応じて、サブディビジョンを増やす必要がある場合があります。使用するのに最適な値は 1 なので、それから始めます。 1 が機能しない場合は、Darknet/YOLO FAQ を参照してください。
11. maxbatches=....に注意してください。最初に使用するのに適した値は、クラス数の 2000 倍です。たとえば、動物が 4 匹いるので、4 * 2000 = 8000 となります。これは、maxbatches=8000 を使用することを意味します。
12. 手順=…に注意してください。これは最大バッチの 80% と 90% に設定する必要があります。たとえば、maxbatches が 8000 に設定されているため、steps=6400,7200 を使用します。
13. width=... と height=.... に注意してください。これらはネットワークのディメンションです。 Darknet/YOLO FAQ では、使用する最適なサイズを計算する方法について説明しています。
14. 「classes=...」という行を含むすべてのインスタンスを検索し、.names ファイル内のクラスの数で変更します。たとえば、classes=4 を使用します。
15. 各 [yolo] セクションの前の [convolutional] セクション内