归一化处理操作,回调函数操作

归一化操作

#方法 x= (x-u)/std
之前我们的数据集是np.int形式,为了做除法,我们把它转换成float32

# x_train:[none,28,28]->[none,784]->[-1,28,28] 
#切记要转换回去!!!!!!!
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
x_train_scaled = scaler.fit_transform(x_train.astype(np.float32).reshape(-1,1))
x_train_scaled = x_train_scaled.reshape(-1, 28, 28)
x_valid_scaled = scaler.transform(x_valid.astype(np.float32).reshape(-1,1))
x_valid_scaled = x_valid_scaled.reshape(-1, 28, 28)
x_test_scaled = scaler.transform(x_test.astype(np.float32).reshape(-1,1))
x_test_scaled = x_test_scaled.reshape(-1, 28, 28)

这样我们就进行了归一化操作
验证一下,我们打印一下训练集中最大值和最小值

print(np.max(x_train_scaled),np.min(x_train_scaled))

之前是255和0
现在归一化后是

2.023144 -0.8105139

在这里插入图片描述
效果比之前好了一丢丢hhhhh

回调函数

回调函数是callbacks:
当我们训练模型时候,我们可能需要做一些事
如下
EarlyStopping:当模型训练期间loss不在下降的时候,可以提前停掉训练而不是经历所有遍历
ModelCheckpoint:模型每隔一段时间把训练状态以checkpoint保存下来
Tensorboard:可以出一个指标,随着训练过程中就能展示出来
对于tensorboard,我们需要的是一个文件夹,对于checkpoint,需要一个文件名

from tensorflow.keras.callbacks import TensorBoard
logdir = './ttt'
if not os.path.exists(logdir):
    os.mkdir(logdir)
output_model_file = os.path.join(logdir,"fashion_mnist_model.h5")

callbackslist=[keras.callbacks.TensorBoard(logdir),
               keras.callbacks.ModelCheckpoint(output_model_file,
                                               ave_best_only=True,
                                               save_weights_only=True
                                               ),
               keras.callbacks.EarlyStopping(patience=5, min_delta=1e-3),
               ]

history = model.fit(
    x_train_scaled, y_train,epochs=10,
    validation_data=(x_valid_scaled,y_valid),callbacks=callbackslist)

下面便是一个经常会出错的问题
有时候我们经常忘记指令是什么,打错便会提示:
在这里插入图片描述
后来看到网上教程,找到问题在哪,通过进入系统cmd命令后,先输入
tensorboard -logdir=log
这时候再找到刚才系统生成log文件的位置,复制下来,地址在代码里有所体现,logdir = ‘./graph_def_and_weights’
所以下一步就是在cmd命令行里输入:
tensorboard --logdir=C:\Users\asus\Desktop\pythonProject\ttt,然后就会跳出一个网址: http://localhost:6006/,相当于构建了一个个人服务器。
在这里插入图片描述
将网址输入到浏览器中,就会得到一个按照每次遍历迭代的准确率,loss等指标的图像
在这里插入图片描述
另一种方法就是,在pycharm中自带的terminal中输入
tensorboard --logdir=C:\Users\asus\Desktop\pythonProject\ttt
所得结果与cmd一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值