2014-09-13 4 views
1

Мне нужно реализовать в matlab сложный автоудатчик для удаления объектов на маммограммах. Теперь я тестирую код, который уже предоставлен инструментами глубокого обучения, но он дает некоторые ошибки, и я не знаю, как их исправить. Не могли бы вы узнать какие-либо руководства по использованию инструментария? Я искал в сети, но не нашел ничего полезного. Ошибки, которые я получаю, в случае, если у кого-то есть решение:учебник по глубокому обучению toolbox-matlab

Error using horzcat 
Out of memory. Type HELP MEMORY for your options. 

Error in nnff (line 9) 
x = [ones(m,1) x]; 

Error in nneval (line 7) 
nn     = nnff(nn, train_x, train_y); 

Error in nntrain (line 66) 
    loss = nneval(nn, loss, train_x, train_y); 

Error in saetrain (line 4) 
    sae.ae{i} = nntrain(sae.ae{i}, x, x, opts); 

Большое спасибо! :)

+0

ошибки не имеет никакого отношения к панели инструментов, есть просто недостаточна, оперативная память, доступная для запуска код. Начните читать здесь http://www.mathworks.com/help/matlab/matlab_prog/resolving-out-of-memory-errors.html – Daniel

+0

Спасибо! А как насчет других ошибок? Все ли они из-за недостаточной ОЗУ? –

+0

Какие еще ошибки? Ваш вопрос содержит только одно сообщение об ошибке, включая полный стек ошибок, в котором он встречается. – Daniel

ответ

1

Во-первых, Matlab легко получить «вне памяти» на случай, если для хранения любых матриц или векторов всегда требуется большой блок непрерывной памяти. Запуск кода matlab эквивалентен разделению памяти. Поэтому я предлагаю вам быть осторожным с этим, и вам следует начать с небольшого набора данных, и сначала вы должны заставить его работать.

Во-вторых, here - это некоторые советы по разрешению Out of Memory, которые могут быть полезны. Тем не менее я должен сказать, что это может быть не так полезно решить, основываясь на моих попытках. В случае, если вы используете 32-разрядную машину, доступная память ограничена 2^32 = 4GB, и это легко достигается при выполнении некоторых задач Deep Learning эмпирически.

Наконец, я предлагаю вам сначала начать с использования небольшого набора данных, такого как MNIST, чтобы заставить его работать, после чего вы должны гарантировать, что ваш matlab работает на 64-битной машине (какой-то сервер, к которому вы могли бы получить доступ, может быть оптимальным). Если вы все еще сталкиваетесь с этой болезненной проблемой, я предлагаю вам попробовать другие инструменты DeepLearning без оболочки, которые основаны на схеме графического процессора или параллельных вычислений. Вы должны знать, что Deep Learning основывается на высокопроизводительной вычислительной структуре. Не пытайтесь использовать свой ноутбук, чтобы запустить его :))

Matlab не то, что мощный при использовании большого набора данных ...