日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發(fā)布時間:2023/11/30 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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="")

模型訓練中l(wèi)oss和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"前面有一個"",這個必須要有,同時里面循環(huán)end="",外面循環(huán)end="

",最終打印結果如下:

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

顯示結果如下,顯示有百分比,以及當前處理到多少個

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

以上這篇python輸出結果刷新及進度條的實現操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持云海天教程。

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

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的python 函数进度条怎么_python输出结果刷新及进度条的实现操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。