JavaScript для глубокого обучения 2021 TensorFlow js Ббк



Download 30,75 Mb.
Pdf ko'rish
bet448/457
Sana27.03.2022
Hajmi30,75 Mb.
#513488
1   ...   444   445   446   447   448   449   450   451   ...   457
Bog'liq
Цэй Ш., Байлесчи С., и др. - JаvaScript для глубокого обучения (Библиотека программиста) - 2021

A
Установка библиотеки 
tfjs-node-gpu и ее 
зависимостей


Приложение A. Установка библиотеки tfjs-node-gpu и ее зависимостей
545
3. В каталоге, куда вы скачали упомянутый файл, выполните команду 
chmod
, чтобы 
сделать его исполняемым. Например:
chmod +x cuda_10.0.130_410.48_linux.run
4. Запустите этот файл с помощью команды 
sudo
. Учтите, что установочному про­
цессу CUDA Toolkit может понадобиться установить или обновить драйвер 
NVIDIA на вашей машине, если его установленная версия устарела или ее вообще 
нет. В этом случае необходимо остановить сервер X, перейдя в режим исполь­
зования только командной оболочки. В дистрибутивах Ubuntu и Debian войти 
в консоль можно с помощью сочетания клавиш 
Ctrl
+
Alt
+
F1
.
Следуйте подсказкам на экране для установки CUDA Toolkit, после чего машина 
будет перезагружена. Если вы работали в режиме командной оболочки, можете 
после перезагрузки вернуться в обычный режим GUI.
5. В случае успешного завершения шага 3 системный путь будет включать команду 
nvidia-smi
, с помощью которой можно проверить состояние GPU. Она выводит, 
помимо версии текущего драйвера NVIDIA, такую информацию, как названия, 
показания датчиков температуры, скорость вентиляторов, а также коэффициен­
ты загрузки процессоров и памяти установленных в системе GPU. Это удобная 
утилита для мониторинга GPU в режиме реального времени при использовании 
tfjs­node­gpu для обучения глубоких нейронных сетей. Типичное сообщение, 
выводимое командой 
nvidia-smi
, выглядит следующим образом (для машин 
с двумя GPU NVIDIA):
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.111 Driver Version: 384.111 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro P1000 Off | 00000000:65:00.0 On | N/A |
| 41% 53C P0 ERR! / N/A | 620MiB / 4035MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 Quadro M4000 Off | 00000000:B3:00.0 Off | N/A |
| 46% 30C P8 11W / 120W | 2MiB / 8121MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 3876 G /usr/lib/xorg/Xorg 283MiB |
6. Добавьте путь к 64­битным файлам библиотеки CUDA в переменную среды 
LD_LIBRARY_PATH
. В случае использования командной оболочки bash можно до­
бавить следующую строку в файл 
.bashrc
:
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:${PATH}"
tfjs­node­gpu ищет необходимые для запуска динамические файлы библиотеки 
по путям из переменной среды 
LD_LIBRARY_PATH
.


