python打开h5文件可视化,python打开html文件
介绍:如何整理HDF和h5汇总数据,下载HDFView,安装到windows10系统,打开后黑匣子闪烁。python对h5文件的操作,批量生成h5文件。h5文件、nii文件的提取
序
一般来说,深度学习的训练数据和训练后的参数都会存储为h5格式文件。对于训练数据,在深度学习训练大量数据时,从硬盘加载、预处理、传输到网络是一个非常耗时的过程。其中,从硬盘读取图像需要时间,可以保存在一个文件中,比如h5文件。
那么h5文件对于深度学习训练具有什么优势呢?
如果可以支持大量数据,并且数据集大小大于RAM大小,则可以增加训练的批量大小,以支持shape HDF和h5 profile那么什么是HDF5文件呢?。
H5文件是分层数据格式(HDF5)的第五代版本,这是一种用于存储科学数据的文件格式和库文件。
H5是一种开源文件格式,支持大量复杂的异构数据。使用类似于H5“文件目录”的结构,你可以用各种结构化的方式组织文件中的数据,就像在计算机上组织文件一样。H5格式也可以嵌入元数据来提供自我描述。如何组织数据h5文件主要有两种结构:组和数据集。h5文件夹是“组”和“数据集”的集成容器。
组:包含零个或多个数据集(数据集)或组(组)实例和支持的元数据的组结构。数据集:以类似于数组的格式组织的一组数据,类似于numpy数组。数据集是numpy.ndarray.特定数据集包括图像、表格、pdf文件和excel。组和数据集在许多方面类似于UNIX目录和文件。与UNIX目录和文件一样,H5文件中的对象通常通过指定完整(或绝对)路径名来描述。H5 group
H5群是包含0个或多个H5对象的结构。一个组有两个部分。
标题:包含名称和属性列表的组符号表:属于该组的对象列表H5 datasets
数据集存储在文件中,有两部分:头和数据数组。
头包含数据集的数组部分所需的信息,以及描述或注释数据集的元数据。标题信息包括对象的名称、维度、数据类型、有关数据本身如何存储在磁盘上的信息,以及库用来加速数据集访问和维护文件完整性的其他信息。
HDFView HDFView是H5文件的可视化工具。
点击HDFView官网下载安装linkcreatefreeaccount创建账号(创建账号后才能免费下载本网站内容),然后点击下载。
比如我的电脑是64位Windows系统。我下载了一个名为hdf view-3 . 1 . 2-win 10 _ 64-vs16 . zip的文件,下载并解压,然后下载了。exe文件。
安装Windows S10系统后,打开黑盒闪回的解决方案。安装后软件一直打不开,发现闪退现象,查不出问题。百度检查顺序如下。
配置环境路径:我的电脑-属性-高级系统设置-高级-环境变量-系统变量-变量名为 PATH ,点击编辑,在路径后继续添加。
c:\ users \ administrator \ appdata \ local \ hdf _ group \ hdf view \ runtime \ bin
确保重新打开HDFView不会闪回。
用python处理h5文件,批量创建h5文件。通过深度学习创建训练集h5文件的示例:
输入原始图像和训练集的级别(图像),输出h5文件。
导入H5 pyimportsimpleitkasitkey importsdefgethdf 5文件(imgpath,labelpath,name= hdf 5 filename )3360 f=H5 py . file) w ()//(必要时H5存储路径img list=OS . list dir(img path))/img list中I的训练集的原始图像路径中的所有文件名://Traverse all images group name=I . split)。nimglist),并在文件中添加new _ group=f . create _ group(group name)/creatgroupist。
读取图片arr=sitk .GetArrayFromImage(image) //将图片转换为数组形式arr=(((arr-arr。min())/(arr。max()-arr。min())* 255).astype(uint8) //进行归一化新建_组。create _ dataset( volume ,dtype=uint8 ,data=after arr)//创建数据集标签列表=OS。列表目录(标签路径)//获取训练集标签路径下所有的文件名对于标号表中的j:如果i==j: label=sitk .ReadImage(OS。路径。join(标签路径,j)) label_arr=sitk .GetArrayFromImage(label)label=label _ arr。astype( uint 8 )new _ group。create _ dataset( segmentation ,dtype=uint8 ,data=label) //根据需求命名f . close()img path= E:\ \ imageTr //训练集原图的路径labelpath=E:\\labelTr //训练集标签的路径GetHDF5File(imgpath,labelpath, HDF5Filename) //根据需要修改h5的文件名, //这里是h5文件名h5文件的提取,另存为国家信息基础设施文件import H5 py import OS import numpy as NP import simple itk as sitk dataset=H5 py .File(F:\\xxx.h5 , r) //指定h5文件的路径savepath=F:\\ . //另存为国家信息基础设施文件的路径first _ level _ keys=[数据集中键的键。key()]for first _ level _ keys:如果不是OS。路径。存在(操作系统。路径。join(保存路径,first _ level _ key)):OS。makedirs(OS。路径。join(save path,first _ level _ key))second _ level _ keys=[dataset[first _ level _ key]中键的键.第二级密钥中第二级密钥的keys()]如果不是OS。路径。存在(操作系统。路径。join(保存路径,第一级密钥,第二级密钥)):OS。makedirs(OS。路径。join(保存路径,first_level_key,second _ level _ key))image _ arr=NP。array(dataset[第一级关键字][第二级关键字])img=sitk .getimagefromraray(image _ arr)img .SetSpacing([1.0,1.0,1.0]) //根据需求修改间距锡克.WriteImage(img,os.path.join(savepath,first_level_key,second_level_key,second _ level _ key 。NII。gz’)(第一级关键字)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。