ドッカーコンテナに基づくニューラルネットワークを訓練NVIDIA、GPUを使用します

、NVIDIA K80ドライバのインストール

Viewサーバ情報の1、のNvidia(エヌビディア)、グラフィックスカード、コマンドlspciを| grepをNVIDIA

05:00.0 3Dコントローラ:NVIDIAコーポレーションGK210GL [テスラK80](REVのA1)

06:00.0 3Dコントローラ:NVIDIAコーポレーションGK210GL [テスラK80](REVのA1)

84:00.0 3Dコントローラ:NVIDIAコーポレーションGK210GL [テスラK80](REVのA1)

85:00.0 3Dコントローラ:NVIDIAコーポレーションGK210GL [テスラK80](REVのA1)

2、ダウンプレスおよびグラフィックスドライバをインストールし、同僚のホスト・オペレーティング・グループによるこのステップは、現在のバージョンを確認するには:ドライバのバージョン:396.37、実行NVIDIA-SMIこの情報が利用可能です。

NVIDIA-SMI 396.37ドライバのバージョン:396.37

このドライバのバージョンは、ピックの背後にある詳細の多くに影響を与えますので、次のインストールが、ドライバ(410以上)の新しいバージョンをインストールすることをお勧めします。

ドライバーのURL:https://www.nvidia.com/Download/index.aspx?lang=en-us

 

 

二、NVIDIA CUDA Toolkitのインストール

図1に示すように、前駆動、ダウンロードしてインストールするのに適した第一のCUDAツールキットバージョンに応じ。

ダウンロードURL:https://developer.nvidia.com/cuda-toolkit-archive

CUDAドライバと、以下に示すような対応関係:

主流の学習フレームワークは、これらのバージョンのための優れたパフォーマンスとサポートを持っているので、次のインストールは、我々は、バージョン10.0以上をインストールすることをお勧めし。

図2に示すように、使用CUDA DEVICEQUERYのインストール情報をそれらを得ることができます。

第三に、インストールcuDNN

1は、cuDNNは深いニューラルネットワークコンピューティング加速ライブラリ、URLのGPUであります:

https://developer.nvidia.com/rdp/cudnn-archive

CUDAの対応するバージョンを選択し、ダウンロードの抽出物は、CUDAディレクトリに対応しています。

須藤の CPの CUDA /含む/ cudnn.hは/ usr / local / CUDA /含む/
 須藤 CP CUDA / lib64に/ libcudnn *は/ usr / local / CUDA / lib64に/
 須藤 のchmod A + Rは/ usr / local / CUDA / / cudnnを含みます.Hは/ usr / local / CUDA / lib64に/ libcudnn *

***ホスト上のGPUを除き、NVIDIA場合は、上記の手順の後に、それが動作するように学習フレームワークをインストールすることができます。あなたは、コンテナで実行されている、より柔軟かつクリーンなアプリケーションを作りたい場合しかし、あなたはまた、次の操作を準備する必要があります。***

四、NVIDIA-docker2インストール

1、ドッキングウィンドウのプロジェクト、githubののURLのNvidiaのサポート:https://github.com/NVIDIA/nvidia-dockerこれは、組み込みの機能を拡張するのnvidia-docker2のドッキングウィンドウのアプリケーションを使用しています。アーキテクチャ次のように:

2、NVIDIA-docker2項ドッカー新しいバージョンがインストール、インストールされたバージョンCE-18.09.6-3。Nvidiaの-docker2はバージョン2.0.3-3をインストールしました。(私はいくつかのrpmパッケージのダウンロードを受けている、といつでも共有することができます)

インストールコマンド(rpmパッケージの依存関係が記載されていない、対処する必要があります):

Sudo yum install docker-ce-18.09.6-3.el7.x86_64.rpm
Sudo yum install nvidia-docker2-2.0.3-3.docker18.09.6.ce.noarch.rpm

3,在安装完成之后,有两个配置文件需要更改或新建:

a,/etc/systemd/system/docker.service.d/docker.conf

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --graph=/docker_data --storage-driver=overlay --insecure-registry harbor.xxxx.com.cn

graph参数指定docker镜像的存放目录,需要一个较大的硬盘空间。

b,/etc/docker/daemon.json

{
    "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

此文件为nvidia-docker2应用所需,用于替换docker的默认runc。

用两个文件来自定义docker配置,即可以替换runc,又可以提定内部仓库,合理~

4,当这些更改应用之后,再启动docker服务,使用docker info会看到相应的更改已生效。

...
Server Version: 18.09.6
Storage Driver: overlay
 Backing Filesystem: xfs
 Supports d_type: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Runtimes: nvidia runc
Default Runtime: nvidia
Docker Root Dir: /data05
Insecure Registries:
 harbor.xxxx.com.cn
 127.0.0.0/8

...

五,Docker镜像测试:

1,此次测试的镜像如下:

---anibali/pytorch:cuda-9.2

---tensorflow/tensorflow:1.12.0-gpu-py3

2,在服务器新装之后,如果有特别个性化的需求,可以考虑以anaconda镜像为基础进行自定义制作。

3,在以上两个镜像中,GPU加速的效果,都可以达到CPU的10倍左右。

 

六,使用K8S管理docker容器的部署

未完待续

おすすめ

転載: www.cnblogs.com/aguncn/p/10973249.html