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函数缺省值与引用学习笔记分享
Feb 10 Python
Django框架中render_to_response()函数的使用方法
Jul 16 Python
批量获取及验证HTTP代理的Python脚本
Apr 23 Python
Python构建网页爬虫原理分析
Dec 19 Python
python opencv之SIFT算法示例
Feb 24 Python
对Python中type打开文件的方式介绍
Apr 28 Python
Python中整数的缓存机制讲解
Feb 16 Python
Python实现的北京积分落户数据分析示例
Mar 27 Python
python 在threading中如何处理主进程和子线程的关系
Apr 25 Python
为什么说python更适合树莓派编程
Jul 20 Python
利用Python实现斐波那契数列的方法实例
Jul 26 Python
Python自动化工具之实现Excel转Markdown表格
Apr 08 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 已经成熟
2006/12/04 PHP
php chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
php获取服务器信息的实现代码
2013/02/04 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
php 防止表单重复提交两种实现方法
2016/11/03 PHP
Laravel5中Cookie的使用详解
2017/05/03 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
jquery 中多条件选择器,相对选择器,层次选择器的区别
2012/07/03 Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
window.onload使用指南
2015/09/13 Javascript
简单谈谈Vue 模板各类数据绑定
2016/09/25 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
js实现密码强度检验
2017/01/15 Javascript
Jquery获取radio选中的值
2017/05/05 jQuery
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
2018/05/03 Javascript
JavaScript实现公告栏上下滚动效果
2020/03/13 Javascript
python3使用urllib示例取googletranslate(谷歌翻译)
2014/01/23 Python
python求解水仙花数的方法
2015/05/11 Python
Python实现调度算法代码详解
2017/12/01 Python
用TensorFlow实现戴明回归算法的示例
2018/05/02 Python
导致python中import错误的原因是什么
2020/07/01 Python
推荐10个HTML5响应式框架
2016/02/25 HTML / CSS
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
英文版销售经理个人求职信
2013/11/20 职场文书
中学家长会邀请函
2014/01/17 职场文书
自动化毕业生专业自荐书范文
2014/02/04 职场文书
奥利奥广告词
2014/03/20 职场文书
导游个人求职信
2014/04/25 职场文书
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python
利用Python实现模拟登录知乎
2022/05/25 Python