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群发邮件实例代码
Jan 03 Python
Python的净值数据接口调用示例分享
Mar 15 Python
Python3 Post登录并且保存cookie登录其他页面的方法
Dec 28 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
python语言线程标准库threading.local解读总结
Nov 10 Python
python中利用matplotlib读取灰度图的例子
Dec 07 Python
Win系统PyQt5安装和使用教程
Dec 25 Python
Python多线程正确用法实例解析
May 30 Python
新手常见Python错误及异常解决处理方案
Jun 18 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
Jul 01 Python
使用Keras建立模型并训练等一系列操作方式
Jul 02 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
Dec 29 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 检查扩展库或函数是否可用的代码
2010/04/06 PHP
php判断linux下程序问题实例
2015/07/09 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
js版本A*寻路算法
2006/12/22 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
基于canvas实现的绚丽圆圈效果完整实例
2016/01/26 Javascript
jQuery实现TAB选项卡切换特效简单演示
2016/03/04 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
jQuery实现自动输入email、时间和域名的方法
2016/08/24 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
2016/08/29 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
CodeMirror js代码加亮使用总结
2017/03/25 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
2017/03/30 Javascript
深入理解JavaScript 参数按值传递
2017/05/24 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
Vue Elenent实现表格相同数据列合并
2020/11/30 Vue.js
[01:16:37]【全国守擂赛】第三周决赛 Dark Knight vs. 一个弱队
2020/05/04 DOTA
Python实现进度条和时间预估的示例代码
2020/06/02 Python
Python中zip函数如何使用
2020/06/04 Python
pytorch SENet实现案例
2020/06/24 Python
Brookstone美国官网:独特新奇产品
2017/03/04 全球购物
UML设计模式笔试题
2014/06/07 面试题
计算机开发个人求职信范文
2013/09/26 职场文书
饭店工作计划书
2014/01/10 职场文书
廉洁自律承诺书
2014/03/27 职场文书
《长征》教学反思
2014/04/27 职场文书
农民工讨薪标语
2014/06/26 职场文书
学校运动会广播稿
2014/10/11 职场文书
查摆问题整改措施
2014/10/24 职场文书
2014年外联部工作总结
2014/11/17 职场文书
uwsgi+nginx代理Django无法访问静态资源的解决
2021/05/10 Servers
MySQL连接控制插件介绍
2021/09/25 MySQL