TensorFlow не записывает события

Ниже приведен фрагмент кода, который я использую для отслеживания событий при обучении DNNRegressor. Я бегу из ноутбука Jupyter.

Во время обучения я получаю следующие ошибки в терминале:

E tensorflow/core/util/events_writer.cc:162] Файл событий /Users/eran/Genie/PNP/TB/events.out.tfevents.1473067505.Eran исчез. E tensorflow/core/util/events_writer.cc:131] Не удалось сбросить 2498 событий в /Users/eran/Genie/PNP/TB/events.out.tfevents.1473067505.Eran

def add_monitors():
     validation_metrics = {'MeanSquaredError': tf.contrib.metrics.streaming_mean_squared_error}
     monitors = learn.monitors.ValidationMonitor(valid_X, valid_y, every_n_steps=50, metrics=validation_metrics)
     return [monitors]
      regressor = learn.DNNRegressor(model_dir='/Users/eran/Genie/PNP/TB', 
                                hidden_units=[32,16], feature_columns=learn.infer_real_valued_columns_from_input(X),        
 optimizer=tf.train.ProximalAdagradOptimizer(learning_rate=0.1),       
 config=learn.RunConfig(save_checkpoints_secs=1))
     monitors = add_monitors()
     regressor.fit(X, y, steps=10000, batch_size=20, monitors=monitors)

Любые идеи? При открытии TensorBoard я не вижу записываемых событий


person Eran Segal    schedule 05.09.2016    source источник
comment
Похоже, файлы событий не записываются. Достаточно ли места на диске? Существует ли каталог в сообщении об ошибке?   -  person Alexandre Passos    schedule 07.09.2016
comment
На диске достаточно места, и каталог существует. Я думаю, что проблема заключается в работе через конкретный класс DNNRegressor, потому что, когда я сам настраиваю записи через SummaryWriters, он работает хорошо. Интересно, есть ли у кого-нибудь примеры кода, который правильно пишется и может быть загружен в TensorBoard с помощью класса DNNRegressor?   -  person Eran Segal    schedule 08.09.2016
comment
Что вы имеете в виду, когда пишете сами, а не используете dnnregressor?   -  person Alexandre Passos    schedule 09.09.2016
comment
Извините, было не ясно. Написав сам, я имел в виду написание полного кода tensorflow, который управляет запуском, т. е. инициирует сеанс, вызывает session.run для запуска команд, строит граф tensorflow. В DNNRegressor все делается под капотом в рамках этого класса-обертки, и кажется, что таким образом тензорборд не работает. Если у вас есть пример того, как DNNRegressor успешно записывает журналы, которые правильно загружаются tensorboard, это было бы наиболее полезно.   -  person Eran Segal    schedule 11.09.2016


Ответы (2)


log_dir=path_to_events_file

в вашем коде, если вы добавите код каталога воссоздания, такой как tf.gfile.DeleteRecursively(log_dir);tf.gfile.MakeDirs(log_dir) . этот шаг должен быть выполнен до любого средства записи сводки, иначе tf не сможет найти нужный файл событий.

person Yumin Xie    schedule 02.03.2017

Если вы используете Windows, укажите каталог следующим образом:

model_dir='C:\\Users\\eran\\Genie\\PNP\\TB'
person Erkan Şirin    schedule 23.02.2018
comment
Нет потребности. Косая черта работает в Windows. Для кроссплатформенности лучше использовать косую черту. - person user1318499; 23.09.2019