Глубокое обучение не может запустить функцию model.fit - PullRequest
0 голосов
/ 03 декабря 2018

Я использую набор данных Cifar-10, и я пытаюсь приступить к переносу обучения с использованием библиотеки keras.Мой код здесь - https://github.com/YanaNeykova/Cifar-10 После запуска строки

model.fit(X_train, y_train, batch_size=32, epochs=10,
         verbose=1, callbacks=[checkpointer],validation_split=0.2, shuffle=True)

я получаю сообщение об ошибке (отображается в файле), и поэтому я не могу продолжить.Я попробовал это также с дополнительным импортом функции модели из keras, но я снова получаю тот же результат - модель функции не распознается.Может кто-нибудь посоветовать, как мне поступить?Большое спасибо заранее!

Ошибка

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-11-977cb2a1e5d6> in <module>()
      1 model.fit(X_train, y_train, batch_size=32, epochs=10,
----> 2          verbose=1, callbacks=[checkpointer],validation_split=0.2, shuffle=True)

/usr/local/lib/python3.6/dist-packages/keras/engine/training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, **kwargs)
   1008         else:
   1009             ins = x + y + sample_weights
-> 1010         self._make_train_function()
   1011         f = self.train_function
   1012 

/usr/local/lib/python3.6/dist-packages/keras/engine/training.py in _make_train_function(self)
    517                     updates=updates,
    518                     name='train_function',
--> 519                     **self._function_kwargs)
    520 
    521     def _make_test_function(self):

/usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py in function(inputs, outputs, updates, **kwargs)
   2742                 msg = 'Invalid argument "%s" passed to K.function with TensorFlow backend' % key
   2743                 raise ValueError(msg)
-> 2744     return Function(inputs, outputs, updates=updates, **kwargs)
   2745 
   2746 

/usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py in __init__(self, inputs, outputs, updates, name, **session_kwargs)
   2573             raise ValueError('Some keys in session_kwargs are not '
   2574                              'supported at this '
-> 2575                              'time: %s', session_kwargs.keys())
   2576         self._callable_fn = None
   2577         self._feed_arrays = None

ValueError: ('Some keys in session_kwargs are not supported at this time: %s', dict_keys(['metric']))

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

У вас есть ошибка опечатки, попробуйте заменить metric на metrics

Также вам следует исправить потери binary_crossentropyдо caegorical_crossentropy

model.compile(loss='caegorical_crossentropy', optimizer='adam',
         metrics=['accuracy'])
0 голосов
/ 03 декабря 2018

Вы используете ключевой аргумент метрики, который кажется неподдерживаемым в следующей строке:

model.compile(loss='binary_crossentropy', optimizer='adam',
             metric=['accuracy'])

Попробуйте удалить его и посмотреть, работает ли он.Это может не поддерживаться в вашей модели.

Кроме того, я заметил, что у вас может быть опечатка в названии функции потерь loss='caegorical_crossentropy' ... но я думаю, что это другая проблема.

...