Torch 是用C/CUDA作为底层实现,用LuaJIT作为接口的机器学习算法框架。

HDF5是用于海量复杂数据集管理的技术,能够支持多种平台与多种语言接口(C,C++,Python等)。

Torch的tutorial只提供了处理images和random tensors的方法,并没有对其他格式提供示例。本文使用将对如何创建HDF5数据集以及如何在Torch中使用HDF5文件格式做一个梳理。

一.安装 hdf5

1. torch 平台上安装

git clone https://github.com/anibali/torch-hdf5.git
cd torch-hdf5
git checkout hdf5-1.10
luarocks make hdf5-0-0.rockspec

2.python安装

sudo pip install h5py

二. 使用Python创建HDF文件

1.创建HDF5对象

import h5py
import os
f=h5py.File('train.h5','w') #以'w'模式创建一个名为'train.h5'的HDF5对象
f.create_dataset('data',(100,3,32,32),dtype='f8')  #有100个样本,每个样本有三个通道
f.create_dataset('label',(100,1),dtype='i') #创建存放label的dataset,尺寸是100*1

2.写入数据
写入数据其实很简单,只需要对dataset中的每个对象赋值即可。我们使用numpy随机生成的数据为例进行赋值。

import numpy as np
for i in range(100):temp=np.random.random((3,32,32))f['data'][i]=temp #写入dataf['label'][i]=i%4 #写入label
f.close()

以上,即可生成一个用于训练的train.hdf5文件。

三. 在torch中使用HDF5文件

在torch中读取HDF5文件需要用到torch-hdf5。

require 'hdf5';
myFile=hdf5.open('path_to_hdf5_file','r') --读入HDF5文件
trainset={data=myFile:read('data'):all(),label=myFile:read('label'):all():byte()}

trainset是与官方tutorial读取’cifar10-train.t7’ 后同样的对象。

trainset --输入trainset并执行后可以看到trainset的信息如下----------------执行输出的信息-------------------------------------------------
{
data : DoubleTensor - size: 100×3×32×32
label : ByteTensor -size: 100×1
}

参考:http://withwsf.github.io/2015/12/23/torch-hdf5/
https://blog.csdn.net/u013548568/article/details/79732856

为Torch创建hdf5训练文件相关推荐

  1. 基于python为Torch创建hdf5训练文件

    我们知道Torch框架需要符合其自身规格的输入数据的格式,在图像识别中用到的是以.t7扩展名的文件类型,本来我一直也想找如何将.T7文件转换的方法,查了很多资料,有通过mat转.t7的方法,但是无意间 ...

  2. torch 使用hdf5训练

    Torch 是用C/CUDA作为底层实现,用LuaJIT作为接口的机器学习算法框架. HDF5是用于海量复杂数据集管理的技术,能够支持多种平台与多种语言接口(C,C++,Python等). Torch ...

  3. 【训练过程】1) Create Training File(创建训练文件)

    1) Create Training File(创建训练文件) Put the folders of VOC dataset(clean images是原始的干净图像(VOC)), collected ...

  4. ENVI_IDL: 创建HDF5文件并写入数据(以将Geotiff文件写入HDF文件为例) + 详细解析

    目录 1. 学习内容 2. 知识储备 3. 编程 1. 学习内容 文如标题:就是自己创建HDF文件并将数据写入其中 ------------------------------------------ ...

  5. DL之CNN:基于CRNN_OCR算法(keras,CNN+RNN)利用数据集(torch,mdb格式)训练来实现新图片上不定长度字符串进行识别—训练过程

    DL之CNN:基于CRNN_OCR算法(keras,CNN+RNN)利用数据集(torch,mdb格式)训练来实现新图片上不定长度字符串进行识别-训练过程 目录 输出结果 设计思路 核心代码 输出结果 ...

  6. 深度学习训练文件批量制作——arcgis pro软件(傻瓜式操作)

    想要批量制作深度学习训练文件(特别是遥感文件)在网上找了很久的代码或者方法,发现不怎么适用,或者是说太过复杂了(电脑环境.包的版本等一系列问题,博主的环境可以用,到我电脑上我就一堆版本问题,又不好去改 ...

  7. Halcon学习笔记(八)——OCR初步创建并训练OCR分类器

    第一讲 OCR:(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗.亮的模式确定其形状,然后用字符识别方法将 ...

  8. java 默认数据库创建路径_无法创建数据库路径文件:/ user / hive /仓库错误

    我有一个3个节点的群集,并且在运行某些HVE查询时遇到以下错误 FAILED:元数据错误:MetaException(消息:无法创建数据库路径文件:/user/hive/warehouse/db_du ...

  9. android 创建隐藏文件夹吗,Android创建隐藏文件可能文件夹

    Android创建隐藏文件或者文件夹 android创建隐藏文件或者文件夹,其实只要在文件名或者文件夹名字前加一个点号即可. 隐藏文件(夹)可直接进行读写. 如果需要去除隐藏,那就是重命名,去除点即可 ...

最新文章

  1. Cloudify — 部署 OpenStack 基础设施
  2. bat 复制文件夹_怎么生成电脑上文件夹的目录结构
  3. ResorceGovernor--基础和Demo
  4. React开发(177):opentab没有menu会报错
  5. 【蓝桥杯官网试题 - 算法提高 】P0404(模拟)
  6. 网络压缩《network pruning 浅析》
  7. 双光子荧光成像_有机双光子荧光染料在生物成像中的应用取得新进展
  8. Android将应用调试log信息保存在SD卡
  9. 网页设计中时尚​​的下拉菜单案例
  10. 杀毒jwgkvsq.vmx
  11. 《Clean Code》 代码简洁之道
  12. DS1302 原理及操作方法
  13. 《Google软件测试之道》读书笔记---第一章
  14. 在马克思手稿中有一道趣味的数学问题:一共有30个人,可能包括男人,女人和小孩。他们在一家饭馆吃饭共花了50先令,其中每个男人花3先令,每个女人花2先令,每个小孩花1先令。请问男人、女人和小孩各几人?
  15. 解决Android studio 模拟器闪烁黑屏问题
  16. 发展心理学类毕业论文文献包含哪些?
  17. 利用Java SE基本知识是开发【学生信息管理系统】中
  18. Linux 运维安全策略(一)
  19. win10内置Ubuntu安装图形界面
  20. 一道简单的Python面试题,却涵盖诸多考点,快来试试吧!

热门文章

  1. RSA的运用和前后端签名的一些看法
  2. 【golang】Go语言学习-time包
  3. python自动标注autocad坐标_Python+matplotlib数据可视化鼠标悬停自动标注功能实现
  4. steam教育课程是什么总结
  5. 后疫情时代2020年后游戏引擎技术会如何发展?
  6. BERT embedding 降维--BERT whitening
  7. oracle、sqlserver、mysql常用函数对比[to_char、to_number、to_date]
  8. windows11 安装Kibana
  9. 国家计算机二级office要准备多久,全国计算机二级考试office一周复习计划
  10. Java map去空值