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 中的列表解析和生成表达式
Mar 10 Python
简单介绍Python中的len()函数的使用
Apr 07 Python
在Gnumeric下使用Python脚本操作表格的教程
Apr 14 Python
python保存字符串到文件的方法
Jul 01 Python
python 实现判断ip连通性的方法总结
Apr 22 Python
详解Python最长公共子串和最长公共子序列的实现
Jul 07 Python
Pandas 按索引合并数据集的方法
Nov 15 Python
python分割一个文本为多个文本的方法
Jul 22 Python
Django 请求Request的具体使用方法
Nov 11 Python
如何通过python实现全排列
Feb 11 Python
pytorch finetuning 自己的图片进行训练操作
Jun 05 Python
Python使用socket去实现TCP客户端和TCP服务端
Apr 12 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
Syphon 虹吸式咖啡壶冲煮–拨动法
2021/03/03 冲泡冲煮
配置支持SSI
2006/11/25 PHP
php面向对象全攻略 (十七) 自动加载类
2009/09/30 PHP
php设计模式 Factory(工厂模式)
2011/06/26 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
2014/10/09 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
2016/02/14 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
Vue-Router的使用方法
2018/09/05 Javascript
javascrit中undefined和null的区别详解
2019/04/07 Javascript
NodeJs 模仿SIP话机注册的方法
2019/06/21 NodeJs
layUI实现前端分页和后端分页
2019/07/27 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
探究Python多进程编程下线程之间变量的共享问题
2015/05/05 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
python制作websocket服务器实例分享
2016/11/20 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
python实现关键词提取的示例讲解
2018/04/28 Python
python 字符串追加实例
2019/07/20 Python
Python数据存储之 h5py详解
2019/12/26 Python
Python中itertools的用法详解
2020/02/07 Python
Python3+Selenium+Chrome实现自动填写WPS表单
2020/02/12 Python
英文版网络工程师求职信
2013/10/28 职场文书
物流专业大学生的自我鉴定
2013/11/13 职场文书
文明礼仪演讲稿
2014/05/12 职场文书
债务纠纷起诉书
2015/05/20 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书
只用40行Python代码就能写出pdf转word小工具
2021/05/31 Python
小程序与后端Java接口交互实现HelloWorld入门
2021/07/09 Java/Android
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS