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 Mysql自动备份脚本
Jul 14 Python
python缩进区别分析
Feb 15 Python
分析并输出Python代码依赖的库的实现代码
Aug 09 Python
不要用强制方法杀掉python线程
Feb 26 Python
Python实现的文本编辑器功能示例
Jun 30 Python
Python实现螺旋矩阵的填充算法示例
Dec 28 Python
python3基于TCP实现CS架构文件传输
Jul 28 Python
Python拼接微信好友头像大图的实现方法
Aug 01 Python
用Python将mysql数据导出成json的方法
Aug 21 Python
Python设计模式之命令模式原理与用法实例分析
Jan 11 Python
Python udp网络程序实现发送、接收数据功能示例
Dec 09 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
Jul 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
PHP实现的MongoDB数据库操作类分享
2014/05/12 PHP
php+mysql实现简单的增删改查功能
2015/07/13 PHP
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
自定义jQuery选项卡插件实例
2013/03/27 Javascript
jquery插件NProgress.js制作网页加载进度条
2015/06/05 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
2016/08/06 Javascript
bootstrap模态框垂直居中效果
2016/12/03 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
2017/03/17 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
微信小程序switch开关选择器使用详解
2018/01/31 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
python编写网页爬虫脚本并实现APScheduler调度
2014/07/28 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
Python 文件处理注意事项总结
2017/04/10 Python
通过源码分析Python中的切片赋值
2017/05/08 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
Python实现识别手写数字大纲
2018/01/29 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
2018/06/04 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
生态养殖创业计划书
2014/05/06 职场文书
三八红旗集体先进事迹材料
2014/05/22 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
2014年社区党建工作总结
2014/11/11 职场文书
故宫英文导游词
2015/01/31 职场文书
医院见习总结
2015/06/24 职场文书
instantclient客户端 连接oracle数据库
2022/04/26 Oracle