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 07 Python
Python 专题二 条件语句和循环语句的基础知识
Mar 19 Python
python操作列表的函数使用代码详解
Dec 28 Python
Python字典操作详细介绍及字典内建方法分享
Jan 04 Python
python实现装饰器、描述符
Feb 28 Python
Python数据分析库pandas基本操作方法
Apr 08 Python
python定时关机小脚本
Jun 20 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 Python
python3爬虫怎样构建请求header
Dec 23 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
Apr 17 Python
OpenCV Python实现图像指定区域裁剪
Mar 12 Python
用python对excel进行操作(读,写,修改)
Dec 25 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获取文件绝对路径的代码(上一级目录)
2011/05/29 PHP
PHP学习笔记 (1) 环境配置与代码调试
2011/06/19 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
php版微信发红包接口用法示例
2016/09/23 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
JQuery的一些小应用收集
2010/03/27 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
2015/12/25 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
一句jQuery代码实现返回顶部效果(简单实用)
2016/12/28 Javascript
微信小程序实现聊天对话(文本、图片)功能
2018/07/06 Javascript
koa router 多文件引入的方法示例
2019/05/22 Javascript
js/jQuery实现全选效果
2019/06/17 jQuery
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
2020/07/19 Javascript
Vue父子组件传值的一些坑
2020/09/16 Javascript
python中reduce()函数的使用方法示例
2017/09/29 Python
深入理解Python分布式爬虫原理
2017/11/23 Python
python给微信好友定时推送消息的示例
2019/02/20 Python
python3+opencv生成不规则黑白mask实例
2020/02/19 Python
小米官方旗舰店:Xiaomi
2020/08/07 全球购物
班级寄语大全
2014/04/10 职场文书
电子商务专业求职信
2014/07/10 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
2014年体育教学工作总结
2014/12/09 职场文书
自荐信格式范文
2015/03/04 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
分析Netty直接内存原理及应用
2021/06/14 Java/Android
Win11 KB5015814遇安装失败 影响开始菜单性能解决方法
2022/07/15 数码科技