Ubuntu20.04 + cuda11.1 + yolo3ターゲット検出ディープラーニングシステムは実際には0から構築されており、発生する可能性のあるさまざまなエラーが含まれています


この記事には多くのコンテンツが含まれています。各セクションの最後にあるカタログを参照して参照してください。または、このセクションで発生する可能性のある問題があります。

0.このチュートリアルを開始する前に、コンピューター上の重要なファイルをバックアップしてください。

1.Ubuntu20.04ビルド

詳細なコンテンツについては、次のブログを参照してください:https://www.cnblogs.com/masbay/p/10745170.html

私のコンピューターはUEFINEW BIOS +デュアルハードドライブ(SSDソリッドステートドライブ+メカニカルハードドライブ)モードです。他の状況については、上記のブログを参照してください。

1.1Ubuntu用のスペースを準備する

1.1.1WIN10システムで空のディスクパーティションを作成する

1.1.1.1デスクトップに戻り、このコンピューターを右クリックして[管理]を選択すると、結果は次のようになります。

ここに画像の説明を挿入

1.1.1.2ディスク管理を入力して選択すると、結果は次のようになります。

ここに画像の説明を挿入

1.1.1.3通常最大のパーティションであるプライマリパーティションを選択し、右クリックして[圧縮]をクリックし、500Mに圧縮します

ここに画像の説明を挿入

圧縮後、500Mの空き容量が得られます。設定したサイズを覚えておいてください。ここでは500Mです。

これは1GBです。圧縮設定によって異なります。

1.1.2Ubuntuシステムのメインスペースの一部を準備する

上記の500MはCドライブに相当し、500Mを与えることができます。次に、システムのメインスペースを準備し、ハードディスクパーティションを直接スペースとして使用するか、インストール時にフォーマットするか、DiskGeniusを使用して作成する必要があります。-パーティションを分割します。W

ダウンロードリンク:https://www.diskgenius.cn/download.php

1.2、UbuntuのUディスクインストールファイルを作成します

1.2.1フロッピーディスクリンクをダウンロードしてインストールして開き、Uディスクを接続します。後でフォーマットする必要があるため、Uディスクをバックアップすることをお勧めします。

ダウンロードリンクhttps://cn.ultraiso.net/xiazai.html

1.2。2フロッピーディスクのリンクを入力し、次の操作を実行してファイルを選択し、ダウンロードしたubuntuがあるディレクトリを開いて、unbuntuミラーを選択します

ここに画像の説明を挿入ここに画像の説明を挿入

1.2.3図に示すように、FDDインターフェイスのメニューバーで[開始]を選択し、[ハードディスクイメージの書き込み]を選択します。

ここに画像の説明を挿入
将来のインターフェースを入力してください

1.2.4以下を確認してください。

  • ハードドライブがUディスクに対応しているかどうかを確認します(必ず対応する必要があります)。通常、デフォルトは
  • 画像ファイルがubuntuミラーに対応しているかどうかを確認します
  • 上記にエラーがない場合は、フォーマットを選択すると、Uディスクがフォーマットされます
  • Uディスクがフォーマットされたら、[書き込み]を選択し、書き込みが完了するのを待ってゆっくり待ちます。

1.3Uディスクインストールシステム

1.3.1コンピュータのマザーボードのBIOSに入る方法を確認します。私のものはLenovoノートブックです。起動時にF12を押します。他のノートブックについては、次の図を参照してください(BIOSに入ることができない場合は、このチュートリアルであなたに適していない、最初にそれを学びなさい。基本を学びなさい)

ここに画像の説明を挿入

1.3.2 BIOSで行うことは2つあり、どちらも非常に重要です。

1.3.2.1ブートマネージャでセキュアブートを閉じます!(一部のセキュアブートは別の場所にあります。自分で見つけてください)

オフにしないと、グラフィックドライバのインストールに問題が発生する可能性があります

1.3.2.2コンピュータの起動シーケンスを設定し、起動するUSB​​を選択して、再起動します

ここに画像の説明を挿入

1.3.3 Ubuntuインストールシステムに入り、中国語を選択すると、「インストールタイプ」オプションが満たされるまで、状況に応じて設定されたいくつかの一般的な設定があります

インストール時間を節約するためにインターネットに接続しないことを選択でき、インストールの途中でインターネットをスキップできます。
ここに画像の説明を挿入

1.3.3インストールタイプで「その他のタイプ」を選択してください!!非常に重要です!!インターフェースは異なる場合がありますが、内容はそれほど悪くはありません

ここに画像の説明を挿入

1.3.4手動パーティション分割、整理したインストールシステムの500Mを覚えていますか?それを選択し、マウントポイントで/ bootを選択します。選択できない状況が発生した場合は、左下隅に+と-があります。再分割することができます

ここに画像の説明を挿入

ここに画像の説明を挿入

1.3.5予約したメインパーティションでマウントポイントを選択します/選択できない状況が発生した場合は、左下隅に+と-があり、再分割できます

1.3.6次に、インストールを開始するか、必要に応じて設定するか、影響を与えずに直接続行するかを選択します。最後は、システムユーザーを設定し、入力を自分で設定するだけです。

ここに画像の説明を挿入

1.3.7次に、インストールが完了するのを待ちます。図に示すように、インストールが完了する必要があります。

ここに画像の説明を挿入

1.3.8コンピュータを再起動すると、起動時にgrubに入ります。Windowsブートマネージャは元のWindowsシステムであり、対応するシステムを選択するだけです。

ここに画像の説明を挿入

1.4考えられる問題

1.4.1 DiskGeniusは、再パーティション化時に「$ Bitmapに未使用のクラスターが使用済みとしてマークされている」と検出しました

ここに画像の説明を挿入
解決策管理者を使用してcmdを実行し、コマンドラインに「chkdsk / f / xc:」と入力し、最後のc:をチェックする必要のあるドライブ文字に置き換えます。
「占有されてアンインストールできません」が発生し場合は、ブートは確認、確認、再起動するように求められます

1.4.2 Windows Boot Managerはシステムにアクセスできず、後でシステム回復インターフェイスに入り、[Windowsの起動を続行]をクリックしてこのプロセスを繰り返します。

ここでの状況はもっと複雑ですが、Windowsブートプログラムに問題がある可能性があります。
次の方法を試すことができます。

  1. Windows用のブートディスクを作成します。ここでは、古いMaotaoの愚か者のようなインストールを試すことができ、ブート修復ツールも後で使用できます。フルバージョンをダウンロードhttps://www.laomaotao.net/
  2. 1.3.1と同じ方法で、winpeと入力します
  3. 古いマオタオのブートエリアを使用して、ワンクリックで修復できます

2.NVIDIAドライバーをインストールします

ここで使用する方法は、ドライバーとcudaを別々にインストールすることです。まず、グラフィックカードのモデルとサポートされているcudaのバージョンを確認します。NVIDIAコントロールパネルなしで
https://jingyan.baidu.com/article/6fb756ec4fabc4241858fbf7.html
参照できます。、Windowsに移動するだけでドライバをインストールします

2.1公式ウェブサイトからドライバーの.runファイルをダウンロードします

https://www.nvidia.com/Download/index.aspx?lang=cn

2.2ターミナルを開き、次のコマンドを入力して古いドライバーを削除します

sudo apt-get purge nvidia*

2.3nouveauを無効にする

2.3.1最初にコマンドラインを使用してblacklist.confを開き、ファイルの最後にコンテンツを追加します

sudo gedit /etc/modprobe.d/blacklist.conf

2.3.2ファイルの最後に次のコンテンツを追加します

ブラックリストの新しい
オプション新しいモードセット= 0

2.3.3次に更新

 sudo update-initramfs -u

2.3.4最終再起動

ターミナルでコマンドlsmod | grep nouveauを入力して、無効になっているかどうかを確認します。無効化が成功したことを示す出力はありません。

2.4インストール関連の依存関係

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

2.5グラフィカルインターフェイスを無効にする

使用
CRTL + ALT + F1〜F6オープンTTYインタフェース、ログインするためのユーザー名とパスワードを入力し
、使用します

sudo service lightdm stop

グラフィカルインターフェイスを無効にします。

2.6.runファイルに実行権限を付与する

sudo chmod 775 ****.run

2.7インストールファイルを実行します。基本的には問題ありません。opengl関連をインストールしないように注意してください。

sudo sh ./NVIDIA-Linux-***.run --no-opengl-files

2.8ドライブをハングアップする

modprobe nvidia

2.9インストールが完了しました。確認してください

sudo nvidia-smi

以下は、インストールが成功したことを示しているようです
ここに画像の説明を挿入

2.10考えられる問題

2.10.1セキュアブート関連の登録を求めるプロンプト

インストールを終了し、BIOSに入り、セキュアブートを閉じます。詳細については、1.3.2.1を参照してください。

3cuda11.1をインストールします

3.1まず、グラフィックカードでサポートされているcudaバージョンを確認し、ダウンロードします

cudaダウンロードアドレス:https://developer.nvidia.com/zh-cn/cuda-downloads

3.2.runファイルを実行します

sudo sh cuda_9.0.176_384.81_linux.run

3.3受け入れを入力できるものもあれば、はいを選択するものもあります。基本的には完全に統合されています。

