Комментарии 11
Когда проходил онлайн-курсы по машинному обучению, в разделе нейронных сетей была собственная реализация back propogation. Было трудновато осозновать, что происходит, но в целом понятно. Вот тут умножение матрицы, вот тут ошибку считаем через разность векторов и т.д.
А в случае с theano всё останавливалось на "ну тут мы применили Theano во с такими слоями [картинка]": сознание отказывается переходить от понятной истории про матрицы из курсов к использованию настолько высокоуровневых конструкций.
В общем, спасибо за статью-мостик между перемножением матриц, графом вычислений и Лазаньей.
Вы не могли бы объяснить что за флажок такой из Вашего конфига: optimizer_including=cudnn?
Не могу его найти ни в каких мануалах. Благодарю заранее!
Однако чуть погуглив наткнулся на это
http://deeplearning.net/software/theano/library/sandbox/cuda/dnn.html
>The recently added Theano flag dnn.enabled allows to change the default behavior to force it or disable it. Older Theano version do not support this flag. To get an error when cuDNN can not be used with them, use this flag: optimizer_including=cudnn
Действительно Theano автоматически подключит cuDNN, если она будет доступна.Но optimizer_including=cudnn
заставит Theano выбросить исключение, если cuDNN не будет обнаружена:
http://deeplearning.net/software/theano/library/sandbox/cuda/dnn.html
Я просто так перестраховываюсь.
Библиотеки для глубокого обучения Theano/Lasagne