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基础教程之udp端口扫描
Feb 10 Python
python基础教程之数字处理(math)模块详解
Mar 25 Python
Python使用百度API上传文件到百度网盘代码分享
Nov 08 Python
Python封装shell命令实例分析
May 05 Python
Python 基础教程之str和repr的详解
Aug 20 Python
Python操作MongoDB数据库的方法示例
Jan 04 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
Feb 03 Python
python 获取键盘输入,同时有超时的功能示例
Nov 13 Python
Python 等分切分数据及规则命名的实例代码
Aug 16 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
Mar 05 Python
Python+Appium实现自动化测试的使用步骤
Mar 24 Python
Python 爬取淘宝商品信息栏目的实现
Feb 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分页时出现的Fatal error的解决方法
2011/04/18 PHP
php中Smarty模板初体验
2011/08/08 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
php面向对象的用户登录身份验证
2017/06/08 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
[原创]网络复制内容时常用的正则+editplus
2006/11/30 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
使用js检测浏览器是否支持html5中的video标签的方法
2014/03/12 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
js编写贪吃蛇的小游戏
2020/08/24 Javascript
基于JavaScript如何实现ajax调用后台定义的方法
2015/12/29 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
2016/03/31 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
AngularJS教程之简单应用程序示例
2016/08/16 Javascript
js封装tab标签页实例分享
2016/12/19 Javascript
js实现带缓动动画的导航栏效果
2017/01/16 Javascript
vue项目中使用百度地图的方法
2018/06/08 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
微信小程序与webview交互实现支付功能
2019/06/07 Javascript
JavaScript创建表格的方法
2020/04/13 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
了解AppleTalk协议吗
2014/04/01 面试题
函授本科自我鉴定
2014/02/04 职场文书
体育节口号
2014/06/19 职场文书
2014年宣传部工作总结
2014/11/12 职场文书
个人求职信格式范文
2015/03/20 职场文书
python神经网络编程之手写数字识别
2021/05/08 Python
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL