python 函数进度条怎么_python输出结果刷新及进度条的实现操作

print函数

python输出主要使用print函数,print函数介绍:

print(*objects, sep=" ", end="

", file=sys.stdout, flush=False)

*objects表示要打印的值,表示多个无名参数或需要打印的值;

sep=" ",对应上面要打印的值中间间隔,默认一个空格;

end="

",传入值打印完后的结束符号,默认为换行符,可以自行设置;

file=sys.stdout,设置打印输出参数,默认打印到终端,也可设置打印保存到文件;

flush=False,是否刷新打印结果。

一行输出结果并刷新

在一行中显示输出结果,每次刷新,其中""表示回到当前的开头,end=""表示结束符为空,这样就可以每次更新结果

import time

for i in range(15):

time.sleep(0.5) # 这里为了查看输出变化,实际使用不需要sleep

print("", i, end="")

# print("", 15-i, end="") # 从两位变一位会有问题

上面代码有个问题,当输出i从大到小,有位数变化时,结果不正确,可用format格式化输出,可解决问题:

import time

for i in range(15):

time.sleep(0.5)

print("", "{:d}".format(15-i), end="")

模型训练中loss和acc的刷新输出

我们在训练机器学习和深度学习模型中,总会隔一段时间输出损失函数和准确率,每次都直接print输出,终端会输出很多信息,这里用单行输出并刷新的方法来输出这些信息,我们设置epochs和batch的数量,每次batch输出刷新,一个epoch完后同时输出train和test的结果。

import time

# 设置epochs和batch的数量

epochs = 5

n_batch = 15

# 这里是测试自己设置的loss和acc

train_loss = 1.2345

train_acc = 0.345678

test_loss = 1.1234

test_acc = 0.235467

for i in range(epochs):

for j in range(n_batch):

time.sleep(0.5)

train_loss -= 0.001

train_acc += 0.0001

print("Epoch: {: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("Epoch: {: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="

")

这里注意,print里"Epoch"前面有一个"",这个必须要有,同时里面循环end="",外面循环end="

",最终打印结果如下:

c83742296db5c1f4e82ccfbcbb0370c8.png

tqdm显示进度条

首先安装tqdm:pip install tqdm

简单使用,读取整数,直接在tqdm中传入一个list, 如果直接给定的是一个整数,可以直接用trange

import time

from tqdm import tqdm, trange

for i in tqdm(range(100)):

time.sleep(0.05)

# do something

# for i in trange(100):

# time.sleep(0.05)

# # do something

显示结果如下,显示有百分比,以及当前处理到多少个

93128cfef5a1199b2afab131c30b3047.png

tdqm输入的list可以是字符串,也可以对输出进度条加一些描述

import time

from tqdm import tqdm

pbar = 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))

2adfd28d5676c39466e5a6c6f210293b.png

以上这篇python输出结果刷新及进度条的实现操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持云海天教程。

原文链接:https://blog.csdn.net/huanghaocs/article/details/89345059

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/385868.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL优化原理分析及优化方案总结

前言 今天中午收到我司安全部发了一封邮件:Jackson存在安全漏洞。查了一下,这件事并不算很新鲜了(已经过了5天的样子),本文来聊聊吧。 说起来还蛮戏剧化:阿里云向Jackson官方提交了一个Jackson序列化安全…

MySQL千万数据量深分页优化

前言 提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关。 而事务的ACID(即原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durabili…

Mysql和Redis数据同步该怎么做

前言 算法血拼:Google百度Alibaba字节Tencent网易360拼夕夕美团 不知不觉双11就来了,轰轰烈烈的秋招也完美结束了,不知算法与数据结构成为了多少小伙伴进击大厂的绊脚石? 恰好,我这两天花了点时间,整理了些各大厂(G…

java源代码保存在扩展名为,看完跪了

正文 在实际的工作项目中, 缓存成为高并发、高性能架构的关键组件 ,那么Redis为什么可以作为缓存使用呢?首先可以作为缓存的两个主要特征: 在分层系统中处于内存/CPU具有访问性能良好,缓存数据饱和,有良好…

java源码文件丢恢复需要多少钱,上岸蚂蚁金服!

京东Java研发岗一面(基础面,约1小时) 自我介绍,主要讲讲做了什么和擅长什么 springmvc和spring-boot区别 Autowired的实现原理 Bean的默认作用范围是什么?其他的作用范围? 索引是什么概念有什么作用&am…

java特性多态,90%的人看完都说好

01.第一份资料是图解网络 根据读者阅读偏好不同,共出了两个版本风格的 PDF,分别是亮白版本和暗黑版本。 02.第二份资料是计算机的相关知识 看完能让你对计算机有一个基础的了解和入门,是培养你 内核 的基础,我们看下目录大纲 基…

java环境变量怎么配置,详解系列文章

Git是什么 在回忆Git是什么的话,我们先来复习这几个概念哈~ 什么是版本控制? 百度百科定义是酱紫的~ 版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。 那些年,…

java环境变量的配置与详解,这些知识你必须拿下

1.三重心智模型 先给大家科普一个概念,“三重心智模型”。 认知科学家斯坦诺维奇,将人的心智模式,分成了三个部分。 第一层是自主心智,自主心智是我们通过进化与内隐学习获得。比如,我们看到蛇就会害怕,情…

centos php安装redis扩展,Centos7编译安装redis、php安装phpredis扩展

解压 进入 make:# tar zxvf redis-4.0.9.tar.gz# cd redis-4.0.9/# make# cd src# make install为了方便管理,将Redis文件中的配置文件和常用命令移动到统一文件中:# mkdir –p /usr/local/redis/bin# mkdir –p /usr/local/redis/etc# cp /t…

java环境变量的配置步骤,实现原理分析

1.笔试常见的问题? 面试常见的问题上面给的面试题链接基本都有。我只提几点: 写SQL:写SQL很常考察group by、内连接和外连接。手写代码:手写代码一般考单例、排序、线程、消费者生产者。我建议排序算法除了冒泡排序,…

java环境安装包出现覆盖,请查收

正文 先问小伙伴们一个问题,登录难吗?“登录有什么难得?输入用户名和密码,后台检索出来,校验一下不就行了。”凡是这样回答的小伙伴,你明显就是产品思维,登录看似简单,用户名和密码…

java生成json字符串,威力加强版

策略 1——停止挖掘 Law of Holes 是说当自己进洞就应该停止挖掘。对于单体式应用不可管理时这是最佳建议。换句话说,应该停止让单体式应用继续变大,也就是说当开发新功能时不应该为旧单体应用添加新代码,最佳方法应该是将新功能开发成独立微…

java生成二维码读取二维码,面试真题解析

拼多多一面 首先自我介绍 参加过哪些项目 并发编程三要素? 实现可见性的方法有哪些? 多线程的价值? 创建线程的三种方式的对比? 画出线程的状态流转图 常用的并发工具类有哪些? CyclicBarrier 和 CountDownLatch 的区…

Java春招实习面试经验汇总,面试篇

Part1 SpringIOC 学习Spring最重要的无非是Spring IOC以及Spring AOP,首先咱们把Spring IOC吃透,以下内容将截图展示。 Spring IOC主要学习内容分为以下7点: ①Spring框架 ②Spring lOC容器Bean对象实例化模拟实现 ③Spring IOC容器Bean对象…

Java最新大厂面试真题总结,瞬间高大上了!

什么是分布式锁?在回答这个问题之前,我们先回答一下什么是锁。 普通的锁,即在单机多线程环境下,当多个线程需要访问同一个变量或代码片段时,被访问的变量或代码片段叫做临界区域,我们需要控制线程一个一个…

php列表框怎么用,PHP+Mysql+jQuery查询和列表框选择操作实例讲解

这篇文章主要介绍了PHPMysqljQuery查询和列表框选择操作实现过程,需要的朋友可以参考下本文讲解如何通过ajax查询mysql数据,并将返回的数据显示在待选列表中,再通过选择最终将选项加入到已选区,可以用在许多后台管理系统中。本文列…

Java未来路在何方?图文详解!

Spring Security观后感——手绘思维脑(供参考) Spring Security手绘思维脑图 手绘的思维导图,是我自己根据自身的情况读完这套阿里出品的Spring Security王者晋级文档之后所绘的,相当于是一个知识的总结与梳理,我将其分为***“核心组件”与“…

Java未来路在何方?挑战大厂重燃激情!

字节跳动一面: 自我介绍,主要讲讲做了什么和擅长什么看你项目做Spring比较多, 问一下Spring相关的东西, IoC是什么概念?Bean的默认作用范围是什么?其他的作用范围?索引是什么概念有什么作用? MySQL里主要有哪些索弓|结构?哈希索弓和B树索引比较?平常用线程主…

php如何修改文件名,php修改文件名的实现方法_后端开发

c是什么意思_后端开发C是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。php修改文件名的实现方法在php中可以使用rename函数修改文…

Java架构师必备框架技能核心笔记,工作感悟

01 kafka入门 1.1 什么是kafka 1.2 kafka中的基本概念 1.2.1 消息和批次 1.2.2 主题和分区 1.2.3 生产者和消费者、偏移量、消费者群组 1.2.4 Broker和集群 1.2.5 保留消息 02 为什么选择kafka 2.1 优点 2.2 常见场景 2.2.1 活动跟踪 2.2.2 传递消息 2.2.3 收集指标和日志 2.2.…