2017-01-07 2 views
0

Существуют ли какие-либо рекомендуемые или минимальные системные требования для Microsoft Cognitive Network Toolkit? Я не могу найти эту информацию нигде на git.Требования к оборудованию для установки cntk

+1

Вы могли бы начать с помощью Azure и выполнять некоторые эксперименты –

+0

Недурно для использования Azure ноутбуков. Все легко устанавливается, вы можете сразу начать работу. –

ответ

0

У CNTK есть минимальные требования. Однако обучение некоторых из более требовательных моделей может быть медленным, поэтому использование GPU (или 8) может помочь.

1

Вы можете найти некоторые ссылки на требования к GPU аппаратных здесь:

https://github.com/Microsoft/CNTK/wiki/Setup-CNTK-on-Windows

Я проверил некоторые из простых обучающих программ распознавания образов на старой настольной машине с GPU слишком низкий балл (это только с помощью CPU), и для завершения обучения потребовалось больше часа. На Книге Поверхности (1. поколение) потребовалось несколько минут. В первой книге Surface Book используется то, что AnandTech было примерно эквивалентно GeForce GT 940M. Я не тестировал на настольной машине с некоторыми из новых карт high-end GPU, чтобы посмотреть, как они работают, но было бы интересно узнать.

Я провел небольшое тестирование с помощью этого учебника: https://github.com/Microsoft/CNTK/blob/master/Tutorials/CNTK_201B_CIFAR-10_ImageHandsOn.ipynb

На моей поверхности книги (1 поколение) Я получаю следующие результаты за 1 часть обучения:

Finished Epoch [1]: [Training] loss = 2.063133 * 50000, metric = 75.6% * 50000 16.486s (3032.8 samples per second) 
Finished Epoch [2]: [Training] loss = 1.677638 * 50000, metric = 61.5% * 50000 16.717s (2990.9 samples per second) 
Finished Epoch [3]: [Training] loss = 1.524161 * 50000, metric = 55.4% * 50000 16.758s (2983.7 samples per second) 

Они являются результаты от работы на C6 Azure VM с одним Nvidia K80 GPU:

Finished Epoch [1]: [Training] loss = 2.061817 * 50000, metric = 75.5% * 50000 9.766s (5120.0 samples per second) 
Finished Epoch [2]: [Training] loss = 1.679222 * 50000, metric = 61.5% * 50000 10.312s (4848.5 samples per second) 
Finished Epoch [3]: [Training] loss = 1.524643 * 50000, metric = 55.6% * 50000 8.375s (5970.1 samples per second) 

Как вы можете видеть, Azure VM составляет около 2 раза быстрее, чем мой поверхности Boo k, поэтому, если вам нужно поэкспериментировать и у вас нет машины с мощным графическим процессором, Azure может быть вариантом. На графическом процессоре K80 также имеется гораздо больше памяти на борту, поэтому он может запускать модели с более высокими требованиями к памяти. VM в Azure можно запустить только тогда, когда это необходимо для экономии средств.

На моей поверхности книги, я легко получить ошибки памяти, как это:

RuntimeError: CUDA failure 2: out of memory ; GPU=0 ; hostname=OLAVT01 ; expr=cudaMalloc((void**) &deviceBufferPtr, sizeof(AllocatedElemType) * numElements) 

Это связано с тем, что поверхность книги (1 поколение) имеют только память 1GB GPU.

Обновление: Когда я впервые запускал тесты, код работал на процессоре. Результаты, приведенные выше, относятся к использованию графического процессора.

Чтобы проверить, если вы работаете на CPU или GPU используют следующий код:

import cntk as C 
if C.device.default().type() == 0: 
    print('running on CPU') 
else: 
    print('running on GPU') 

Просить CNTK использовать использование GPU:

from cntk.device import set_default_device, gpu 
set_default_device(gpu(0)) 
+0

У кого-нибудь есть Nvidia GTX 1080 для тестирования? Было бы здорово увидеть цифры для такого рода графических процессоров! – OlavT

0

требование ГПУ CUDA включена карта с вычислительной способностью 3.0 или выше. Я попытался запустить обучение на ПК с GPU GeForce GT 610 и получил это сообщение:

Графический процессор (GeForce GT 610) обладает вычислительной способностью 2.1. CNTK поддерживается только на графических процессорах с возможностью вычислительного 3,0 или более

Смежные вопросы