3.4環境変数を設定する

3.4.1.bashrcファイルを開く

vim .bashrc

3.4.2テキストの最後に以下を追加します

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
export PATH=$PATH:/usr/local/cuda-9.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-9.0

3.4.3 vimを終了して、環境変数を更新します

source ~/.bashrc

3.5インストールの確認

入る

nvcc --version

次の図が表示された場合、インストールは成功しています
ここに画像の説明を挿入

4cudnnをインストールします

cudnnのインストールは非常に簡単です

4.1インストールファイルをダウンロードする

必要に応じてcudnnのインストールファイルをダウンロードします:https://developer.nvidia.com/rdp/cudnn-archive

4.2解凍すると、cudaという名前のフォルダーが表示され、現在のディレクトリでターミナルを開いて、次のコマンドを実行できます。

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
 
sudo chmod a+r /usr/local/cuda/include/cudnn.h
 
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

4.3インストールを確認し、ターミナルに入力します

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

下の図を見ると、インストールは成功しています
ここに画像の説明を挿入

5opencvをインストールします

5.1cmakeをインストールする

sudo apt-get install cmake

5.2インストールに依存する環境

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

5.3必要なopencvバージョンをダウンロードする

私はUbuntu20.04 + NVIDIAドライブ460.39+ cuda11.1ですが、opencv-2.4.11のインストール時に深刻な問題が発生しました。解決できません。opencv-3.4.13を再インストールすることで解決しました。特別なバージョン要件がない場合は、最初にopencv-3.4.13を検討できます。

ダウンロードアドレス:https://opencv.org/releases/
[ソース]をクリックして、必要なバージョンをダウンロードします
ここに画像の説明を挿入

5.4ファイルを解凍し、フォルダに入ります

5.5フォルダに入った後、buildという名前の新しいフォルダを作成して入力します

mkdir build
cd build

5.6 cmake(このステップで多くの問題が発生する可能性があります。このセクションの後半の一般的な問題を参照してください)

sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local..

5.7コンパイル、時間がかかります、マルチスレッドを使用できます

sudo make -j8

5.8インストールを実行する

sudo make install

5.9構成環境

gedit open /etc/ld.so.conf

sudo gedit /etc/ld.so.conf

geditは/etc/ld.so.confを開きます。このコマンドを実行すると、空のファイルが開く場合があります。ファイルの最後に追加するだけで、心配はいりません。

/usr/local/lib  

gedit open /etc/ld.so.conf

sudo ldconfig  

bashを構成する

sudo gedit /etc/bash.bashrc  

最後に追加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH  

保存して、次のコマンドを実行し、構成を有効にします

source /etc/bash.bashrc  

更新

sudo updatedb  

5.10インストールの確認

opencv-3.4.1 / samples / cpp / example_cmakeディレクトリにcdし、次のコマンドを順番に実行します

cmake .
make
./opencv_example

カメラの電源がオンになっていて、左上隅にhello opencvがあることがわかります。これは、構成が成功したことを意味します。
ここに画像の説明を挿入

5.11考えられる問題

opencv-2.4.11のインストール中に以下の問題が発生しましたが、解決後も正しくインストールできません。バージョンをopencv-3.4.13に変更しても、問題はありません。

5.11.1 sys /videoio.hが見つかりません

usr / includeで次のコマンドを実行するには

sudo mkdir sys

オンラインで見つかったvideoio.hをsysフォルダーに追加するか、新しいvideoio.hファイルを直接作成します。コンテンツは空にすることができ、解決できます。

5.11.2 linux /videodev.hが見つかりません

sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h

5.11.3 ffmpeg /avformat.hが見つかりません

sudo ln -s /usr/local/include/libavformat ffmpeg

6ダークネットをインストールします

6.1ダークネットのダウンロード

git clone https://github.com/pjreddie/darknet     下载代码

6.2yolo3構成ファイルのダウンロード

wget https://pjreddie.com/media/files/yolov3.weights

6.3ダウンロードしたダークネットフォルダに入り、Makefileを開いて、次の場所を変更します

ここで、ARCH = -gencode arch = compute_61、code = [sm_61、compute_61]は、GPUモデルの計算能力に応じて設定されます。GPUの計算能力は、以下のリンクから確認できます。GTX1080Tiの計算能力は6.1なので、61に設定します。他のモデルを比較して変更します。
https://developer.nvidia.com/cuda-gpus

ここに画像の説明を挿入

6.5コンパイル

make -j8

6.6確認し、darknetディレクトリでターミナルを開いて、次のように入力します。

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

次の図は成功を示しているように見えます
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_39791850/article/details/114076964