python训练模型函数参数_记录模型训练时loss值的变化情况

本文介绍如何在训练神经网络模型时记录loss值的变化,通过使用`sys.stdout.write`和` `控制输出不换行,结合`flush()`方法实时更新进度。同时,讨论了训练过程中可能出现的loss异常情况,包括数据预处理、数据格式、学习率设置、除零错误以及loss函数的使用,提供了相应的解决策略。
摘要由CSDN通过智能技术生成

记录训练过程中的每一步的loss变化

if verbose and step % verbose == 0:

sys.stdout.write('\r{} / {} : loss = {}'.format(

step, total_steps, np.mean(total_loss)))

sys.stdout.flush()

if verbose:

sys.stdout.write('\r')

sys.stdout.flush()

一般我们在训练神经网络模型的时候,都是每隔多少步,输出打印一下loss或者每一步打印一下loss,今天发现了另一种记录loss变化的方法,就是用

sys.stdout.write('\r{} / {} : loss = {}')

如图上的代码,可以记录每一个在每个epoch中记录用一行输出就可以记录每个step的loss值变化,

\r就是输出不会换行,因此如果你想同一样输出多次,在需要输出的字符串对象里面加上"\r",就可以回到行首了。

sys.stdout.flush() #一秒输出了一个数字

具体的实现就是下面的图:

20200616111141.jpg

这样在每个epoch中也可以观察loss变化,但是只需要打印一行,而不是每一行都输出。

补充知识:训练模型中损失(loss)异常分析

前言

训练模型过程中随时都要注意目标函数值(loss)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值