Microsoft Cognitive Toolkit (CNTK) - CPU e GPU
O Microsoft Cognitive Toolkit oferece duas versões de compilação diferentes, ou seja, somente CPU e somente GPU.
Versão de compilação apenas para CPU
A versão compilada apenas para CPU do CNTK usa o Intel MKLML otimizado, onde MKLML é o subconjunto de MKL (Math Kernel Library) e lançado com Intel MKL-DNN como uma versão finalizada do Intel MKL para MKL-DNN.
GPU apenas compilar versão
Por outro lado, a versão compilada apenas para GPU do CNTK usa bibliotecas NVIDIA altamente otimizadas, como CUB e cuDNN. Ele oferece suporte a treinamento distribuído em várias GPUs e máquinas. Para um treinamento distribuído ainda mais rápido em CNTK, a versão de construção de GPU também inclui -
SGD quantizado de 1 bit desenvolvido por MSR.
Algoritmos de treinamento paralelo SGD de momento de bloco.
Habilitando GPU com CNTK no Windows
Na seção anterior, vimos como instalar a versão básica do CNTK para usar com a CPU. Agora vamos discutir como podemos instalar o CNTK para usar com uma GPU. Mas, antes de se aprofundar nisso, primeiro você deve ter uma placa de vídeo compatível.
No momento, o CNTK oferece suporte à placa de vídeo NVIDIA com pelo menos suporte CUDA 3.0. Para ter certeza, você pode verificar em https://developer.nvidia.com/cuda-gpus se sua GPU suporta CUDA.
Então, vamos ver as etapas para habilitar a GPU com CNTK no sistema operacional Windows -
Step 1 - Dependendo da placa de vídeo que você está usando, primeiro você precisa ter os drivers GeForce ou Quadro mais recentes para sua placa de vídeo.
Step 2 - Depois de baixar os drivers, você precisa instalar o kit de ferramentas CUDA versão 9.0 para Windows do site da NVIDIA https://developer.nvidia.com/cuda-90-download-archive?target_os=Windows&target_arch=x86_64. Após a instalação, execute o instalador e siga as instruções.
Step 3 - Em seguida, você precisa instalar os binários cuDNN do site da NVIDIA https://developer.nvidia.com/rdp/form/cudnn-download-survey. Com a versão CUDA 9.0, cuDNN 7.4.1 funciona bem. Basicamente, cuDNN é uma camada no topo do CUDA, usada pelo CNTK.
Step 4 - Depois de baixar os binários cuDNN, você precisa extrair o arquivo zip para a pasta raiz da instalação do kit de ferramentas CUDA.
Step 5- Esta é a última etapa que permitirá o uso da GPU dentro do CNTK. Execute o seguinte comando dentro do prompt do Anaconda no sistema operacional Windows -
pip install cntk-gpu
Ativando GPU com CNTK no Linux
Vamos ver como podemos habilitar GPU com CNTK no sistema operacional Linux -
Baixando o kit de ferramentas CUDA
Primeiro, você precisa instalar o kit de ferramentas CUDA do site da NVIDIA https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type = runfilelocal .
Executando o instalador
Agora, uma vez que você tenha binários no disco, execute o instalador abrindo um terminal e executando o seguinte comando e a instrução na tela -
sh cuda_9.0.176_384.81_linux-run
Modificar script de perfil Bash
Depois de instalar o kit de ferramentas CUDA em sua máquina Linux, você precisa modificar o script de perfil BASH. Para isso, primeiro abra o arquivo $ HOME / .bashrc no editor de texto. Agora, no final do script, inclua as seguintes linhas -
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
Installing
Instalando bibliotecas cuDNN
Por fim, precisamos instalar os binários cuDNN. Ele pode ser baixado do site da NVIDIAhttps://developer.nvidia.com/rdp/form/cudnn-download-survey. Com a versão CUDA 9.0, cuDNN 7.4.1 funciona bem. Basicamente, cuDNN é uma camada no topo do CUDA, usada pelo CNTK.
Depois de baixar a versão para Linux, extraia-a para o /usr/local/cuda-9.0 pasta usando o seguinte comando -
tar xvzf -C /usr/local/cuda-9.0/ cudnn-9.0-linux-x64-v7.4.1.5.tgz
Altere o caminho para o nome do arquivo conforme necessário.