matlab读.h5文件「建议收藏」

matlab读.h5文件「建议收藏」之前用python给nuswide提取了VGG19特征,因为文件太大,超过.mat限制,存成.h5,见[1]。现在一个matlab程序要读,可以用h5disp查看.h5文件内容的结构(各个datasets),然后用h5read读。注意两点:文件名的类型要是char而不能是string,否则报错好像被自动转置了一次?我当初存的时候应该是n×dn\timesdn×d的,但读出来的时候变成d×nd\timesnd×n了(不知道是h5py[1]在存

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

之前用 python 给 nuswide 提取了 VGG19 特征,因为文件太大,超过 .mat 限制,存成 .h5,见 [1]。现在一个 matlab 程序要读,可以用 h5disp 查看 .h5 文件内容的结构(各个 datasets),然后用 h5read 读。

注意两点:

  • 文件名、dataset 的类型要是 char 而能是 string,否则报错。可以用 c = char(s) 将 string 转成 char
  • 好像被自动转置了一次?我当初存的时候应该是 n × d n\times d n×d 的,但读出来的时候变成 d × n d\times n d×n 了(不知道是 h5py[1] 在存的时候自己转了,还是 matlab 读的时候自己转的)

Code

% "双"引号 是 string,会报错
% F = "datasets/nuswide-tc10/images.nuswide.vgg19.4096d.h5";
% '单'引号 是 char(数组),可以
F = 'datasets/nuswide-tc10/images.nuswide.vgg19.4096d.h5';

% 打印文件内结构
h5disp(F);

% 读
images = h5read(F, '/images');  % dataset name 也要用****引号 char
fprintf("images:"), disp(size(images));  % (4096, 269648)
  • 输出
HDF5 images.nuswide.vgg19.4096d.h5 
Group '/' 
    Dataset 'images' 
        Size:  4096x269648
        MaxSize:  4096x269648
        Datatype:   H5T_IEEE_F32LE (single)
        ChunkSize:  []
        Filters:  none
        FillValue:  0.000000

images:        4096      269648

References

  1. h5py存取简例
  2. Importing HDF5 Files
  3. 利用matlab读取.h5文件内容
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197410.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据库端口号怎么修改_sqlserver查看sa密码

    数据库端口号怎么修改_sqlserver查看sa密码sqlserver端口如果出现问题,会直接影响sqlserver的登录,下面就教您sqlserver端口的更改方法,供您参考,让您不再为sqlserver端口问题而头疼。今天遇到一个问题,sqlserver无法登陆,到Services里看,服务没有起来。但是在启动Service时遇到问题说无法启动。去AdministrativeTools->EventViewer中查看了一下,…

    2022年8月31日
    4
  • OJ平台各个简写的含义

    OJ平台各个简写的含义简写字符的含义简写全称中文称谓ACAccepted通过WAWrongAnswer答案错误TLETimeLimitExceed超时OLEOutputLimitExceed超出输出限制MLEMemoryLimitExceed超出内存RERuntimeError运行时错误PEPresentationError格式错误CECompileError无法编译…

    2022年6月22日
    30
  • springboot上传文件到文件夹

    springboot上传文件到文件夹springboot上传文件至项目当前路径下的文件夹关键代码,之后会分享完整代码到gitee默认上传文件到文件夹/***默认上传文件到文件夹**@paramfolder默认文件夹*@paramfile上传的文件*@return*/privateStringmyfileUp(Stri…

    2022年5月30日
    29
  • Linux系统平均负载3个数字的含义

    Linux系统平均负载3个数字的含义熟悉Linux系统的人都知道负载这个说法。负载就是指当前系统的资源使用情况。可以使用w,uptime和top命令实时查看监控系统的监控状况。越来越多人开始接触Linux操作系统,从VPS到无线路由的刷机系统(如OpenWRT、Tomato),同时也必不可少地会在各式各样的探针和系统监测界面上看到”系统平均负载”或者”LoadAverage…

    2025年11月4日
    4
  • Python字符串比较

    Python字符串比较InthistutorialwearegoingtoseedifferentmethodsbywhichwecancomparestringsinPython.Wewillalsoseesometrickycaseswhenthepythonstringcomparisoncanfailandgoldenrulestoget…

    2022年6月18日
    41
  • py2exe怎么安装_eclipse设置pydev

    py2exe怎么安装_eclipse设置pydev系统:Windows7Ultimate 64-bits一、安装py2exepy2exe下载链接:http://download.csdn.net/detail/joey_su/6713523二、使用方法新建一个要转换成windows上可执行程序的python脚本,名称为”helloworld.py”,存储路径为D:\Project\Python\hell

    2025年10月20日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号