pytorch 批次遍历数据集打印数据的例子
作者:风泽茹岚 发布时间:2022-06-09 08:23:46
标签:pytorch,遍历,数据集,打印
我就废话不多说了,直接上代码吧!
from os import listdir
import os
from time import time
import torch.utils.data as data
import torchvision.transforms as transforms
from torch.utils.data import DataLoader
def printProgressBar(iteration, total, prefix='', suffix='', decimals=1, length=100,
fill='=', empty=' ', tip='>', begin='[', end=']', done="[DONE]", clear=True):
percent = ("{0:." + str(decimals) + "f}").format(100 * (iteration / float(total)))
filledLength = int(length * iteration // total)
bar = fill * filledLength
if iteration != total:
bar = bar + tip
bar = bar + empty * (length - filledLength - len(tip))
display = '\r{prefix}{begin}{bar}{end} {percent}%{suffix}' \
.format(prefix=prefix, begin=begin, bar=bar, end=end, percent=percent, suffix=suffix)
print(display, end=''), # comma after print() required for python 2
if iteration == total: # print with newline on complete
if clear: # display given complete message with spaces to 'erase' previous progress bar
finish = '\r{prefix}{done}'.format(prefix=prefix, done=done)
if hasattr(str, 'decode'): # handle python 2 non-unicode strings for proper length measure
finish = finish.decode('utf-8')
display = display.decode('utf-8')
clear = ' ' * max(len(display) - len(finish), 0)
print(finish + clear)
else:
print('')
class DatasetFromFolder(data.Dataset):
def __init__(self, image_dir):
super(DatasetFromFolder, self).__init__()
self.photo_path = os.path.join(image_dir, "a")
self.sketch_path = os.path.join(image_dir, "b")
self.image_filenames = [x for x in listdir(self.photo_path) if is_image_file(x)]
transform_list = [transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]
self.transform = transforms.Compose(transform_list)
def __getitem__(self, index):
# Load Image
input = load_img(os.path.join(self.photo_path, self.image_filenames[index]))
input = self.transform(input)
target = load_img(os.path.join(self.sketch_path, self.image_filenames[index]))
target = self.transform(target)
return input, target
def __len__(self):
return len(self.image_filenames)
if __name__ == '__main__':
dataset = DatasetFromFolder("./dataset/facades/train")
dataloader = DataLoader(dataset=dataset, num_workers=8, batch_size=1, shuffle=True)
total = len(dataloader)
for epoch in range(20):
t0 = time()
for i, batch in enumerate(dataloader):
real_a, real_b = batch[0], batch[1]
printProgressBar(i + 1, total + 1,
length=20,
prefix='Epoch %s ' % str(1),
suffix=', d_loss: %d' % 1)
printProgressBar(total, total,
done='Epoch [%s] ' % str(epoch) +
', time: %.2f s' % (time() - t0)
)
来源:https://blog.csdn.net/luolinll1212/article/details/82983520


猜你喜欢
- 本篇博客只是单纯的记录一下自己学习Boxplot,没有过多的解释,官网:》》Boxplotimport seaborn as snsimpo
- python3.0 模拟用户登录,三次错误锁定的实例实例如下所示:# -*- coding:utf-8 -*-#需求模拟用户登录,超过三次错
- 学习目标根据原型设计编译自动化数据生成器,熟悉wxPython的基本用法。界面原型设计界面原型设计分析输入参数:最大长度最小长度组成规则多少
- 1.在Server端添加Silverlight-enabled WCF service [ServiceContract(Namespace
- 关于本地缓存1.wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSy
- function utf8_substr($str,$len) { for($i=0;$i<$len;$i++) { $temp_st
- django-admin基本介绍Django 提供了基于 web 的管理工具。Django 自动管理工具是 django.contrib 的
- Django中内置了邮件发送功能,被定义在django.core.mail模块中。发送邮件需要使用SMTP服务器,常用的免费服务器有:163
- 话不多说,请看代码:function removeRepeat(data) {var temp = "";var mai
- 本文的换肤方案灵感来自于 element-ui需求:网站换肤,主题切换。网站的主题色可以在几种常用颜色之间进行切换,还有相关图片、图标也要跟
- 不管何时何地,只要我们编程时遇到了跟时间有关的问题,都要想到 datetime 和 time 标准库模块,今天我们就用它内部的方法,详解py
- 最近肺炎的发展速度属实有点恐怖。刚知道python的pyecharts这个库,想到pyecharts可视化的特点,正好可以扒一下肺炎实时播报
- 本文实例讲述了php将textarea数据提交到mysql出现很多空格的解决方法。分享给大家供大家参考。具体分析如下:有一些朋友可能会发现我
- CAS算法(compare and swap)CAS算法是一种有名的无锁算法。无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在
- 在编写Web自动化测试用例的时候,如何写断言使新手不解,严格意义上来讲,没有断言的自动化脚本不能叫测试用例。就像功能测试一样,当测试人员做了
- MySQL安装分为安装版和解压版,安装版主要是由一个exe程序式安装,有界面鼠标点击安装即可,小白建议使用安装版安装mysql,相比较与安装
- 本文实例讲述了javascript限制用户只能输汉字中文的方法。分享给大家供大家参考。具体实现方法如下:要验证函数时我们必须明白,如果是汉字
- 提叻一个代码段,要人帮助解释一下。代码如下:declare type t_indexby is ta
- 使用软件:MySQLMigrationTool 提示数据过大,无法导入。修改my.cnf文件的max_allowed_packet = 10
- 如下所示:import time首先导入时间模块在程序开始执行的地方写入:start=time.clock()在程序末尾写入:end=tim