日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python第三方庫visdom的使用入門教程

瀏覽:104日期:2022-06-19 11:11:46
概述

Visdom:一個靈活的可視化工具,可用來對于 實時,富數據的 創建,組織和共享。支持Torch和Numpy還有pytorch。

visdom可以實現遠程數據的可視化,對科學實驗有很大幫助。我們可以遠程的發送圖片和數據,并進行在ui界面顯示出來,檢查實驗結果,或者debug.

要用這個先要安裝,對于python模塊而言,安裝都是蠻簡單的:

pip install visdom

安裝完每次要用直接輸入代碼打開:

python -m visdom.server

然后根據提示在瀏覽器中輸入相應地址即可,默認地址為:http://localhost:8097/

使用示例1. vis.text(), vis.image()

import visdom # 添加visdom庫import numpy as np # 添加numpy庫vis = visdom.Visdom(env=’test’) # 設置環境窗口的名稱,如果不設置名稱就默認為mainvis.text(’test’, win=’main’) # 使用文本輸出vis.image(np.ones((3, 100, 100))) # 繪制一幅尺寸為3 * 100 * 100的圖片,圖片的像素值全部為1

其中:

visdom.Visdom(env=‘命名新環境’)vis.text(‘文本’, win=‘環境名’)vis.image(‘圖片’,win=‘環境名’)

python第三方庫visdom的使用入門教程

2. 畫直線 .line() 一條

import visdomimport numpy as npvis = visdom.Visdom(env=’my_windows’) # 設置環境窗口的名稱,如果不設置名稱就默認為mainx = list(range(10))y = list(range(10))# 使用line函數繪制直線 并選擇顯示坐標軸vis.line(X=np.array(x), Y=np.array(y), opts=dict(showlegend=True))

vis.line([x], [y], opts=dict(showlegend=True)[展示說明])

python第三方庫visdom的使用入門教程

兩條

import visdomimport numpy as npvis = visdom.Visdom(env=’my_windows’)x = list(range(10))y = list(range(10))z = list(range(1,11))vis.line(X=np.array(x), Y=np.column_stack((np.array(y), np.array(z))), opts=dict(showlegend=True))

vis.line([x], [y=np.column_stack((np.array(y),np.array(z),np.array(還可以增加)))])np.column_stack(a,b), 表示兩個矩陣按列合并

python第三方庫visdom的使用入門教程

sin(x)曲線

import visdomimport torchvis = visdom.Visdom(env=’sin’)x = torch.arange(0, 100, 0.1)y = torch.sin(x)vis.line(X=x,Y=y,win=’sin(x)’,opts=dict(showlegend=True))

python第三方庫visdom的使用入門教程

持續更新圖表

import visdomimport numpy as npvis = visdom.Visdom(env=’my_windows’)# 利用update更新圖像x = 0y = 0my_win = vis.line(X=np.array([x]), Y=np.array([y]), opts=dict(title=’Update’))for i in range(10): x += 1 y += i vis.line(X=np.array([x]), Y=np.array([y]), win=my_win, update=’append’)

使用“append”追加數據,“replace”使用新數據,“remove”用于刪除“name”中指定的跟蹤。

python第三方庫visdom的使用入門教程

vis.images()

import visdomimport torch# 新建一個連接客戶端# 指定env = ’test1’,默認是’main’,注意在瀏覽器界面做環境的切換vis = visdom.Visdom(env=’test1’)# 繪制正弦函數x = torch.arange(1, 100, 0.01)y = torch.sin(x)vis.line(X=x,Y=y, win=’sinx’,opts={’title’:’y=sin(x)’})# 繪制36張圖片隨機的彩色圖片vis.images(torch.randn(36,3,64,64).numpy(),nrow=6, win=’imgs’,opts={’title’:’imgs’})

python第三方庫visdom的使用入門教程

python第三方庫visdom的使用入門教程

繪制loss函數的變化趨勢

#繪制loss變化趨勢,參數一為Y軸的值,參數二為X軸的值,參數三為窗體名稱,參數四為表格名稱,參數五為更新選項,從第二個點開始可以更新vis.line(Y=np.array([totalloss.item()]), X=np.array([traintime]),win=(’train_loss’),opts=dict(title=’train_loss’),update=None if traintime == 0 else ’append’)

對于Visdom更詳細的代碼示例詳見 鏈接1

更多介紹詳見 鏈接2

實際代碼

此代碼出自CycleGAN的 utils.py 里一個實現

