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用模块pytz来转换时区
Aug 19 Python
Python实现的生成格雷码功能示例
Jan 24 Python
Python实现多态、协议和鸭子类型的代码详解
May 05 Python
seek引发的python文件读写的问题及解决
Jul 26 Python
Python实现滑动平均(Moving Average)的例子
Aug 24 Python
python 实现多线程下载视频的代码
Nov 15 Python
TensorFlow自定义损失函数来预测商品销售量
Feb 05 Python
简单的Python人脸识别系统
Jul 14 Python
Python内置函数property()如何使用
Sep 01 Python
python如何利用paramiko执行服务器命令
Nov 07 Python
python如何进行基准测试
Apr 26 Python
用Python爬虫破解滑动验证码的案例解析
May 06 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
在PHP中使用与Perl兼容的正则表达式
2006/11/26 PHP
PHP实现多服务器session共享之NFS共享的方法
2007/03/16 PHP
PHP通过header实现文本文件下载的代码
2010/08/08 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
2015/09/22 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
一个多次搜索+多次传值的解决方案
2007/01/20 Javascript
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
JavaScript中的集合及效率
2010/01/08 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
2012/12/21 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
JavaScript检查某个function是否是原生代码的方法
2014/08/20 Javascript
js实现简洁大方的二级下拉菜单效果代码
2015/09/01 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
vue 父组件给子组件传值子组件给父组件传值的实例代码
2019/04/15 Javascript
[03:42]2014DOTA2国际邀请赛 第三日比赛排位扑朔迷离
2014/07/12 DOTA
Python的批量远程管理和部署工具Fabric用法实例
2015/01/23 Python
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
Python BS4库的安装与使用详解
2018/08/08 Python
django admin.py 外键,反向查询的实例
2019/07/26 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
2020/01/05 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
HTML5 Canvas实现烟花绽放特效
2016/03/02 HTML / CSS
HTML5事件方法全部汇总
2016/05/12 HTML / CSS
行政部主管岗位职责
2013/12/28 职场文书
工程开工庆典邀请函
2014/02/01 职场文书
军训考核自我鉴定
2014/02/13 职场文书
高中课程设置方案
2014/05/28 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
竞选班干部演讲稿300字
2014/08/20 职场文书
2014年综治维稳工作总结
2014/11/17 职场文书
电力安全教育培训心得体会
2016/01/11 职场文书
React配置子路由的实现
2021/06/03 Javascript
Java 超详细讲解hashCode方法
2022/04/07 Java/Android
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android