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

    记录训练过程中的每一步的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变化,但是只需要打印一行,而不是每一行都输出。

猜你喜欢

转载自blog.csdn.net/orangefly0214/article/details/83064171
今日推荐