pytorch 批次遍历数据集打印数据的例子


Posted in Python onDecember 30, 2019

我就废话不多说了,直接上代码吧!

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

以上这篇pytorch 批次遍历数据集打印数据的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python编程中用close()方法关闭文件的教程
May 24 Python
python使用xlrd与xlwt对excel的读写和格式设定
Jan 21 Python
深入理解python中函数传递参数是值传递还是引用传递
Nov 07 Python
python中sys.argv函数精简概括
Jul 08 Python
浅谈python3发送post请求参数为空的情况
Dec 28 Python
django页面跳转问题及注意事项
Jul 18 Python
django实现用户注册实例讲解
Oct 30 Python
keras中的backend.clip用法
May 22 Python
使用pandas库对csv文件进行筛选保存
May 25 Python
jupyter notebook快速入门及使用详解
Nov 13 Python
python 日志模块logging的使用场景及示例
Jan 04 Python
Python time库的时间时钟处理
May 02 Python
python多线程使用方法实例详解
Dec 30 #Python
Python动态声明变量赋值代码实例
Dec 30 #Python
使用pytorch实现可视化中间层的结果
Dec 30 #Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 #Python
Pytorch之保存读取模型实例
Dec 30 #Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 #Python
Python中如何将一个类方法变为多个方法
Dec 30 #Python
You might like
Linux下ZendOptimizer的安装与配置方法
2007/04/12 PHP
PHP也能干大事之PHP中的编码解码详解
2015/04/20 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
2016/09/11 PHP
关于include标签导致js路径找不到的问题分析及解决
2013/07/09 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
2014/12/26 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
js获取当前年月日-YYYYmmDD格式的实现代码
2016/06/01 Javascript
AngularJs  Creating Services详解及示例代码
2016/09/02 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
vue小白入门教程
2018/04/02 Javascript
vue进入页面时滚动条始终在底部代码实例
2019/03/26 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
实例说明Python中比较运算符的使用
2015/05/13 Python
Python文件去除注释的方法
2015/05/25 Python
python的继承知识点总结
2018/12/10 Python
kafka-python批量发送数据的实例
2018/12/27 Python
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
Tensorflow实现多GPU并行方式
2020/02/03 Python
数控专业个人求职信范例
2013/11/29 职场文书
好家长事迹材料
2014/01/23 职场文书
幼儿园老师寄语
2014/04/03 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
教师自查自纠工作情况报告
2014/10/29 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
会计入职心得体会
2016/01/22 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python