记录模型训练时loss值的变化

本文介绍了一种新颖的记录神经网络训练过程中loss变化的方法,通过使用sys.stdout.write(' ')实现在同一行更新loss值,便于实时观察每个epoch内loss的变化趋势,而无需每次打印新行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    记录训练过程中的每一步的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()  #一秒输出了一个数字

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值