every blog every motto: Light tomorrow with today.

0. 前言

作为深度学习的萌新可能都知道,训练以后的参数保存成h5格式文件。那有时候看到训练数据也是h5格式又是为什么呢?
当训练大量数据(图片)时,如果从硬盘加载并预处理,然后传递进网络,这可能是一个非常耗时的过程。
其中从硬盘读取图片会花费大量时间,更可行的方法是将其存在在单个文件中,如HDF5和TFRecord。
其中TFRecord可以参考文章1、文章2等


本节主要介绍制作自己的H5格式训练数据
说明: 更多关于h5文件介绍,可参考文后链接。

1. 正文

1.1 图片转数组

  1. 如果是普通图片,可直接利用下方代码。
from PIL import Image
img = Image.Open('./1.png')
img_array = np.array(img)
  1. 如果是一张大的遥感影像,
    遥感影像转数组,点我点我

1.2 数组切成小块(patch)

如果上方单张图片就是一个训练样本(patch),可不用切成小块。否则点击下方链接:
对数组进行切割成patch,点我

1.3 数组保存到h5文件中

说明: 不以具体数据说明,仅用少量数据进行展示

import numpy as np
import h5pyfile_path = './1.h5'
patches = np.zeros((250, 128, 128, 3))
patches_y = np.zeros(250)

写入文件

with h5py.File(file_path, 'w') as f:f['x'] = patchesf['y'] = patches_y

读取文件
说明: 读取时如果用with ,读取到的数据要在with 内,否组容易出错,具体见附录

f = h5py.File(file_path, 'r')print(f.keys())
print(f['x'].shape)
print(f['y'].shape)
f.close()

1.3.1 读取文件尝试(附录)

下方打印在with 外面,报错。

# 读取文件
with h5py.File('t.h5','r') as f:x_train = f['x']y_train = f['y']
print(y_train.shape)

1.3.2 追加数据(附录)

第一次写入

import h5py
import numpy as nparray = np.zeros(250)
arr = np.ones(10)path = './dataset/w.h5'# f = h5py.File(path, 'a')
# f['x'] = array# f.close()

添加新数据

# f = h5py.File(path, 'a')
# f['y'] = arr# f.close()

参考文献

[1] https://blog.csdn.net/Hero_Never_GIVE_UP/article/details/85006835
[2] https://blog.csdn.net/mzpmzk/article/details/89188968
[3] https://www.jianshu.com/p/ae12525450e8
[4] https://www.jianshu.com/p/19f3ca564644
[5] https://reference.wolfram.com/language/ref/format/HDF5.html
[6] https://blog.csdn.net/u010945683/article/details/79931702
[7] https://blog.csdn.net/chaofanjun/article/details/88850324
[8] https://blog.csdn.net/lsh894609937/article/details/77018622
[9] https://blog.csdn.net/w5688414/article/details/78907180?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
[10] https://blog.csdn.net/weixin_39190382/article/details/106441762
[11] https://blog.csdn.net/weixin_39190382/article/details/104348060
[12] https://blog.csdn.net/w5688414/article/details/86104271

【H5】h5文件之——深度学习训练样本制作相关推荐

  1. 遥感影像深度学习样本制作

    交流QQ:3239516597 对于遥感同学,在学习深度学习时,第一步就要解决遥感数据样本的制作,遥感影像数据的样本根据不同的应用也有所不同,不知道的同学可以去看视频:遥感深度学习样本制作视频1 今天 ...

  2. 深度学习之“制作自定义数据”--torch.utils.data.DataLoader重写构造方法。

    深度学习之"制作自定义数据"–torch.utils.data.DataLoader重写构造方法. 前言: ​ 本文讲述重写torch.utils.data.DataLoader类 ...

  3. 深度学习数据集制作工作_创建我的第一个深度学习+数据科学工作站

    深度学习数据集制作工作 My Home Setup 我的家庭设置 Creating my workstation has been a dream for me, if nothing else. 创 ...

  4. 视频教程-遥感影像深度学习样本制作-深度学习

    遥感影像深度学习样本制作 遥感专业硕士,拥有3年以上的遥感图像数据处理经验,对遥感.GIS等行业的应用有深刻的认识. 郑新杰 ¥20.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技 ...

  5. 【h5文件读取】h5文件读取——深度学习数据集常用

    数据集的常用格式:h5 深度学习搞了很长时间,其中开源的代码中经常用到大型数据集,里面的数据类型是h5格式,这个格式困扰我挺长时间,因为隔离还拿不到实验室的程序,只好硬着头皮再琢磨一遍. 关于h5文件 ...

  6. 深度学习100问-13:深度学习如何制作个人数据集?

    深度学习100问 Author:louwill Machine Learning Lab 上一节我们谈到深度学习,尤其是计算机视觉方向的一些经典数据集.这些数据除了供我们学习和实验之外,在实际的生产环 ...

  7. 学习笔记(01):遥感影像深度学习样本制作-计算机视觉工具制作样本

    立即学习:https://edu.csdn.net/course/play/27632/372353?utm_source=blogtoedu 遥感影像深度学习: 1.遥感图像分类------CV中语 ...

  8. 深度学习数据集制作_一篇文章搞定人工智能之深度学习创建训练数据集的方法

    基础数据准备 训练所需要的数据集合都存储在数据库中,还有部分文本文件 首先对数据进行分类结构化存储[因为涉及到的是多分类问题] 整理并存储原始数据集 使用numpy将所有需要数据读取出来 splitl ...

  9. 深度学习数据集制作_深度学习时代的数据驱动建模之探讨

    数据驱动三维建模的方法分类 从方法学角度来看,数据驱动的三维建模大致可分为两类:参数方法(parametric methods)和非参数方法(non-parametric methods). 参数方法 ...

最新文章

  1. python之函数三装饰器
  2. 【Linux 内核】进程管理 ( 进程与操作系统 | 进程与程序 | 进程与线程 | 虚拟地址空间 )
  3. ML之XGBoost:XGBoost算法模型(相关配图)的简介(XGBoost并行处理)、关键思路、代码实现(目标函数/评价函数)、安装、使用方法、案例应用之详细攻略
  4. 中奖名单 | 价值 199 的大数据平台研发课程幸运er
  5. docker下如何进入到容器中
  6. php html转换数组,将html标签转换为php数组
  7. C# list集合 重复元素 索引_源码分析专题10-纯手写JDK不同版本下的List接口
  8. 【项目调研+论文阅读】基于BERT的中文命名实体识别方法[J] | day6
  9. 382 名员工遍布 47 个国家如何炼成代码托管平台 GitLab?
  10. java 生产者消费者_Java多线程:线程间通信—生产者消费者模型
  11. 3万字《SpringBoot微服务开发——Shiro(安全)》
  12. 嵌入式工具——smartmontools
  13. 启用 Windows 功能 NetFx3 时出错,错误代码: -2146498529
  14. raid数据恢复,Raid5磁盘阵列数据恢复案例,服务器数据恢复
  15. msl3等级烘烤时间_msl湿敏等级对应表
  16. 人工智能(regex)—— 正则表达式
  17. Deepgreen/Greenplum删除节点步骤
  18. 软件质量管理-TSP各次会议内容
  19. 【学术相关】“博士退学、4平米小屋”,又一篇《致谢》火了
  20. STM32----FLASH和EEPROM的区别

热门文章

  1. 【服务器搭建个人网站】教程二:快速搭建我们服务器 进来看
  2. C++实现字符串的反转
  3. windows 7 出现MTP usb设备驱动安装问题解决方法
  4. C++ Win32 删除文件夹(非空)
  5. 官方确认:新增一所“双一流”大学!
  6. ERP解决方案选型指导
  7. 连接wifi推送广告
  8. MDD 建模驱动设计
  9. 利用区块链技术解决传统物流贸易金融诸多痛点
  10. 2021林伟华中学高考成绩查询,2021年汕尾高考状元名单公布,汕尾高考状元学校资料及最高分...