# 記錄訓練日志,顯示生成圖,畫loss曲線 的類class Logger(): def __init__(self, n_epochs, batches_epoch):’’’:param n_epochs: 跑多少個epochs:param batches_epoch: 一個epoch有幾個batches’’’self.viz = Visdom() # 默認env是main函數self.n_epochs = n_epochsself.batches_epoch = batches_epochself.epoch = 1 # 當前epoch數self.batch = 1 # 當前batch數self.prev_time = time.time()self.mean_period = 0self.losses = {}self.loss_windows = {} # 保存loss圖的字典集合self.image_windows = {} # 保存生成圖的字典集合 def log(self, losses=None, images=None):self.mean_period += (time.time() - self.prev_time)self.prev_time = time.time()sys.stdout.write(’rEpoch %03d/%03d [%04d/%04d] -- ’ % (self.epoch, self.n_epochs, self.batch, self.batches_epoch))for i, loss_name in enumerate(losses.keys()): if loss_name not in self.losses:self.losses[loss_name] = losses[loss_name].data.item() #這里losses[loss_name].data是個tensor(包在值外面的數據結構),要用item方法取值 else:self.losses[loss_name] = losses[loss_name].data.item() if (i + 1) == len(losses.keys()):sys.stdout.write(’%s: %.4f -- ’ % (loss_name, self.losses[loss_name]/self.batch)) else:sys.stdout.write(’%s: %.4f | ’ % (loss_name, self.losses[loss_name]/self.batch))batches_done = self.batches_epoch * (self.epoch - 1) + self.batchbatches_left = self.batches_epoch * (self.n_epochs - self.epoch) + self.batches_epoch - self.batchsys.stdout.write(’ETA: %s’ % (datetime.timedelta(seconds=batches_left*self.mean_period/batches_done)))# 顯示生成圖for image_name, tensor in images.items(): # 字典.items()是以list形式返回鍵值對 if image_name not in self.image_windows:self.image_windows[image_name] = self.viz.image(tensor2image(tensor.data), opts={’title’:image_name}) else:self.viz.image(tensor2image(tensor.data), win=self.image_windows[image_name], opts={’title’:image_name})# End of each epochif (self.batch % self.batches_epoch) == 0: # 一個epoch結束時 # 繪制loss曲線圖 for loss_name, loss in self.losses.items():if loss_name not in self.loss_windows: self.loss_windows[loss_name] = self.viz.line(X=np.array([self.epoch]), Y=np.array([loss/self.batch]), opts={’xlabel’:’epochs’, ’ylabel’:loss_name, ’title’:loss_name})else: self.viz.line(X=np.array([self.epoch]), Y=np.array([loss/self.batch]), win=self.loss_windows[loss_name], update=’append’) #update=’append’可以使loss圖不斷更新# 每個epoch重置一次lossself.losses[loss_name] = 0.0 # 跑完一個epoch,更新一下下面參數 self.epoch += 1 self.batch = 1 sys.stdout.write(’n’)else: self.batch += 1

train.py中調用代碼是

# 繪畫Loss圖logger = Logger(opt.n_epochs, len(dataloader))for epoch in range(opt.epoch, opt.n_epochs): for i, batch in enumerate(dataloader):......# 記錄訓練日志 # Progress report (http://localhost:8097) 顯示visdom畫圖的網址 logger.log({’loss_G’: loss_G, ’loss_G_identity’: (loss_identity_A + loss_identity_B),’loss_G_GAN’: (loss_GAN_A2B + loss_GAN_B2A),’loss_G_cycle’: (loss_cycle_ABA + loss_cycle_BAB), ’loss_D’: (loss_D_A + loss_D_B)}, images={’real_A’: real_A, ’real_B’: real_B, ’fake_A’: fake_A, ’fake_B’: fake_B})

python第三方庫visdom的使用入門教程

