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中处理时间的几种方法小结
Apr 09 Python
详谈Python高阶函数与函数装饰器(推荐)
Sep 30 Python
Python变量赋值的秘密分享
Apr 03 Python
使用NumPy和pandas对CSV文件进行写操作的实例
Jun 14 Python
django+echart绘制曲线图的方法示例
Nov 26 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
Jun 04 Python
关于Python作用域自学总结
Jun 10 Python
在Python中构建增广矩阵的实现方法
Jul 01 Python
python 爬取学信网登录页面的例子
Aug 13 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
Aug 17 Python
Python 仅获取响应头, 不获取实体的实例
Aug 21 Python
Python读取xlsx数据生成图标代码实例
Aug 12 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 友好URL的实现(吐血推荐)
2008/10/04 PHP
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
php获取客户端电脑屏幕参数的方法
2015/01/09 PHP
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
JavaScript prototype 使用介绍
2013/08/29 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
Vue 项目中遇到的跨域问题及解决方法(后台php)
2018/03/28 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
[05:23]DOTA2-DPC中国联赛2月1日Recap集锦
2021/03/11 DOTA
在Django中进行用户注册和邮箱验证的方法
2016/05/09 Python
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
python获取txt文件词向量过程详解
2019/07/05 Python
Apache部署Django项目图文详解
2019/07/30 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
h5封装下拉刷新
2020/08/25 HTML / CSS
美国第二大团购网站:LivingSocial
2016/07/24 全球购物
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
英国版MAC彩妆品牌:Illamasqua
2018/04/18 全球购物
Square Off美国/加拿大:世界上最聪明的国际象棋棋盘
2018/12/06 全球购物
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
高三毕业生自我鉴定
2013/12/20 职场文书
个人委托书范本
2014/04/02 职场文书
五四演讲稿范文
2014/09/03 职场文书
考试没考好检讨书(精选篇)
2014/11/16 职场文书
部门主管竞聘书
2015/09/15 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书
MySQL窗口函数的具体使用
2021/11/17 MySQL