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 相关文章推荐
在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
Jun 07 Python
利用Python爬取可用的代理IP
Aug 18 Python
利用Python批量生成任意尺寸的图片
Aug 29 Python
Python常见异常分类与处理方法
Jun 04 Python
python pycurl验证basic和digest认证的方法
May 02 Python
解决pandas 作图无法显示中文的问题
May 24 Python
pygame实现贪吃蛇游戏(上)
Oct 29 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
Dec 22 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
Jun 24 Python
如何验证python安装成功
Jul 06 Python
python如何实现word批量转HTML
Sep 30 Python
python urllib库的使用详解
Apr 13 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
各种咖啡的英文名子是什么
2021/03/03 新手入门
PHP4引用文件语句的对比
2006/10/09 PHP
PHP添加MySQL数据记录代码
2008/06/07 PHP
php 多关键字 高亮显示实现代码
2012/04/23 PHP
php删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
php 魔术常量详解及实例代码
2016/12/04 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
JavaScript DOM学习第一章 W3C DOM简介
2010/02/19 Javascript
javascript管中窥豹 形参与实参浅析
2011/12/17 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
学好js,这些js函数概念一定要知道【推荐】
2017/01/19 Javascript
Linux CentOS系统下安装node.js与express的方法
2017/04/01 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
零基础使用Python读写处理Excel表格的方法
2019/05/02 Python
python与mysql数据库交互的实现
2020/01/06 Python
Django contrib auth authenticate函数源码解析
2020/11/12 Python
德国家具折扣店:POCO
2020/02/28 全球购物
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
化学相关工作求职信
2013/10/02 职场文书
自荐信需注意事项
2014/01/25 职场文书
春节联欢晚会主持词范文
2014/03/24 职场文书
党员自评材料范文
2014/12/17 职场文书
通知格式
2015/04/27 职场文书
2016年世界艾滋病日宣传活动总结
2016/04/01 职场文书
新学期新寄语,献给新生们!
2019/11/15 职场文书
浅谈Python基础之列表那些事儿
2021/05/11 Python
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python
Redis可视化客户端小结
2021/06/10 Redis
webpack介绍使用配置教程详解webpack介绍和使用
2022/06/25 Javascript