Как установить CUDA в графических процессорах Google Colab

Кажется, что Google Colab GPU не поставляется с CUDA Toolkit, как я могу установить CUDA в Google Colab GPU. Я получаю эту ошибку при установке mxnet в Google Colab.

Installing collected packages: mxnet
Successfully installed mxnet-1.2.0

ОШИБКА: неполная установка для использования графических процессоров для вычислений. Пожалуйста, убедитесь, что у вас установлена ​​CUDA, запустите следующую строку в вашем терминале и попробуйте снова:

pip uninstall -y mxnet && pip install mxnet-cu90==1.1.0

Отрегулируйте "cu90" в зависимости от версии CUDA (также доступны "cu75" и "cu80"). Вы также можете полностью отключить использование графического процессора, вызвав turicreate.config.set_num_gpus(0). Возникла исключительная ситуация, используйте%tb для просмотра полной трассировки.

SystemExit: 1

9 ответов

Cuda не отображается на вашем ноутбуке, потому что вы не включили графический процессор в Colab.

Google Colab поставляется как с графическим процессором, так и без него. Вы можете включить или отключить графический процессор в настройках времени выполнения

Go to Menu > Runtime > Change runtime.

Измените аппаратное ускорение на GPU.

Чтобы проверить, работает ли графический процессор или нет, выполните следующую команду

!nvidia-smi

Если вывод похож на следующее изображение, это означает, что ваш графический процессор и cuda работают. Вы также можете увидеть версию cuda.

После этого, чтобы проверить, может ли PyTorch использовать графический процессор, запустите следующий код.

import torch
torch.cuda.is_available()
# Output would be True if Pytorch is using GPU otherwise it would be False.

Чтобы проверить, может ли TensorFlow использовать графический процессор, запустите следующий код.

import tensorflow as tf
tf.test.gpu_device_name()
# Standard output is '/device:GPU:0'

Я почти уверен, что в Google Colab предустановлена ​​Cuda... Вы можете убедиться, открыв новый блокнот и набрав !nvcc --version который вернул бы установленную версию Cuda.

Вот мой:

  1. Зайдите сюда: https://developer.nvidia.com/cuda-downloads
  2. Выберите Linux -> x86_64 -> Ubuntu -> 16.04 -> deb (локальный)
  3. Скопируйте ссылку с кнопки загрузки.
  4. Теперь вам нужно составить последовательность команд. Первым будет вызов wget, который загрузит установщик CUDA по ссылке, сохраненной на шаге 3
  5. В разделе "Базовый установщик" будет инструкция по установке. Скопируйте их, но удалите sudo со всех линий.
  6. Предисловие каждой строки с командами с !, вставьте в ячейку и запустите
  7. Для меня последовательность команд была следующей:
    !wget https://developer.nvidia.com/compute/cuda/9.2/Prod/local_installers/cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64 -O cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64.deb !dpkg -i cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64.deb !apt-key add /var/cuda-repo-9-2-local/7fa2af80.pub !apt-get update !apt-get install cuda
  8. Теперь, наконец, установите mxnet. Поскольку версия cuda, которую я установил выше, это 9.2, мне пришлось немного изменить вашу команду: !pip install mxnet-cu92
  9. Successfully installed graphviz-0.8.3 mxnet-cu92-1.2.0

Это решение сработало для меня в ноябре 2022 года. Запросите версию Ubuntu, на которой работает Colab (запустите в блокноте, используя!или в терминале без):

      !lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.6 LTS
Release:    18.04
Codename:   bionic

Запросите текущую версию cuda в Colab (только для сравнения):

      !nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Sun_Feb_14_21:12:58_PST_2021
Cuda compilation tools, release 11.2, V11.2.152
Build cuda_11.2.r11.2/compiler.29618528_0 

Далее добрались до архива cuda toolkit или последних сборок и настроили нужную версию cuda и версию os . РаспределениеUbuntu.

Скопируйте инструкцию по установке:

      wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda-repo-ubuntu1804-11-7-local_11.7.0-515.43.04-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-11-7-local_11.7.0-515.43.04-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu1804-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

Измените последнюю строку , указав свою версию cuda, например,apt-get -y install cuda-11-7. В противном случае может быть установлена ​​более свежая версия.

      !wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
!mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
!wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda-!repo-ubuntu1804-11-7-local_11.7.0-515.43.04-1_amd64.deb
!dpkg -i cuda-repo-ubuntu1804-11-7-local_11.7.0-515.43.04-1_amd64.deb
!cp /var/cuda-repo-ubuntu1804-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
!apt-get update
!apt-get -y install cuda-11-7

Теперь ваша версия cuda будет обновлена:

      nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Jun__8_16:49:14_PDT_2022
Cuda compilation tools, release 11.7, V11.7.99
Build cuda_11.7.r11.7/compiler.31442593_0

Если вы переключитесь на использование графического процессора, CUDA будет доступна на вашей виртуальной машине. По сути, вам нужно сопоставить версию MXNet с установленной версией CUDA.

Вот что я использовал для установки MXNet на Colab:

Сначала проверьте версию CUDA

!cat /usr/local/lib/python3.6/dist-packages/external/local_config_cuda/cuda/cuda/cuda_config.h |\
grep TF_CUDA_VERSION

Для меня это выведено #define TF_CUDA_VERSION "8.0"

Затем я установил MXNet с

!pip install mxnet-cu80

Я думаю, что самый простой способ здесь - установить mxnet-cu80. Просто используйте следующий код:

!pip install mxnet-cu80
import mxnet as mx

И вы можете проверить, работает ли он:

a = mx.nd.ones((2, 3), mx.gpu())
b = a * 2 + 1
b.asnumpy()

Я думаю, что Colab сейчас просто поддерживает Cu80 и более поздние версии не будут работать.

Для получения дополнительной информации вы можете увидеть следующие два сайта:

Google Colab Free GPU Tutorial

Установка mxnet

Удачного кодирования:D

Google Colab предоставляет среду выполнения с предустановленными драйверами графического процессора и поддержкой CUDA, поэтому вам не нужно устанавливать CUDA вручную. Однако, чтобы убедиться, что вы используете среду выполнения с ускорением на графическом процессоре, вам необходимо выбрать среду выполнения с графическим процессором в меню «Время выполнения»:

  1. Откройте новый или существующий блокнот Colab.
  2. Нажмите на меню «Время выполнения» вверху.
  3. Выберите «Изменить тип среды выполнения».
  4. В раскрывающемся списке «Аппаратный ускоритель» во всплывающем окне выберите «Графический процессор».
  5. Нажмите «СОХРАНИТЬ».

После того как вы установите тип среды выполнения на GPU, ваш ноутбук Colab будет работать в среде с поддержкой графического процессора и CUDA.

Вы можете проверить установку графического процессора и CUDA, запустив следующий код в ячейке кода:

      import torch

print(torch.cuda.is_available())
print(torch.cuda.get_device_name(0))

Этот код проверит, доступен ли CUDA, и выведет имя устройства графического процессора.

Есть руководство, в котором четко объясняется, как включить Cuda в Colab.

Для запуска в Colab вам понадобится CUDA 8 (mxnet 1.1.0 для cuda 9+ не работает). Но Google Colab работает сейчас 9.2. Однако есть способ удалить 9.2, установить 8.0, а затем установить mxnet 1.1.0 cu80.

Полный код Jupyter здесь: Средний

Другие вопросы по тегам