fit_generator () не работает в Spyder - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь использовать fit_generator () в Spyder для обучения нейронной сети (которую я хочу обучить для сортировки изображений цифр), и у меня всегда одна и та же проблема.Когда я вызываю функцию, первый результат, который у меня есть, это:

enter image description here

, а затем:

enter image description here

В принципе, я не понимаю, что это происходит.Я прикреплю сегмент кода.

X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size=0.10, random_state=42)

batches     = gen.flow(X_train, y_train, batch_size=64) # batches.n = 37800
val_batches = gen.flow(X_val, y_val, batch_size=64) # val_batches.n = 4200


history=model.fit_generator(generator=batches, steps_per_epoch=batches.n, 
                              epochs=3,  validation_data=val_batches,
                              validation_steps=val_batches.n)

Может ли кто-нибудь мне помочь?

Заранее спасибо.

1 Ответ

0 голосов
/ 08 февраля 2019

У меня была точно такая же проблема, и я потратил несколько дней на поиски решений в сети / пару раз переустановил / почти выбросил свой ноутбук / сдался и снова обрел надежду / наконец нашел решение. Особая благодарность этому GitHub сообщению

Вот пошаговое решение того, что я сделал. Я использую MacBook и Anaconda для Python / Spyder:

  • Установил Anaconda (c1.9.6) и через него Python в (базовой) среде [ПРАВИТЬ: Это версия Anaconda 2018.12, которую я установил. Навигатор Anaconda Navigator > About Anaconda Navigator сообщает о своем Anaconda Navigator 1.9.6]
  • С помощью Anaconda Navigator создали новую (глубокое обучение) среду
  • Снова используя Навигатор, я установил Keras, Tensorflow, Theano, Numpy, Pandas, Matplotlib, Scikit-learn, Spyder-kernels в новой среде (Deeplearning) (и различные связанные пакеты были установлены автоматически)
  • Используя Terminal, в моей (базовой) среде я понизил свой Python с 3.7 до 3.6.8 (conda install python=3.6), чтобы он работал с Keras [РЕДАКТИРОВАТЬ: Этот шаг может быть избыточным и не обязательным]
  • Используя Терминал, вошел в мою (глубокую обучающую) среду и установил nomkl (conda install nomkl) (он попросил понизить некоторые пакеты, до которых я сказал, хорошо)
  • Все еще в моей (углубленной) среде в терминале, я набрал python -c "import sys; print(sys.executable)", чтобы получить мой путь + скопировал имя пути
  • Открыл Spyder через мою (базовую) среду и перешел на Preferences > Python Interpreter > Use the following interpreter, где я ввел свой путь
  • Перезапустил Spyder, снова в (базовой) среде и начал кодировать. [РЕДАКТИРОВАТЬ: Вам не нужно перезапускать Spyder. Скорее просто откройте новую вкладку консоли].

Все работало как красавица. Наконец-то я могу узнать больше об этой захватывающей области!

Только к вашему сведению ... Первое полученное вами изображение ошибки - это на самом деле не ошибка, а предупреждение, которое, по сути, означает, что скорость не будет такой высокой, как могла бы быть. Второе изображение - досадная ошибка, отнявшая несколько дней моей жизни, чтобы найти решение!

...