68416
Windows 10 Pro  
Docker for Windows(Hyper-V) version 19.03.8

上記の環境でGPUを使ったDeepLearning環境を構築したいです。  
（検索してもUbuntuの記事ばかりで困っています。）

Dockerfileは以下の通りです。

```

    FROM nvidia/cuda:10.2-cudnn7-runtime-ubuntu18.04
    RUN apt-get update && apt-get install -y \
    sudo \
    wget \
    vim
    WORKDIR /opt
    RUN wget https://repo.continuum.io/archive/Anaconda3-2020.02-Linux-x86_64.sh &&\
    sh /opt/Anaconda3-2020.02-Linux-x86_64.sh -b -p /opt/anaconda3 &&\
    rm -f Anaconda3-2020.02-Linux-x86_64.sh
    ENV PATH /opt/anaconda3/bin:$PATH
    
    RUN pip install --upgrade pip && pip install \
    keras==2.3 \
    scipy==1.4.1 \
    tensorflow-gpu==2.1
    WORKDIR /
    CMD ["jupyter","lab","--ip=0.0.0.0","--allow-root","--LabApp.token=''"]
    
```

エラーが以下の様に表示されました。

```

    C:\Program Files\Docker\Docker\resources\bin\docker.exe: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
    
```

ドライバが認識されていないようですが、CUDA Toolkit11を以下からインストール済みです。  
<https://developer.nvidia.com/cuda-downloads>

インストールされた中にドライバは入っているはずですが、どのようにすればよろしいでしょうか。  
また、DeepLearning用のおすすめDockerfileなどありましたら教えていただけますでしょうか。

どうぞよろしくおねがいします。
CC BY-SA 4.0
2020-07-08T17:21:38.783
68415
2020-07-09T00:41:02.667
2020-07-09T00:41:02.667
3060
12457
question
windows docker gpu
Windows10でDockerを使ってGPUを使ったDeepLearning環境を構築したい
ドライバをインストールするだけでは GPU が ホスト OS から利用できるようになるだけなので、更に Docker
から利用できるようにする必要があります。そして私の知る限り、2020 年 7 月現在これは Windows ではまだサポートされていない……はずです。

Linux をホスト OS とする環境では Docker から Nvidia 製 GPU を利用するのに nvidia-docker や nvidia-
container-runtime が使えますが、これらは Windows に対応していません:
<https://github.com/NVIDIA/nvidia-docker/wiki/Frequently-Asked-Questions#is-
microsoft-windows-supported>

また、Hyper-V を使った場合の Windows コンテナや Linux コンテナで GPU を利用する方法も、Windows
は現状サポートしていません:

> **Hyper-V-isolated Windows Container Support**  
>  GPU acceleration for workloads in Hyper-V-isolated Windows containers is
> not currently supported.
>
> **Hyper-V-isolated Linux Container Support**  
>  GPU acceleration for workloads in Hyper-V-isolated Linux containers is not
> currently supported.

<https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-
containers/gpu-acceleration>

他の将来的な方法として、WSL 2 が GPU サポートをする予定、というアナウンスがなされています:
<https://devblogs.microsoft.com/commandline/the-windows-subsystem-for-linux-
build-2020-summary/#wsl-gpu>
CC BY-SA 4.0
2020-07-08T22:24:56.810
68416
2020-07-09T00:39:36.253
2020-07-09T00:39:36.253
3060
19110
68415
answer