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删除特定文件的方法
Jul 30 Python
windows上安装Anaconda和python的教程详解
Mar 28 Python
在Python的一段程序中如何使用多次事件循环详解
Sep 07 Python
python如何通过实例方法名字调用方法
Mar 21 Python
python用plt画图时,cmp设置方法
Dec 13 Python
Python实现的爬取小说爬虫功能示例
Mar 30 Python
详解python statistics模块及函数用法
Oct 27 Python
详解python 降级到3.6终极解决方案
Feb 06 Python
python编程进阶之类和对象用法实例分析
Feb 21 Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 Python
pandas读取csv文件提示不存在的解决方法及原因分析
Apr 21 Python
基于Django快速集成Echarts代码示例
Dec 01 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 静态化实现代码
2009/03/20 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
基于PHP静态类的原罪详解
2013/05/06 PHP
PHP简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
ThinkPHP3.2.1图片验证码实现方法
2016/08/19 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
js不能获取隐藏的div的宽度只能先显示后获取
2014/09/04 Javascript
javascript实现checkBox的全选,反选与赋值
2015/03/12 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
Node层模拟实现multipart表单的文件上传示例
2018/01/02 Javascript
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
Bootstrap开发中Tab标签页切换图表显示问题的解决方法
2018/07/13 Javascript
js实现json数组分组合并操作示例
2019/02/12 Javascript
vue之组件内监控$store中定义变量的变化详解
2019/11/08 Javascript
Python中使用PyHook监听鼠标和键盘事件实例
2014/07/18 Python
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
使用Python AIML搭建聊天机器人的方法示例
2018/07/09 Python
python构建指数平滑预测模型示例
2019/11/21 Python
Python之京东商品秒杀的实现示例
2021/01/06 Python
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
Hoover胡佛官网:美国吸尘器和洗地机品牌
2019/01/09 全球购物
温泉秘密:Onsen Secret
2020/07/06 全球购物
个人工作表现评价材料
2014/09/21 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书
二婚主持词
2015/06/30 职场文书
高三化学教学反思
2016/02/22 职场文书
公证书
2019/04/17 职场文书
python自动化测试之Selenium详解
2022/03/13 Python
零基础学java之循环语句的使用
2022/04/10 Java/Android
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android
Win10此设备不支持接收Miracast无法投影的解决方法
2022/07/07 数码科技
nginx七层负载均衡配置详解
2022/07/15 Servers