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.pswp.cn/news/385868.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/385868.shtml
英文地址,請注明出處:http://en.pswp.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…

python字符串是用雙引號括起來的_用python連接字符串列表并用引號將每個字符串括起來...

您也可以執行一個format調用>>> words [hello, world, you, look, nice]>>> "{0}".format(", ".join(words))"hello", "world", "you", "look", "nice"更新:一些基準測試…

java源代碼保存在擴展名為,看完跪了

正文 在實際的工作項目中, 緩存成為高并發、高性能架構的關鍵組件 ,那么Redis為什么可以作為緩存使用呢?首先可以作為緩存的兩個主要特征: 在分層系統中處于內存/CPU具有訪問性能良好,緩存數據飽和,有良好…

java源碼文件丟恢復需要多少錢,上岸螞蟻金服!

京東Java研發崗一面(基礎面,約1小時) 自我介紹,主要講講做了什么和擅長什么 springmvc和spring-boot區別 Autowired的實現原理 Bean的默認作用范圍是什么?其他的作用范圍? 索引是什么概念有什么作用&am…

php 靜態方法特點,淺析php靜態方法與非靜態方法的用法區別

在php編程中,static關鍵字聲明一個屬性或方法是和類相關的,而不是和類的某個特定的實例相關,因此,這類屬性或方法也稱為“類屬性”或“類方法”如果訪問控制權限允許,可不必創建該類對象而直接使用類名加兩個冒號“::”…

java特性多態,90%的人看完都說好

01.第一份資料是圖解網絡 根據讀者閱讀偏好不同,共出了兩個版本風格的 PDF,分別是亮白版本和暗黑版本。 02.第二份資料是計算機的相關知識 看完能讓你對計算機有一個基礎的了解和入門,是培養你 內核 的基礎,我們看下目錄大綱 基…

php session 釋放,php中刪除Session和銷毀Session的方法

刪除某個session值可以使用PHP的unset函數,刪除后就會從全局變量$_SESSION中去除,無法訪問。session_start();$_SESSION[name] jobs;unset($_SESSION[name]);echo $_SESSION[name]; //提示name不存在如果要刪除所有的session,可以使用sessio…

java環境變量怎么配置,詳解系列文章

Git是什么 在回憶Git是什么的話,我們先來復習這幾個概念哈~ 什么是版本控制? 百度百科定義是醬紫的~ 版本控制是指對軟件開發過程中各種程序代碼、配置文件及說明文檔等文件變更的管理,是軟件配置管理的核心思想之一。 那些年,…

php數據接口api安全,API接口數據安全之授權碼sign

**API接口數據安全之授權碼sign**>[success] 1. ASE加密方式加密~~~class Aes{private $key null;/***param String $key 密鑰*return String*/public funciton __construct(){//配置文件中的asekey 服務端及客戶端必須保持一致 且加密key必須為16 、32、64位$this->key…

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、內連接和外連接。手寫代碼:手寫代碼一般考單例、排序、線程、消費者生產者。我建議排序算法除了冒泡排序,…

php 方法參數傳遞,在PHP中將實例方法作為參數傳遞

我想創建一個Listener類class Listener {var $listeners array();public function add(callable $function) {$this->listeners[] $function;}public function fire() {foreach($this->listeners as $function) {call_user_func($function);}}}class Foo {public funct…

java環境安裝包出現覆蓋,請查收

正文 先問小伙伴們一個問題,登錄難嗎?“登錄有什么難得?輸入用戶名和密碼,后臺檢索出來,校驗一下不就行了。”凡是這樣回答的小伙伴,你明顯就是產品思維,登錄看似簡單,用戶名和密碼…

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

策略 1——停止挖掘 Law of Holes 是說當自己進洞就應該停止挖掘。對于單體式應用不可管理時這是最佳建議。換句話說,應該停止讓單體式應用繼續變大,也就是說當開發新功能時不應該為舊單體應用添加新代碼,最佳方法應該是將新功能開發成獨立微…

MATLAB小波軟硬閾值去噪代碼,matlab編程小波變換進行圖像去噪處理,包括各種軟硬閾值的選取函數...

內容:matlab編程小波變換進行圖像去噪處理,包括各種軟硬閾值的選取函數,%小波閾值去噪clear allclc;fimread(graylena.bmp);fdouble(f);ssize(f);rimnoise2(gaussian,s(1),s(2),0,20);%填加高斯白噪聲fnoisyfr;%對圖像進行三層小波分解[c,s]w…

java生成二維碼讀取二維碼,面試真題解析

拼多多一面 首先自我介紹 參加過哪些項目 并發編程三要素? 實現可見性的方法有哪些? 多線程的價值? 創建線程的三種方式的對比? 畫出線程的狀態流轉圖 常用的并發工具類有哪些? CyclicBarrier 和 CountDownLatch 的區…

iis 7.5 php 防止跨站,iis安全---防范XSS跨站式腳本攻擊

iis安全---防范XSS跨站式腳本攻擊網站要怎么防范常見的XSS跨站式腳本攻擊呢,我們先從XSS跨站式腳本攻擊的原理來說起。網站遭受XSS跨站式腳本攻擊的基本原理1.本地利用漏洞,這種漏洞存在于頁面中客戶端腳本自身。其攻擊過程如下所示:A給B發送…