[Супер подробно] Как использовать GPU-ускорение в процессе обучения модели глубокого обучения

предисловие

При глубоком обучении нам обычно нужно повторно оптимизировать и обучать модель, когда мы ее обучаем.Обучение только с ЦП занимает много времени, но мы можем использовать ГП для ускорения модели обучения, что может значительно снизить стоимость нашего обучения. модель время. На следующем рисунке показано сравнение времени, затрачиваемого с использованием ускорения графического процессора и без ускорения графического процессора во время обучающей модели:

ммэкспорт1683808312593.png

Из рисунка видно, что использование GPU-ускорения происходит намного быстрее, чем обучение модели без GPU-ускорения. Далее я научу вас, как использовать ускорение графического процессора в процессе модели обучения глубокому обучению.

Примечание. Следующие шаги и команды установки поддерживают установку только в среде Windows, и я опубликую руководства по установке других операционных систем позже.

Установите графический драйвер NVIDIA

Сначала найдите Диспетчер устройств в строке поиска, откройте его и найдите версию видеокарты нашего компьютера в адаптере дисплея.

изображение.png

Затем мы можем найти версию драйвера, соответствующую нашей компьютерной видеокарте, на официальном сайте NVIDIA и установить ее.

Ссылка для скачивания графического драйвера NVIDIA

Найдите соответствующую версию вашей видеокарты и загрузите драйвер видеокарты.

изображение.png

После поиска найдите соответствующую версию для загрузки

изображение.png

Установить после скачивания

изображение.png

Здесь мы выбираем расположение по умолчанию для установки и нажимаем «ОК». Другие последующие шаги относительно просты, просто нажмите «Далее», чтобы установить. Если у вас возникнут какие-либо проблемы, вы можете перейти по следующей ссылке, чтобы просмотреть конкретные шаги установки: [Windows ] Установите
драйвер NVIDIA

Наконец, мы открываем командную строку и вводим команду nvidia-smi для просмотра информации о драйвере видеокарты компьютера.

nvidia-smi

См. следующую информацию, чтобы убедиться, что драйвер видеокарты NVIDIA был успешно установлен.

VR8JH65PVE6O~35A7RT.png

Установите CUDA и cuDNN

Введение

И CUDA, и cuDNN — это инструменты разработки для глубокого обучения, запущенные NVIDIA.

CUDA – это сокращение от Compute Unified Device Architecture. Это универсальная платформа параллельных вычислений и модель программирования, разработанная NVIDIA, которая позволяет разработчикам использовать такие языки программирования, как C++, Fortran и Python, для запуска кода на графических процессорах NVIDIA. CUDA Toolkit — это набор инструментов для разработки, основанный на платформе CUDA, включающий библиотеки с ускорением на GPU, инструменты отладки и оптимизации, компиляторы C/C++ и библиотеки времени выполнения.

Полное название cuDNN — библиотека глубокой нейронной сети CUDA.Это высокопроизводительная библиотека глубокого обучения с ускорением на графическом процессоре, которая поддерживает различные модели нейронных сетей, включая сверточные нейронные сети и рекуррентные нейронные сети, и может быть совместима с популярными платформами глубокого обучения. такие как TensorFlow, PyTorch и Caffe2 и т. д. для интеграции. cuDNN обеспечивает высокооптимизированные реализации, включая стандартные операции, такие как свертка, объединение в пул, нормализация и активация.С помощью cuDNN можно ускорить скорость обработки задач глубокого обучения.

Проверить совместимость версий

Совместимость версий очень важна для ускорения GPU, потому что я много раз устанавливал и удалял, чтобы решить проблему совместимости версий.

Наконец, я нашел соответствующие версии GPU, CUDA, cuDNN и Python в официальных документах TensorFlow и NVIDIA.Вы можете перейти по ссылке ниже, чтобы выбрать версию:

Официальная документация TensorFlowОфициальная
документация NVIDIA

Список моделей графических процессоров, поддерживаемых каждой версией CUDA, можно найти в официальной документации NVIDIA. В левом меню страницы выберите нужную версию CUDA, а затем нажмите ссылку «Поддерживаемые операционные системы», чтобы просмотреть операционные системы, поддерживаемые версией. Щелкните ссылку «Поддерживаемые графические процессоры CUDA», чтобы просмотреть список моделей графических процессоров, поддерживаемых этой версией.
ммэкспорт1683812957391.png

Вы также можете выбрать версии CUDA, cuDNN, Python и tensorflow-gpu для установки в соответствии с этой таблицей.

Соответствующая информация каждой версии блогера: NVIDIA GeForce GTX 1080, NVIDIA GeForce GTX 1650, Python3.9.0, CUDA 11.2.0, cuDNN 8.1.0, tensorflow-gpu 2.6.0

Установить CUDA

Ссылка для скачивания CUDA 11.2: CUDA 11.2.0

Сначала выберите соответствующую информацию о версии системы CUDA.

CTF25GYZK~2MX3M_MXY.png
Наконец, нажмите, чтобы скачать
DKFFSE6JB4F6XCNQZ8.png

После завершения загрузки щелкните исполняемый файл для установки.

ZUP6P1DEC8595RKLYPU.png

Здесь мы выбираем место для установки по умолчанию:
изображение.png
нажмите OK и подождите:
изображение.png
затем войдите в интерфейс установки CUDA:
GF4_TZCW.png

Проверка системы --> согласиться с лицензионным соглашением --> выбрать пользовательские параметры --> установка завершена

В процессе установки важно выбрать вариант выборочной установки:

UUN2SVTDW4Q0ESXT3G.png

