TF 回调函数之 ProfilerNotRunningError: Cannot stop profiling. No profiler is running.报错和tensorboard不能打开问题

Tensorflow2.0 ProfilerNotRunningError: Cannot stop profiling. No profiler is running.报错和tensorboard不能打开问题

#进行函数的训练
#epochs=10 代表进行了十期的模型训练
# 该出使用回调函数,目的使用回调函数来观察训练过程中网络内部的状态和统计信息
# TensorBoard, earlystopping, ModelCheckpoint。
#创建文件夹logdir
logdir = os.path.join('callbacks')
#判断文件夹是否存在
if not os.path.exists(logdir):
    os.mkdir(logdir)#不存在就创建新的文件夹
output_model_file = os.path.join(logdir,"fashion_mnist_model.h5")
callbacks = [
    keras.callbacks.TensorBoard(logdir),#创建文件夹
    keras.callbacks.ModelCheckpoint(output_model_file,#创建文件名
                                    save_best_only = True),#save—best-only 默认保存最好的模型
    keras.callbacks.EarlyStopping(patience = 5,min_delta=1e-3)
]
history = model.fit(x_train_scale,y_train,epochs=20,
          validation_data=(x_valid_scale,y_valid),
                    callbacks = callbacks)

在该过程中出现了很多问题,
在Windows环境下,如果输入的是

logdir = './callbacks'

则在pycharm会出现报错
Tensorflow2.0:ProfilerNotRunningError: Cannot stop profiling. No profiler is running.

解决办法就是将上述代码改成

logdir = os.path.join('callbacks')

该过程是因为Windows的一个bug

然后接下来就是打开tensorboard网页问题
建议使用谷歌的浏览器
同时我是使用的pycharm
如图所示在这里插入图片描述
在这里插入图片描述然后输入 tensorboard --logdir = callbacks 直接点击网址打开后就能查看到所需的数据在这里插入图片描述
出现多组数据是因为没有把之前的文件删除,然后进行叠加。
全代码

import tensorflow as tf  #导入TensorFlow
from tensorflow import keras #导入Keras
import matplotlib as mpl #该函数用来在python画图
import matplotlib.pyplot as plt #子类     %matplotlib inline 该方法是jupyter显示图,pycharm中使用plt.show()即可
import numpy as np
import sklearn #回归(Regression)、降维(Dimensionality Reduction)、分类(Classfication)、聚类(Clustering)等方法
import pandas as pd #python处理数据的库
import os
import sys
import time
fashion_mnist = keras.datasets.fashion_mnist#导入fashion——mnist数据集
(x_train_all,y_train_all),(x_test,y_test) = fashion_mnist.load_data()#下载数据
#将前五千张作为验证集,后五千张作为训练集
x_valid,x_train = x_train_all[:5000],x_train_all[5000:]
y_valid,y_train = y_train_all[:5000],y_train_all[5000:]
#数据归一化,目的消除部分的畸形数据
#x = (x-u)/std u为均值 std为方差
# fit的作用就是进行方差,均值等的特征运算
#trainsform的作用就是进行归一化
# 归一化在0~1之间是统计的概率分布,归一化在-1~+1之间是统计的坐标分布。
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
x_train_scale = scaler.fit_transform(x_train.astype(np.float32).reshape(-1,1)).reshape(-1,28,28)
x_valid_scale = scaler.transform(x_valid.astype(np.float32).reshape(-1,1)).reshape(-1,28,28)
x_test_scale = scaler.transform(x_test.astype(np.float32).reshape(-1,1)).reshape(-1,28,28)
#第一步建立模型
#对象的使用
model = keras.models.Sequential()
#使用add方法将Flatten添加到模型中
model.add(keras.layers.Flatten(input_shape=[28,28]))
#Dense隐藏的神经网络层 activation激活函数
# relu线性整流函数 y = max(0,x)
# softmax 将向量变成概率分布
model.add(keras.layers.Dense(300,activation='relu'))
model.add(keras.layers.Dense(100,activation='relu'))
model.add(keras.layers.Dense(10,activation='softmax'))

#损失函数,参数调节
# loss目的将y的值转换为向量
# optimizer参数的调节。
# metrics其他的性能指标,metrics=[‘accuracy’]为典型用法
model.compile(loss='sparse_categorical_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])
# model.summary()

#进行函数的训练
#epochs=10 代表进行了十期的模型训练
# 该出使用回调函数,目的使用回调函数来观察训练过程中网络内部的状态和统计信息
# TensorBoard, earlystopping, ModelCheckpoint。
#创建文件夹logdir
logdir = os.path.join('callbacks')
#判断文件夹是否存在
if not os.path.exists(logdir):
    os.mkdir(logdir)#不存在就创建新的文件夹
output_model_file = os.path.join(logdir,"fashion_mnist_model.h5")
callbacks = [
    keras.callbacks.TensorBoard(logdir),#创建文件夹
    keras.callbacks.ModelCheckpoint(output_model_file,#创建文件名
                                    save_best_only = True),#save—best-only 默认保存最好的模型
    keras.callbacks.EarlyStopping(patience = 5,min_delta=1e-3)
]
history = model.fit(x_train_scale,y_train,epochs=20,
          validation_data=(x_valid_scale,y_valid),
                    callbacks = callbacks)

#定义一个函数将数据按图输出
def plot_learning_curves(history):
    pd.DataFrame(history.history).plot(figsize=(8,5))
    plt.grid(True)#设置网格线
    plt.gca().set_ylim(0,1)#设置范围
    plt.show()

plot_learning_curves(history)
发布了21 篇原创文章 · 获赞 71 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_45056216/article/details/104451369