2016-05-18 2 views
-4

У меня нет CUDA графических процессоров Nvidia, и я хочу заставить MATLAB запускать код на CPU вместо графического процессора (да, я знаю, он будет очень медленным). Как мне это сделать?Как заставить MATLAB запускать код глубокого обучения на CPU вместо графического процессора?

В качестве примера попробуем запустить this code на моем ПК без CUDA. Здесь ошибка задается MATLAB:

There is a problem with the CUDA driver or with this GPU device. Be sure that you have a supported GPU and that the latest driver is installed. 

Error in nnet.internal.cnn.SeriesNetwork/activations (line 48) 
output = gpuArray(data); 

Error in SeriesNetwork/activations (line 269) 
YChannelFormat = predictNetwork.activations(X, layerID); 

Error in DeepLearningImageClassificationExample (line 262) 
trainingFeatures = activations(convnet, trainingSet, featureLayer, ... 

Caused by: 
The CUDA driver could not be loaded. The library name used was 'nvcuda.dll'. The error was: 
The specified module could not be found. 
+1

AFAIK, после выполнения преобразования 'output = gpuArray (data)', операции, которые манипулируют 'output', будут выполняться на графическом процессоре. Поэтому я бы начал с удаления преобразования, т. Е. Заменил его на 'output = data;' и посмотрел, как будет работать программа после этого. – mkfin

+0

Это дубликат http://stackoverflow.com/q/3087361/103167 и http://stackoverflow.com/q/21946701/103167 –

+0

Сделайте первую строку после определения функции «клавиатура», это приостановит функцию выполнить и дать вам доступ к вашей клавиатуре, теперь запускайте каждую строку один за другим, чтобы вы могли видеть, что работает и что не удается. Однако я также подозреваю, что комментарий mkfin - это то, что вы ищете. В качестве альтернативы можно использовать эмулятор CUDA, предложенный Бен Фойгтом. –

ответ

1

С R2016a, то ConvNet «функциональность требует параллельных вычислений Toolbox ™ и CUDA® с поддержкой NVIDIA® GPU с вычислительной способностью 3.0 или выше.»

См: http://uk.mathworks.com/help/nnet/convolutional-neural-networks.html

+1

Вот что я знаю. Вопрос заключается в том, как преодолеть это ограничение. – Woeitg

-1

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

Вам нужно использовать другой код.

В вашем вопросе конкретно не указано, чего вы пытаетесь достичь, поэтому трудно сказать, нужно ли вам создавать что-то свое или вы сможете найти существующее решение, но это может быть CPU vs GPU deep learning benchmark вдохновение.

+0

Что-то, что хорошо знать: лицензия Matlab должна позволять вам запускать более старые версии Matlab рядом с вашим существующим, если это необходимо. –

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