Проверьте все соответствующие конфигурации:

0R~3DW1XS9824WF9J75.png

Наконец, установка завершена и нажмите «Закрыть»:

PJP5HH7I1P71K868`U4P.png

Других конкретных моментов, требующих внимания, нет.Если у вас возникнут другие проблемы, вы можете перейти по соответствующим ссылкам или оставить сообщение в области комментариев, и я отвечу на них один за другим.

Руководство по установке CUDA и cuDNN

Примечание: Переменные среды добавляются автоматически в процессе установки, после завершения установки необходимо перезагрузить компьютер.Путь
установки по умолчанию: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2

После перезагрузки компьютера введите команду nvcc -V в командной строке, чтобы проверить, успешно ли установлена ​​CUDA:
изображение.png

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

Установить cuDNN

ссылка для скачивания cuDNN

Перейдя по ссылке для скачивания, вы сможете найти соответствующую версию для загрузки.Перед загрузкой вам необходимо зарегистрироваться и войти в программу NVIDIA для разработчиков, а также ввести свои основные личные данные.

Ниже в качестве примера для загрузки и установки используется cuDNN 8.1.0.

VPLJ8F5VXK8RQDE85NE.png

После завершения загрузки разархивируйте, чтобы получить папку cuda.

_RKY~JJE7R8UXLKY2QM.png

Откройте эту папку, и вы увидите, что есть три папки: bin, include и lib.

41GA`CHLDTBPDGLJH.png

Найдите предыдущий путь установки CUDA 11.2.0: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2 и откройте папку, вы можете найти три соответствующие папки

O2IKZJLFYIUSM`NGGIFPV.png

Скопируйте три папки cudnn в папку, соответствующую cuda.

4A4CNZFI8~46VS061SS.png

Вы можете выбрать все содержимое в соответствующей папке, скопировать и вставить его в папку cuda.

Настроить переменные среды

Щелкните правой кнопкой мыши «Этот компьютер» и выберите «Свойства», затем нажмите «Дополнительные параметры системы».

~O352H`A37OJBTO6AG9Y0L.png

Щелкните переменную среды, найдите переменную среды пути в переменной системной среды и щелкните, чтобы ввести

QZ6CXNAP7XRQ`02CVNVC.png

AEFM02`8_LFCSUN.png

Добавьте следующее в переменную среды пути

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include

Как правило, первые две переменные среды настраиваются автоматически при установке CUDA, и нам нужно добавить только последние две.

Различные версии cuDNN могут изменять номер версии.

Наконец, вы можете увидеть эти четыре места на пути, чтобы доказать, что конфигурация переменной среды выполнена успешно.

1MPEZYQ337KC7LEU0W_I.png

Убедитесь, что cuDNN успешно установлен

Откройте командную строку терминала (win+r и введите cmd),
чтобы ввести путь к файлу CUDA: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\demo_suite.

cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\demo_suite

изображение.png

Выполните: deviceQuery.exe , появится следующий рендеринг:

изображение.png

Продолжайте выполнять: bandwidthTest.exe , и появится следующая диаграмма эффекта:

изображение.png

Наконец, cuDNN был успешно установлен

Проверка доступных графических процессоров TensorFlow

Установите питон3.9.0

ссылка для скачивания python3.9.0

Щелкните ссылку для загрузки и установки.После завершения установки введите в командной строке: python для просмотра текущей версии python.
6K912U2X6N9VT8EZC9E~P.png

Ввод: exit() для выхода из среды компиляции python.
0_WW`0_EK8R9FXWFV.png

Установите тензорный поток-gpu 2.6.0

Введите в командной строке: pip install tensorflow-gpu 2.6.0 Дождитесь завершения установки

Если у вас есть какие-либо вопросы, пожалуйста, оставьте сообщение в области комментариев

Наконец, введите в терминал: pip list , чтобы просмотреть установленный tensorflow-gpu 2.6.0.

DX3P2KIKTSTRUL2QE.png

Проверьте доступные графические процессоры

Вы можете ввести следующий код в терминал, чтобы войти в среду компиляции python или другие компиляторы для проверки доступного графического процессора.

import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))

Пока выходной результат > 0, это доказывает, что имеется доступный графический процессор.

36446RM52CG_FMJEC5MWU8.png

тестирование кода

Создайте в редакторе файл test_model.py и введите следующий код, чтобы отобразить эффект ускорения графического процессора.

import tensorflow as tf

# 列出可用的 GPU 设备
print(tf.config.list_physical_devices('GPU'))

# 设置 TensorFlow 使用 GPU 进行计算
gpu_devices = tf.config.list_physical_devices('GPU')
if gpu_devices:
    for device in gpu_devices:
        tf.config.experimental.set_memory_growth(device, True)

# 加载数据集
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

# 定义模型
model = tf.keras.models.Sequential([
    tf.keras.layers.Flatten(input_shape=(28, 28)),
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(10)
])

# 编译模型
loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
model.compile(optimizer='adam', loss=loss_fn, metrics=['accuracy'])

# 训练模型
model.fit(x_train, y_train, epochs=5)

# 评估模型
model.evaluate(x_test, y_test, verbose=2)

результат операции:

K8YOG9YUUXU`4YJFX.png

Подведем итог

Самое главное в процессе установки — совместимость версий, вы можете проверить официальную документацию. Наконец, если у вас есть какие-либо вопросы, оставьте сообщение в области комментариев, я отвечу вам и помогу решить проблему.

Supongo que te gusta

Origin blog.csdn.net/qq_52730883/article/details/130650143
Recomendado
Clasificación