546
Приложения
7. Скачайте CuDNN с сайта 
https://developer.nvidia.com/cudnn
. Зачем нужно еще 
и CuDNN, помимо CUDA? Потому, что CUDA — универсальная вычислительная 
библиотека, применяемая и в других сферах, помимо глубокого обучения (на­
пример, в гидродинамике). CuDNN — основанная на CUDA библиотека NVIDIA 
для ускорения операций с глубокими нейронными сетями.
z
z
Для скачивания CuDNN вам может понадобиться создать учетную запись 
NVIDIA и ответить на несколько вопросов анкеты. Убедитесь, что скачали версию 
CuDNN, соответствующую установленной на предыдущих шагах версии CUDA 
Toolkit. Например, CuDNN 7.6 подходит для совместного использования с CUDA 
Toolkit 10.0.
8. В отличие от CUDA Toolkit, CuDNN поставляется не в виде исполняемого 
файла средства установки, а в виде сжатого архива tar, содержащего несколько 
файлов динамических библиотек и заголовков C/C++. Необходимо извлечь эти 
файлы и скопировать их по соответствующему пути установки. Для этого можно 
использовать последовательность команд наподобие следующей:
tar xzvf cudnn-10.0-linux-x64-v7.6.4.38.tgz
cp cuda/lib64/* /usr/local/cuda/lib64
cp cuda/include/* /usr/local/cuda/include
9. Теперь, после установки всех требуемых драйверов и библиотек, можно быстро 
проверить CUDA и CuDNN, импортировав tfjs­node­gpu в node:
npm i @tensorflow/tfjs @tensorflow/tfjs-node-gpu
node
Далее в интерфейсе командной строки Node.js вы увидите:
> const tf = require('@tensorflow/tfjs');
> require('@tensorflow/tfjs-node-gpu');
В случае успеха вы увидите несколько строк журнального вывода, подтвержда­
ющих, что GPU (или несколько GPU, в зависимости от конфигурации вашей 
системы) обнаружен (­ы) и tfjs­node­gpu может их использовать:
2018-09-04 13:08:17.602543: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1405] Found device 0
with properties:
name: Quadro M4000 major: 5 minor: 2 memoryClockRate(GHz): 0.7725
pciBusID: 0000:b3:00.0
totalMemory: 7.93GiB freeMemory: 7.86GiB
2018-09-04 13:08:17.602571: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:1484] Adding visible
gpu devices: 0
2018-09-04 13:08:18.157029: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:965] Device
interconnect StreamExecutor with strength 1 edge matrix:
2018-09-04 13:08:18.157054: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 0
2018-09-04 13:08:18.157061: I
tensorflow/core/common_runtime/gpu/gpu_device.cc:984] 0: N
2018-09-04 13:08:18.157213: I


Приложение A. Установка библиотеки tfjs-node-gpu и ее зависимостей
547
tensorflow/core/common_runtime/gpu/gpu_device.cc:1097] Created
TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with
7584 MB memory) -> physical GPU (device: 0, name: Quadro M4000, pci bus
id: 0000:b3:00.0, compute capability: 5.2)
10. Все готово для использования всех возможностей tfjs­node­gpu. Достаточно 
включить в 
package.json
следующие зависимости (или последующие их версии):
...
"dependencies": {
"@tensorflow/tfjs": "^0.12.6",
"@tensorflow/tfjs-node": "^0.1.14",
...
}
...
Импортируйте в файле 
main.js
основные зависимости, включая 
@tensorflow/tfjs
и 
@tensorflow/tfjs-node-gpu
. Первая из них содержит общий API TensorFlow.js, 
а вторая подключает операции TensorFlow.js к быстродействующим вычисли­
тельным ядрам, реализованным на CUDA и CuDNN:
const tf = require('@tensorflow/tfjs');
require('@tensorflow/tfjs-node-gpu');
A.2. Установка tfjs-node-gpu в Windows
1. Убедитесь, что ваша версия Windows удовлетворяет системным требованиям 
CUDA Toolkit. CUDA Toolkit не поддерживает некоторые выпуски Windows 
и 32­битные архитектуры вычислительных систем. См. подробности по адресу 
https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#system-
requirements
.
2. Мы предполагаем, что в вашей системе уже установлены Node.js и npm, а пути 
к node и npm включены в системную переменную 
Path
. Если нет — скачать уста­
новочные пакеты вы можете по адресу 
https://nodejs.org/en/download/
.
3. Установите Microsoft Visual Studio — она нужна для установки CUDA Toolkit. 
Какую версию Microsoft Visual Studio выбрать, можно узнать по той же ссылке, 
что и в шаге 1.
4. Скачайте и установите CUDA Toolkit для Windows. На момент написания данной 
книги для работы tfjs­node­gpu (текущая версия 1.2.10) требуется CUDA 10.0. 
Выберите соответствующий вашей версии Windows установочный пакет. До­
ступны установочные пакеты для Windows 7 и Windows 10. Этот шаг требует 
прав администратора.
5. Скачайте CuDNN. Убедитесь, что версия CuDNN соответствует версии CUDA. 
Например, CuDNN 7.6 подходит для совместного использования с CUDA 
Toolkit 10.0. Прежде чем скачать CuDNN, вам может понадобиться создать учет­
ную запись NVIDIA и ответить на несколько вопросов анкеты.


548
Приложения
6. В отличие от установочного пакета CUDA Toolkit, CuDNN поставляется в виде 
не исполняемого установочного файла, а файла архива ZIP. Распакуйте его, и вы 
увидите внутри три каталога: 
cuda/bin

cuda/include
и 
cuda/lib/x64
. Найдите 
каталог установки CUDA Toolkit (по умолчанию что­то вроде 
C:/Program
Files/
NVIDIA
CUDA
Toolkit
10.0/cuda
). Скопируйте извлеченные файлы в соответству­
ющие подкаталоги с теми же названиями. Например, извлеченные из архива 
файлы из каталога 
cuda/bin
необходимо скопировать в 
C:/Program
Files/NVIDIA
CUDA
Toolkit
10.0/cuda/bin
. Для этого шага могут также потребоваться права 
администратора.
7. После установки CUDA Toolkit и CuDNN перезагрузите операционную систему 
Windows. Мы выяснили, что это необходимо для правильной загрузки (для ис­
пользования в tfjs­node­gpu) всех только что установленных библиотек.
8. Установите пакет npm 
window-build-tools
, необходимый для установки пакета 
npm 
@tensorflow/tfjs-node-gpu
на следующем шаге:
npm install --add-python-to-path='true' --global windows-build-tools
9. Установите с помощью npm пакеты 
@tensorflow/tfjs
и 
@tensorflow/tfjs-node-gpu
:
npm -i @tensorflow/tfjs @tensorflow/tfjs-node-gpu
10. Для проверки успешности установки откройте командную строку node и выпол­
ните:
> const tf = require('@tensorflow/tfjs');
> require('@tensorflow/tfjs-node-gpu');
Убедитесь, что обе команды завершились без ошибок. После второй команды вы 
увидите несколько строк журналов, выведенных разделяемой библиотекой GPU 
TensorFlow. В них перечисляются GPU с поддержкой CUDA, которые были обна­
ружены tfjs­node­gpu и будут использоваться в последующих программах глубокого 
обучения.


Это приложение посвящено прочим, не относящимся к 
tf.Model
, частям API 
TensorFlow.js. И хотя 
tf.Model
содержит полный набор методов, необходимых для 
обучения/оценки моделей и для получения на их основе дальнейшего вывода, за­
частую для работы с объектами 
tf.Model
необходимы прочие части TensorFlow.js. 
Основные сценарии:
z
z
преобразование данных в тензоры для передачи в объекты 
tf.Model
;
z
z
выдача выполняемых 
tf.Model
предсказаний (изначально находящихся в фор­
мате тензоров) в виде, подходящем для использования прочими частями про­
граммы.
Как вы увидите, вставка данных в тензоры и извлечение данных оттуда не пред­
ставляет сложностей, но имеет смысл отметить некоторые общепринятые шаблоны 
действий и нюансы.
Б.1. Создание тензоров и соглашения 
по поводу их осей координат
Не забывайте, что 

Download 30,75 Mb.

Do'stlaringiz bilan baham:
1   ...   444   445   446   447   448   449   450   451   ...   457




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish