Получение «NaN» в коде передачи нейронного стиля

#python #tensorflow #deep-learning #computer-vision #conv-neural-network

#python #тензорный поток #глубокое обучение #компьютерное зрение #conv-нейронная сеть

Вопрос:

давным-давно я специализировался на глубоком обучении на Coursera и переписал код NST notebook, чтобы он работал на Spyder. Код работал хорошо, и я не прикасался к нему уже год. Теперь я попытался запустить его снова, и я получаю «NaN» в функции стоимости, а сгенерированное изображение черное. Я попытался просмотреть значения переменных из проводника переменных, и это кажется нормальным. У кого-то есть идея, почему это происходит? я вообще не менял код, и единственное, что я сделал с прошлого года, — это установка пакетов.

Спасибо!

Комментарии:

1. Вы помните, на какой версии tensorflow он был запущен тогда? Попробуйте понизить версию tensorflow до ранее используемой и посмотрите, все ли еще возникает проблема.

2. Я не помню, какая версия у меня была тогда, но она была 1.X, а теперь у меня 1.14, поэтому я сомневаюсь, что это проблема.

Ответ №1:

либо вес вашей модели слишком велик, либо скорость обучения слишком велика, поэтому она расходится, теперь обязательно настройте скорость обучения (сделайте ее меньше, чем сейчас) или используйте отсечение градиента / веса

Комментарии:

1. Я снизил скорость обучения, и она по-прежнему дает мне «NaN». Странно то, что в прошлом году у меня не было этой проблемы, а теперь у меня есть, хотя я не менял код и файл с весами.

2. попробуйте получить доступ к материалам курса и запустить его на платформе Coursera

3. Я больше не могу получить к нему доступ, но теперь я запустил тот же ноутбук из Coursera в Jupyter notebook, и он решает ту же проблему. Возможно ли, что код хорош, а проблема в библиотеке?