【发布时间】:2018-12-25 03:39:56
【问题描述】:
我在使用带有 Keras 的 TensorBoard 创建日志文件时遇到错误。
代码
import pandas as pd
from keras.callbacks import TensorBoard
from keras.models import Sequential
from keras.layers import *
training_data_df = pd.read_csv("sales_data_training_scaled.csv")
X = training_data_df.drop('total_earnings', axis=1).values
Y = training_data_df[['total_earnings']].values
# Define the model
model = Sequential()
model.add(Dense(50, input_dim=9, activation='relu', name='layer_1'))
model.add(Dense(100, activation='relu', name='layer_2'))
model.add(Dense(50, activation='relu', name='layer_3'))
model.add(Dense(1, activation='linear', name='output_layer'))
model.compile(loss='mean_squared_error', optimizer='adam')
# Create a TensorBoard logger
logger = TensorBoard(
log_dir='logs',
histogram_freq=5,
write_graph=True
)
# Train the model
model.fit(
X,
Y,
epochs=50,
shuffle=True,
verbose=2,
callbacks=[logger]
)
# Load the separate test data set
test_data_df = pd.read_csv("sales_data_test_scaled.csv")
X_test = test_data_df.drop('total_earnings', axis=1).values
Y_test = test_data_df[['total_earnings']].values
test_error_rate = model.evaluate(X_test, Y_test, verbose=0)
print(test_error_rate)
然后我得到这个错误:
Traceback(最近一次调用最后一次):
文件“E:/Building.Deep.Learning.Applications.with.Keras.2.0/Exercise Files/06/model_logging final.py”,第 34 行,在 回调=[记录器]
文件 "C:\Python3.6.4\lib\site-packages\keras\engine\training.py", 第 1041 行,适合 steps_per_epoch=steps_per_epoch)
文件 "C:\Python3.6.4\lib\site-packages\keras\engine\training_arrays.py", 第 219 行,在 fit_loop callbacks.on_epoch_end(epoch, epoch_logs)
文件“C:\Python3.6.4\lib\site-packages\keras\callbacks.py”,第 77 行, 在 on_epoch_end callback.on_epoch_end(epoch, logs)
文件“C:\Python3.6.4\lib\site-packages\keras\callbacks.py”,行 865,在on_epoch_end
raise ValueError("如果打印直方图,validation_data 必须是" ValueError: 如果打印直方图,validation_data 必须是 提供,并且不能是生成器。
【问题讨论】:
标签: python tensorflow keras