Добрый день! Я изучаю машинное обучение по книге «Глубокое обучение. Погружение в мир нейронных сетей». В книге приводятся примеры кода на Python с использованием библиотеки TensorFlow, и я столкнулся с тем, что у меня они не работают так, как надо. Приведён следующий пример: http://dpaste.com/046D84P
Он не запускается, поскольку
- функция tf.initialize_global_variables() была объявлена deprecated и удалена
- класс tf.train.GradientDescentOptimizer() требует параметр - скорость обучения learning_rate.
Я внёс в код коррективы: заменил initialize_global_variables() на global_variables_initializer(), добавил параметр 1 для класса GradientDescentOptimizer. Получилось вот что: http://dpaste.com/1QKP7K7 (изменения в строках 21, 17).
Под TensorFlow 1.8 из pip, Python 3.6.5, код не работает: на каждом шаге я вижу:
Эпоха 100: nan, k=nan, b=nan
, где номер эпохи меняется, а вот nan не меняется.
В книге была мельком написана фраза: «на данный момент (конец 2016 года)», что натолкнуло меня на мысль поставить как можно более древний TensorFlow. В pip самая ранняя доступная версия - 0.12.1 от 30 декабря 2016. Я вкатил её, но получил абсолютно тот же самый результат: nan вместо ответов. Я не знаю ни Python, ни TensorFlow, и планировал некоторые обрывки знаний по ним подтянуть в ходе разбора примеров из книги (примеров всё равно не так много, смысловое ядро книги - в области математики и теорвера), и, кроме того, мне хотелось бы вживую увидеть результаты, поиграть с параметрами. Подскажите, пожалуйста - в чём может быть проблема, и как мне следует поступить? Я могу попробовать вкатить ещё более древний TensorFlow, но мне видится маловероятным, чтобы это помогло. Может, в самом коде есть какие-то ошибки? Заранее спасибо за помощь.