到此這篇關于python第三方庫visdom的使用入門教程的文章就介紹到這了,更多相關python visdom使用內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
综合激情视频| 久久激情一区| 视频一区二区三区入口| 欧美国产美女| 中文av在线全新| 国产精品国产一区| 亚洲国产福利| 日韩综合精品| 婷婷激情一区| 欧美福利一区| 国产视频亚洲| 亚洲开心激情| 久久精品超碰| 国产一区二区三区不卡视频网站| 成人欧美一区二区三区的电影| 日本美女一区| 午夜日韩福利| 色综合视频一区二区三区日韩 | 免费在线欧美黄色| 国产精品日韩精品在线播放| 麻豆高清免费国产一区| 久久久久久自在自线| 99热国内精品| 久热re这里精品视频在线6| 中文字幕日本一区| 国产99在线| 在线亚洲自拍| 国产欧美在线| 日本高清不卡一区二区三区视频| 黄色亚洲免费| 亚洲资源在线| 欧美黄色精品| 成人精品中文字幕| 免费日韩一区二区| 国产探花在线精品| caoporn视频在线| 夜夜嗨一区二区| 欧美日韩va| 中文字幕高清在线播放| 国产精品人人爽人人做我的可爱| 国产日韩欧美一区| caoporn视频在线| 三级一区在线视频先锋| 欧美日韩一区二区国产| av在线最新| 亚洲黄色影院| 国产欧美欧美| 亚洲不卡av不卡一区二区| 日本欧洲一区二区| 精品视频99| 欧美精品国产| 不卡在线一区二区| 国产日产高清欧美一区二区三区| 成人日韩在线观看| 天海翼精品一区二区三区| 国产精品99一区二区三| 国产一区二区亚洲| 在线精品一区| www.com.cn成人| 综合激情一区| 国产伊人久久| 亚洲人成精品久久久| 粉嫩av一区二区三区四区五区 | 91p九色成人| 日韩精品久久久久久久电影99爱| 四虎成人精品一区二区免费网站 | 福利在线一区| 中文字幕日韩高清在线| 欧美三级网址| 久久国产视频网| 午夜久久一区| 国产一区二区三区四区大秀| 亚洲男人在线| 国产伊人精品| 国产一区二区三区国产精品| 亚洲精品极品| 99久久视频| 精品国产三区在线| 日韩一区精品| 合欧美一区二区三区| 黄色精品视频| 欧美日韩视频免费看| 亚洲欧美日韩视频二区| 国产v综合v| 欧美激情亚洲| 亚洲综合专区| 午夜精品影院| 四虎影视精品| 国产一区国产二区国产三区| 日本va欧美va欧美va精品| 99国产精品久久久久久久成人热| 久久久久久色 | 精品国内亚洲2022精品成人| 中文视频一区| 激情久久久久久久| 欧美激情另类| 麻豆精品av| 欧美日韩午夜电影网| 2023国产精品久久久精品双 | 国产成人精选| 欧美黄页在线免费观看| 国产探花一区二区| 日韩区一区二| 亚洲bt欧美bt精品777| 性欧美长视频| 国产一级久久| 欧美精品黄色| 欧美~级网站不卡| 神马午夜久久| 91精品啪在线观看国产18| 色婷婷综合网| 国产精品久久久久久久免费观看| 国产欧美综合一区二区三区| 91欧美极品| 国产亚洲精品美女久久| 日韩精品亚洲专区| 日本中文字幕视频一区| 日本一区中文字幕| 日韩欧美三区| 日韩精品久久久久久| 亚洲欧洲免费| 日本aⅴ亚洲精品中文乱码 | 色8久久久久| 日本va欧美va精品发布| 日韩av不卡在线观看| 日韩精品欧美精品| 日本在线视频一区二区| 青青草伊人久久| 国产精品中文字幕亚洲欧美| 欧美精品91| 日本激情一区| 秋霞影院一区二区三区| 国产一区日韩一区| av成人国产| 亚洲精品在线二区| 中文字幕日韩欧美精品高清在线| 日韩精品午夜视频| 国产精品v一区二区三区| 美腿丝袜在线亚洲一区| 国产中文欧美日韩在线| 成人一区不卡| 91精品国产成人观看| 黄色亚洲大片免费在线观看| 免费视频久久| 18国产精品| 精品国产三区在线| 精品亚洲美女网站| 今天的高清视频免费播放成人| 好吊日精品视频| 婷婷精品在线观看| 欧美精品1区| 亚洲a一区二区三区| 日韩中文字幕区一区有砖一区| 成年男女免费视频网站不卡| 国产一区清纯| 日韩中文字幕无砖| 国产精品一区二区99| a天堂资源在线| 宅男噜噜噜66国产日韩在线观看| 亚洲3区在线| 精品国产精品国产偷麻豆| 久久精品二区三区| 免费欧美在线视频| 美女久久99| 欧美日韩一二三四| 日本国产亚洲| 亚洲啊v在线| 亚洲精选91| 亚洲午夜天堂| 亚洲精品少妇| 国产高清不卡| 亚洲在线观看| 久久不见久久见中文字幕免费| 欧美三级精品| 91欧美精品| 色88888久久久久久影院| 亚洲丝袜美腿一区| 精品无人区麻豆乱码久久久| 蜜臀久久99精品久久一区二区| 日本不卡一区二区三区| 亚洲精品福利电影| 亚洲精品乱码久久久久久蜜桃麻豆 | 欧美日韩国产在线观看网站| 亚洲精品在线二区| 国产日韩电影| 日韩在线成人| 桃色一区二区| 欧美精品中文| 婷婷激情综合| 国产高清视频一区二区| 日韩视频在线一区二区三区| 精品亚洲免a| 亚洲视频二区| 久久精品影视| 久久99青青| 蜜臀国产一区二区三区在线播放| 色婷婷亚洲mv天堂mv在影片| 日本中文字幕一区二区视频| 91精品国产乱码久久久久久久| 国产精品99久久免费观看|