Ответ 1
Добавьте одну строку в файл .theororc
optimizer = None
как глобальная конфигурация.
Я пытаюсь обучить CNN для обнаружения объектов на изображениях с помощью набора данных CIFAR10 для семинара в моем университете, но я получаю следующую ошибку:
AssertionError: AbstractConv2d Оптимизация Theano не удалась: нет доступная поддержка запрошенных вариантов. Вы были исключить из оптимизатора "conv_dnn" и "conv_gemm"? Если на GPU, доступно cuDNN и поддерживает ли GPU? Если на процессоре у вас есть библиотека BLAS, установленная Theano, может связываться с?
Я запускаю Anaconda 2.7 в ноутбуке Jupyter (обучение CNN на процессоре) с компьютера Windows 10. Поскольку я уже обновил новую версию anano с помощью git clone, я пробовал следующие вещи:
THEANO_FLAGS='optimizer_excluding=conv_dnn, optimizer_excluding=conv_gemm'
THEANO_FLAGS='...' python <myscript>.py
, которая не вызывает неожиданно ошибки "неизвестной команды".К сожалению, я все еще получаю ту же ошибку, и когда я вызываю print(teano.config)
, термины "conv_dnn" и "conv_gemm" не отображаются.
Итак, вот мой вопрос: как я могу правильно установить флаги-аанано и как проверить, выполнил ли я это? Если это не поможет, как я могу проверить, какой BLAS я создаю? Какой я должен использовать и как я могу изменить зависимость для theano?
Как вы, возможно, догадались, я не эксперт, когда дело доходит до всего этого пакета, зависимости, встроенных и других причудливых материалов по компьютерной науке и документации, которую я нахожу, это просто не доказательство нуба, поэтому я был бы очень благодарен, что вы, ребята, может помочь мне!
Лучшие
Джонас
Добавьте одну строку в файл .theororc
optimizer = None
как глобальная конфигурация.
У меня было такое же сообщение об ошибке в Windows. Мой файл ".theanorc.txt", расположенный в "C:\Users\USERNAME \.theanorc.txt", был неправильно отформатирован, и библиотека The Blas не была найдена Theano. Это можно увидеть в консоли Python, написав "import theano; theano.config.blas.ldflags", который дал пустую строку (''). Ключевое слово blas должно быть как заголовок раздела.
[global]
floatX = float32
device = cpu
[blas]
ldflags = -LC:\\openblas -lopenblas
В C:\openblass path У меня есть файлы: libgcc_s_seh-1.dll, libgfortran-3.dll, libopenblas.dll и libquadmath-0.dll. См. http://deeplearning.net/software/theano/library/config.html
У меня была такая же проблема, но в Linux. Оказалось, что BLAS не был установлен вообще, и мне пришлось установить его отдельно, включая установку некоторых новых переменных среды:
export LD_LIBRARY_PATH="/home/username/anaconda2/lib"
export LD_PRELOAD="/home/username/anaconda2/lib/libmkl_core.so:/home/MEDIANET/aharjunm/anaconda2/lib/libmkl_sequential.so"
Я также должен был убедиться, что между anaconda и любой предыдущей установкой python не было конфликтов между путями python.
Я знаю, что это будет сильно отличаться под Windows, но поскольку сообщение об ошибке точно так же, основная предпосылка для лечения должна быть такой же: установить BLAS. Вы можете найти много источников для этого, например здесь.