Keras Tensorboard Ошибка при активной частоте гистограммы - PullRequest
0 голосов
/ 02 мая 2018

Я использую простую нейронную сеть с Keras, бэкэнд Tensorflow, когда пытаюсь использовать Tesorboard для мониторинга тренировок.

Моя модель следующая:

import keras
from keras.layers.core import Dense, Activation, Dropout
from keras.models import Sequential
model = Sequential()
model.add(Dense(32, input_dim=500))
model.add(Activation('relu'))
model.add(Dropout(0.2))
model.add(Dense(2, activation='softmax'))
model.compile(optimizer='rmsprop',
          loss='binary_crossentropy',
          metrics=['accuracy'])

Я пытаюсь запустить его, используя следующую конфигурацию:

tensorboard = keras.callbacks.TensorBoard(log_dir="../TFlogs",
                                          histogram_freq=2, batch_size=300, 
                                          write_grads=True, write_images=True)
one_hot_labels = keras.utils.to_categorical(y_train, num_classes=2)
history = model.fit(X_train, one_hot_labels, epochs=10,
                    validation_split=0.1, batch_size=300, callbacks=[tensorboard])

Однако по какой-то причине я получаю следующую ошибку:

  File "C:/Users/user/PycharmProjects/SpamFilter/Filter/NeuralModel.py", line 108, in fit
history = model.fit(X_train, one_hot_labels, epochs=10, validation_split=0.1, batch_size=300, callbacks=[tensorboard])
  File "C:\Users\user\PycharmProjects\SpamFilter\venvKeras\lib\site-packages\keras\models.py", line 1002, in fit
validation_steps=validation_steps)
  File "C:\Users\user\PycharmProjects\SpamFilter\venvKeras\lib\site-packages\keras\engine\training.py", line 1705, in fit
validation_steps=validation_steps)
  File "C:\Users\user\PycharmProjects\SpamFilter\venvKeras\lib\site-packages\keras\engine\training.py", line 1256, in _fit_loop
callbacks.on_epoch_end(epoch, epoch_logs)
  File "C:\Users\user\PycharmProjects\SpamFilter\venvKeras\lib\site-packages\keras\callbacks.py", line 77, in on_epoch_end
callback.on_epoch_end(epoch, logs)
 File "C:\Users\user\PycharmProjects\SpamFilter\venvKeras\lib\site-packages\keras\callbacks.py", line 855, in on_epoch_end
result = self.sess.run([self.merged], feed_dict=feed_dict)
 File "C:\Users\user\PycharmProjects\SpamFilter\venvKeras\lib\site-packages\tensorflow\python\client\session.py", line 905, in run
run_metadata_ptr)
 File "C:\Users\user\PycharmProjects\SpamFilter\venvKeras\lib\site-packages\tensorflow\python\client\session.py", line 1109, in _run
np_val = np.asarray(subfeed_val, dtype=subfeed_dtype)
 File "C:\Users\user\PycharmProjects\SpamFilter\venvKeras\lib\site-packages\numpy\core\numeric.py", line 492, in asarray
return array(a, dtype, copy=False, order=order)
ValueError: setting an array element with a sequence.

Когда я устанавливаю параметр TensorBoard histogram_freq=0 Я не получаю сообщение об ошибке, но хочу получить информацию о гистограмме, может кто-нибудь помочь мне найти причину этого?

1 Ответ

0 голосов
/ 05 марта 2019

Попробуйте запустить K.clear_session() перед созданием модели.

См. Эту ветку GitHub для ссылки на эту ошибку.

...