时间:2021-05-23
print函数
python输出主要使用print函数,print函数介绍:
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
*objects表示要打印的值,表示多个无名参数或需要打印的值;
sep=' ',对应上面要打印的值中间间隔,默认一个空格;
end='\n',传入值打印完后的结束符号,默认为换行符,可以自行设置;
file=sys.stdout,设置打印输出参数,默认打印到终端,也可设置打印保存到文件;
flush=False,是否刷新打印结果。
一行输出结果并刷新
在一行中显示输出结果,每次刷新,其中'\r'表示回到当前的开头,end=''表示结束符为空,这样就可以每次更新结果
import timefor i in range(15): time.sleep(0.5) # 这里为了查看输出变化,实际使用不需要sleep print('\r', i, end='') # print('\r', 15-i, end='') # 从两位变一位会有问题上面代码有个问题,当输出i从大到小,有位数变化时,结果不正确,可用format格式化输出,可解决问题:
import timefor i in range(15): time.sleep(0.5) print('\r', "{:d}".format(15-i), end='')模型训练中loss和acc的刷新输出
我们在训练机器学习和深度学习模型中,总会隔一段时间输出损失函数和准确率,每次都直接print输出,终端会输出很多信息,这里用单行输出并刷新的方法来输出这些信息,我们设置epochs和batch的数量,每次batch输出刷新,一个epoch完后同时输出train和test的结果。
import time# 设置epochs和batch的数量epochs = 5n_batch = 15# 这里是测试自己设置的loss和acctrain_loss = 1.2345train_acc = 0.345678test_loss = 1.1234test_acc = 0.235467for i in range(epochs): for j in range(n_batch): time.sleep(0.5) train_loss -= 0.001 train_acc += 0.0001 print("\rEpoch: {:d} batch: {:d} loss: {:.4f} acc: {:.4f} | {:.2%}" .format(i+1, j+1, train_loss, train_acc, (j+1)*1.0/n_batch), end='') test_loss -= 0.001 test_acc += 0.0001 print("\rEpoch: {:d}/{:d} train_loss: {:.4f} test_loss: {:.4f} train_acc: {:.4f} test_acc: {:.4f}" .format(i+1, 5, train_loss, test_loss, train_acc, test_acc), end='\n')这里注意,print里"Epoch"前面有一个"\r",这个必须要有,同时里面循环end='',外面循环end='\n',最终打印结果如下:
tqdm显示进度条
首先安装tqdm:pip install tqdm
简单使用,读取整数,直接在tqdm中传入一个list, 如果直接给定的是一个整数,可以直接用trange
import timefrom tqdm import tqdm, trangefor i in tqdm(range(100)): time.sleep(0.05) # do something# for i in trange(100):# time.sleep(0.05)# # do something显示结果如下,显示有百分比,以及当前处理到多少个
tdqm输入的list可以是字符串,也可以对输出进度条加一些描述
import timefrom tqdm import tqdmpbar = tqdm(["a", "b", "c", "d", "e"])for char in pbar: time.sleep(0.8) pbar.set_description("Processing %s" % char) # pbar.set_description("Processing {0}".format(char))以上这篇python输出结果刷新及进度条的实现操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在生活中,进度条是很常见的,那么,进度条是如何实现的呢?首先,进度条的动态是利用人眼视觉暂留效果的。实际上是如下过程:先输出:[=]表示进度是1%,刷新之后再输
python实现文本进度条程序进度条加载进度条单行刷新功能,具体内容如下所示:利用time库来替代某个程序的进行过程,做实例,思路是,简单打印出来程序进度单行刷
本文实例讲述了python在控制台输出进度条的方法。分享给大家供大家参考。具体实现方法如下:进度条效果如下所示:|#######################
初识进度条ProgressBar软件:AndroidStudio实现:1.点击按钮,进度条隐藏;再次点击,进度条出现。循环2.点击按钮,水平进度条进度呈现并+1
有些时候我们做的程序需要进度条,而vs提供的控件不是我们想要的。先看效果图:进度条闪烁动画,当然背景可设为Transparent之前想手绘进度条线条的,结果控件