序文最近、さまざまなグラフィック カード ドライバー バージョンに PaddlePaddle をインストールして使用する方法を学習しているので、Ubuntu で CUDA と CUDNN をインストールおよびアンインストールする方法も学習しています。学習プロセス中は、学習プロセスも記録しています。みんなに学びを提供しながら、自分自身の記憶も強化します。この記事では、CUDA 8.0 と CUDNN 7.05 のアンインストールを例に、CUDA 10.0 と CUDNN 7.4.2 のインストールを例に説明します。 グラフィックドライバーをインストールするnouveau ドライバーを無効にする sudo vim /etc/modprobe.d/blacklist.conf テキストの最後に追加します: ブラックリストヌーボー オプション nouveau modeset=0 次に以下を実行します: sudo アップデート-initramfs -u 再起動後、以下のコマンドを実行します。画面に出力がない場合は、nouveau が正常に無効化されていることを意味します。 lsmod | grep 初心者 ドライバーをダウンロード 公式ウェブサイトからのダウンロード アドレス: https://www.nvidia.cn/Download/index.aspx?lang=cn 、グラフィック カードに応じて対応するバージョンのグラフィック カード ドライバーをダウンロードします。たとえば、私のグラフィック カードは RTX2070 です。 ダウンロードが完了すると、インストール パッケージが提供されます。バージョンによってファイル名が異なる場合があります。 NVIDIA-Linux-x86_64-410.93.run 古いドライバーをアンインストールする コマンド インターフェイスでは、次の操作を実行する必要があります。コマンド インターフェイスに入り、ログインするには、次のショートカット キーを実行します。 Ctrl+Alt+F1 キー 次のコマンドを実行して X-Window サービスを無効にします。そうしないと、グラフィック ドライバーをインストールできません。 sudo サービス lightdm を停止します 元のグラフィック ドライバーをアンインストールするには、次の 3 つのコマンドを実行します。 sudo apt-get remove --purge nvidia* sudo chmod +x NVIDIA-Linux-x86_64-410.93.run sudo ./NVIDIA-Linux-x86_64-410.93.run --uninstall 新しいドライバーのインストール ドライバファイルを直接実行することで、新しいドライバをインストールできます。デフォルト設定で問題ありません。 sudo ./NVIDIA-Linux-x86_64-410.93.run X-Window サービスを開始するには、次のコマンドを実行します。 sudo サービス lightdm 開始 最後に、restart コマンドを実行してシステムを再起動します。 リブート 注意: システムの再起動後に繰り返しログインが発生する場合、ほとんどの場合、間違ったバージョンのグラフィック ドライバーがインストールされています。マシンにインストールされているグラフィック カードに対応するバージョンをダウンロードする必要があります。 CUDAをアンインストールする最初になぜ CUDA をアンインストールしたのでしょうか? これは、グラフィック カードを RTX2070 に変更したため、元々インストールされていた CUDA 8.0 と CUDNN 7.0.5 が正常に使用できなくなったためです。CUDA 10.0 と CUDNN 7.4.2 をインストールする必要があったため、最初に元の CUDA をアンインストールする必要がありました。以下のコマンドはすべて root ユーザーで実行されることに注意してください。 CUDA のアンインストールは非常に簡単で、コマンド 1 つだけで十分です。主な実行は、CUDA に付属するアンインストール スクリプトです。読者は、自分の CUDA バージョンに応じてアンインストール スクリプトを見つける必要があります。 sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl アンインストール後も、CUDA 8.0 で以前にインストールされたフォルダーがいくつか残っています。すべてをまとめて削除することもできます: sudo rm -rf /usr/local/cuda-8.0/ これにより、CUDA がアンインストールされます。 CUDAをインストールするインストールされている CUDA および CUDNN のバージョン:
以下のインストール手順はすべて root ユーザーで実行されます。 CUDAをダウンロードしてインストールする 公式サイトのCUDA10ダウンロードページからダウンロードできます。 ダウンロードが完了したら、ファイルに実行権限を付与します。 chmod +x cuda_10.0.130_410.48_linux.run インストールを開始するには、インストール パッケージを実行します。 ./cuda_10.0.130_410.48_linux.run インストールを開始したら、指示を読む必要があります。Ctrl (規約に同意しますか? インストールを続行するには同意する必要があります) 承諾/辞退/辞退: 承諾 (最新のドライバーがインストールされているため、ここでドライバーをインストールしないでください。そうしないと、古いバージョンのグラフィック ドライバーがインストールされ、ログインが繰り返される可能性があります) Linux-x86_64 410.48 用の NVIDIA アクセラレーテッド グラフィックス ドライバーをインストールしますか? (はい)/(いいえ)/(き): n CUDA 10.0 ツールキットをインストールしますか? (CUDA 10 をインストールしますか? これはインストールする必要があります。) (はい)/(いいえ)/(き): y ツールキットの場所を入力します (インストール パス、デフォルトを使用し、Enter キーを押すだけです) [ デフォルトは /usr/local/cuda-10.0 ]: /usr/local/cuda にシンボリック リンクをインストールしますか? (ソフト リンクの作成に同意します) (はい)/(いいえ)/(き): y CUDA 10.0 サンプルをインストールしますか? (テストをインストールする必要はありません。すでにインストールされています) (はい)/(いいえ)/(き): n /usr/local/cuda-10.0 に CUDA ツールキットをインストールしています... インストールが完了したら、環境変数を設定し、 CUDA_HOME=/usr/local/cuda-10.0 をエクスポートします。 LD_LIBRARY_PATH=${CUDA_HOME}/lib64 をエクスポートします。 PATH=${CUDA_HOME}/bin:${PATH}をエクスポートします 最後に、コマンド インストールされているバージョン情報を表示するには、 テスト@テスト:~$ nvcc -V nvcc: NVIDIA (R) Cuda コンパイラ ドライバー 著作権 (c) 2005-2018 NVIDIA Corporation Sat_Aug_25_21:08:01_CDT_2018 に作成 Cuda コンパイル ツール、リリース 10.0、V10.0.130 インストールが成功したかどうかをテストする次のコマンドを実行します。 /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery をコピーします。 作る ./デバイスクエリ 通常出力: ./deviceQuery 開始しています... CUDA デバイス クエリ (ランタイム API) バージョン (CUDART 静的リンク) CUDA 対応デバイスが 1 台検出されました デバイス0:「GeForce RTX 2070」 CUDA ドライバー バージョン / ランタイム バージョン 10.0 / 10.0 CUDA 機能メジャー/マイナー バージョン番号: 7.5 グローバルメモリの合計量: 7950 MBytes (8335982592 バイト) (36) マルチプロセッサ、(64) CUDA コア/MP: 2304 CUDA コア GPU 最大クロック レート: 1620 MHz (1.62 GHz) メモリクロックレート: 7001 Mhz メモリバス幅: 256 ビット L2 キャッシュ サイズ: 4194304 バイト 最大テクスチャ次元サイズ (x,y,z) 1D=(131072)、2D=(131072, 65536)、3D=(16384, 16384, 16384) 最大レイヤー 1D テクスチャ サイズ、(数) レイヤー 1D=(32768)、2048 レイヤー 最大レイヤー 2D テクスチャ サイズ、(num) レイヤー 2D=(32768, 32768)、2048 レイヤー 定数メモリの合計量: 65536 バイト ブロックあたりの共有メモリの合計量: 49152 バイト ブロックごとに使用可能なレジスタの総数: 65536 ワープサイズ: 32 マルチプロセッサあたりの最大スレッド数: 1024 ブロックあたりの最大スレッド数: 1024 スレッド ブロックの最大次元サイズ (x,y,z): (1024, 1024, 64) グリッド サイズの最大次元サイズ (x,y,z): (2147483647, 65535, 65535) 最大メモリピッチ: 2147483647 バイト テクスチャアラインメント: 512 バイト 同時コピーとカーネル実行: 3 つのコピー エンジンで可能 カーネルの実行時間制限: はい 統合GPU共有ホストメモリ: いいえ ホストページロックメモリマッピングをサポート: はい サーフェスの配置要件: はい デバイスはECCをサポートしています: 無効 デバイスは統合アドレス指定 (UVA) をサポートしています: はい デバイスはコンピューティングプリエンプションをサポートしています: はい 協調カーネル起動をサポート: はい マルチデバイスCo-opカーネル起動をサポート: はい デバイス PCI ドメイン ID / バス ID / ロケーション ID: 0 / 1 / 0 計算モード: < デフォルト (複数のホスト スレッドが同時にデバイスで ::cudaSetDevice() を使用できます) > deviceQuery、CUDA ドライバー = CUDART、CUDA ドライバー バージョン = 10.0、CUDA ランタイム バージョン = 10.0、NumDevs = 1 結果 = 合格 CUDNNをダウンロードしてインストールする CUDNN の公式ダウンロード Web サイト (https://developer.nvidia.com/rdp/cudnn-download) にアクセスし、[ダウンロード] をクリックしてダウンロード バージョンの選択を開始します。もちろん、ダウンロードする前にログインする必要があります。バージョン選択インターフェイスは次のとおりです。Linux ダウンロード後は、次のように圧縮されたパッケージになります。 cudnn-10.0-linux-x64-v7.4.2.24.tgz 次に、次のコマンドで解凍します。 tar -zxvf cudnn-10.0-linux-x64-v7.4.2.24.tgz 解凍後、次のファイルを取得できます。 cuda/include/cudnn.h cuda/NVIDIA_SLA_cuDNN_サポート.txt cuda/lib64/libcudnn.so cuda/lib64/libcudnn.so.7 cuda/lib64/libcudnn.so.7.4.2 cuda/lib64/libcudnn_static.a 次の 2 つのコマンドを使用して、これらのファイルを CUDA ディレクトリにコピーします。 cuda/lib64/* /usr/local/cuda-10.0/lib64/ をコピーします。 cp cuda/include/* /usr/local/cuda-10.0/include/ コピーが完了したら、次のコマンドを使用して CUDNN のバージョン情報を表示できます。 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 テストインストール結果 この時点で、CUDA 10 と CUDNN 7.4.2 のインストールは完了です。 Pytorch の対応する GPU バージョンをインストールして、正常に使用できるかどうかをテストできます。次のようにインストールします。 pip3 インストール https://download.pytorch.org/whl/cu100/torch-1.0.0-cp35-cp35m-linux_x86_64.whl pip3 torchvision をインストール 次に、次の手順でインストールをテストします。 輸入トーチ torch.nnをnnとしてインポートする torch.nn.function を F としてインポートします。 torch.optim を optim としてインポートします。 torch.backends.cudnn を cudnn としてインポートします。 torchvisionからデータセットをインポートし、変換する クラスNet(nn.Module): __init__(self)を定義します。 super(Net, self).__init__() self.conv1 = nn.Conv2d(1, 10, カーネルサイズ=5) self.conv2 = nn.Conv2d(10, 20, カーネルサイズ=5) 自己.conv2_drop = nn.Dropout2d() 自己.fc1 = nn.Linear(320, 50) 自己.fc2 = nn.Linear(50, 10) def forward(self, x): x = F.relu(F.max_pool2d(self.conv1(x), 2)) x = F.relu(F.max_pool2d(self.conv2_drop(self.conv2(x)), 2)) x = x.view(-1, 320) x = F.relu(self.fc1(x)) x = F.dropout(x, トレーニング = self.training) x = 自己.fc2(x) F.log_softmax(x, dim=1) を返す def train(モデル、デバイス、train_loader、オプティマイザ、エポック): モデル.train() batch_idx、(データ、ターゲット) を enumerate(train_loader) で指定します。 データ、ターゲット = data.to(デバイス)、target.to(デバイス) オプティマイザ.zero_grad() 出力 = モデル(データ) 損失 = F.nll_loss(出力、ターゲット) 損失.後方() オプティマイザ.ステップ() batch_idx % 10 == 0の場合: print('トレーニングエポック: {} [{}/{} ({:.0f}%)]\t損失: {:.6f}'.format( エポック、batch_idx * len(データ)、len(train_loader.dataset)、 100. * batch_idx / len(train_loader)、 loss.item())) main() を定義します: cudnn.benchmark = 真 トーチ.マニュアル_シード(1) デバイス = torch.device("cuda") kwargs = {'num_workers': 1, 'pin_memory': True} トレーニングローダー = torch.utils.data.DataLoader( datasets.MNIST('../data', train=True, download=True, 変換 = transforms.Compose([ 変換.ToTensor()、 変換します。正規化します((0.1307,), (0.3081,)) ]))、 batch_size=64、shuffle=True、**kwargs) モデル = Net().to(デバイス) オプティマイザー = optim.SGD(model.parameters(), lr=0.01, momentum=0.5) エポックが範囲(1, 11)の場合: トレーニング(モデル、デバイス、train_loader、オプティマイザー、エポック) __name__ == '__main__' の場合: 主要() 以下の情報が正常に出力されればインストールされたことが証明されます。
参考文献https://developer.nvidia.com https://www.cnblogs.com/luofeel/p/8654964.html Ubuntu に CUDA と CUDNN をインストールおよびアンインストールする方法についての記事はこれで終わりです。Ubuntu に CUDA と CUDNN をインストールおよびアンインストールする方法についての詳細は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
私が長い間遭遇してきた問題を要約してみましょう。プロジェクトでは、フロントエンドをレンダリングするた...
ページネーションコンポーネントはWeb開発でよく使われるコンポーネントです。ページネーション機能を実...
1. 文法 場所 [=|~|~*|^~|@] /uri/ { ... } 2. 説明上記の構文から、...
デフォルトでは、Flash は常にページのトップレベルに表示されます。つまり、ページに DHTML ...
テーブルとは何ですか?テーブルは、データのキャリアである HTML テーブルです。以下は比較的標準的...
導入MySQL はレプリケーションを通じてストレージ システムの高可用性を実現します。現在、MySQ...
皆さんの時間は貴重だと承知しているので、プロセス コマンドを直接書き留めておきます。設定できます。原...
序文docker run がコンテナを作成して実行するときに、-p を使用してポート マッピング ル...
mysql 8.0.20 winx64.zip圧縮版のインストールチュートリアルは以下のように記録さ...
次のコマンドを使用して、MySQL Serverがインストールされているかどうかを確認します。 [r...
今日、mysql の公式サイトから mysql-5.7.18-winx64.zip をダウンロードし...
これは主に、場所パラメータのif判断の設定ジャンプです。迂回により、サーバーの負荷と圧力を軽減できま...
この記事では、jQuery キャンバスを使用して QR コード付きのポスターを生成するための具体的な...
この記事では、音楽プレーヤーを実装するためのVue.jsの具体的なコードを参考までに共有します。具体...
この記事では、書籍管理を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は次の...