2016-03-29 2 views
0

Я написал программу обучения автомастерскому Theano. Но у меня есть два совершенно разных результата между CPU и GPU.theano имеет разные результаты по процессору и графическому процессору

Ниже бревно. (Только малая часть бревна)

result on GPU

result on CPU

Функция потерь быстро уменьшается, а затем converg до 0,2 на CPU.

Однако функция потерь увеличится и, наконец, станет NaN на графическом процессоре.

Какие ошибки могут быть в моей программе? Или что я должен принять во внимание? Спасибо!

ответ

0

Может ли быть, что процессор использует float64 (двойная точность), а графический процессор использует float32 (одинарная точность)? Здесь вы можете посмотреть флаги конфигурации: http://deeplearning.net/software/theano/library/config.html

+0

Но ... Я использовал «warn_float64 = raise», и ничего не произошло. Я установил «floatX = float32». – Linsir

+0

Вы установили 'floatX = float32' для GPU _and_ CPU явно? Как 'THEANO_FLAGS = 'floatX = float32, device = cpu ...' – Framester

+0

Да, я это сделал. И команда 'THEANO_FLAGS = mode = FAST_RUN, device = cpu, floatX = float32 python train.py' 'THEANO_FLAGS = mode = FAST_RUN, device = gpu0, floatX = float32 python train.py' – Linsir

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