import keras from keras import layers from keras.datasets import imdb from keras.preprocessing import sequence max_features = 2000 #作为特征的单词个数 max_len = 500 #在这么多单词之后截断文本 (x_train, y_train), (x_test, y_test) = imdb.load_data(num_words=max_features) x_train = sequence.pad_sequences(x_train, maxlen=max_len) print(x_train.shape) #(25000, 500) x_test = sequence.pad_sequences(x_test, maxlen=max_len) print(x_test.shape)
(25000, 500)
(25000, 500)
model = keras.models.Sequential() model.add(layers.Embedding(max_features, 128, input_length=max_len, name='embed')) model.add(layers.Conv1D(32, 7, activation='relu')) model.add(layers.MaxPooling1D(5)) model.add(layers.Conv1D(32, 7, activation='relu')) model.add(layers.GlobalMaxPooling1D()) model.add(layers.Dense(1)) model.summary() #由于电脑内存过小,无法写入25000行的数据,因此取前1000行 print(x_train[:1000].shape) #(1000, 500) model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['acc'])2. 在使用TensorBoard之前,首先需要创建一个目录,用来保存生成的日志文件,可手动创建也可使用终端命令创建。
3. 使用一个TensorBoard回调函数来训练模型$ mkdir my_log_dir
callbacks = [
keras.callbacks.TensorBoard(
log_dir='my_log_dir', #将日志写入这个位置
histogram_freq=1, #每一轮之后记录激活的直方图
embeddings_freq=1, #每一轮之后记录嵌入数据
embeddings_data=x_train[:1000].astype('float32') #指定embeddings_data的值
)
]
history = model.fit(x_train, y_train,
epochs=20,
batch_size=128,
validation_split=0.2,
callbacks=callbacks
)
4. 在命令行启动TensorBoard服务器,指示它读取回调函数当前正在写入的日志
5. 利用keras.utils.plot_model函数,将模型绘制为层组成的图tensorboard --logdir "D:2022ThesisDeep Learning with PythonCodemy_log_dir"
from keras.utils import plot_model plot_model(model,to_file='model.png')
报错还未解决!



