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)
上一篇 2025年9月4日 下午2:01
下一篇 2025年9月4日 下午2:43


相关推荐

  • Docker 安装 RabbitMQ[通俗易懂]

    Docker 安装 RabbitMQ[通俗易懂]Docker安装RabbitMQ1RabbitMQ端口作用2RabbitMQ常用命令2.1用户管理2.2用户角色2.3用户权限2.4节点类型2.5启用插件3Docker安装RabbitMQ4Docker安装MySQL85Docker安装Redis63Docker安装Yapi1RabbitMQ端口作用RabbitMQ端口作用4369epmd,RabbitMQ节点和CLI工具使用的对等发现服务5672、5671由不带TLS和带

    2022年5月24日
    54
  • java大数据和python大数据的全面对比,哪个更主流?

    java大数据和python大数据的全面对比,哪个更主流?大数据是目前互联网流行的技术语言 处理大数据的编程语言比较有优势的也很多 比如 java python go R 语言 Hadoop 等等 按道理来说每种编程语言都可以处理大数据 只是处理的规模不一样而且 但是现在比较受欢迎的数据处理编程语言是 java 与 python java 大数据与 python 大数据说到 java 编程 java 工程师一直都是同行的高薪岗位 而 python 是从最初的 2016 人工智能开始爆发 从而在短短两年之内能赶超 java 随着 python 的发展 最大赢家无疑是 python 未来大数据是

    2026年3月26日
    2
  • pycharm安装配置教程_python安装pycharm的方法

    pycharm安装配置教程_python安装pycharm的方法TOC关于pycharm的下载安装以及环境的配置过程(python语言编辑器)下面是pycharm的链接:https://pan.baidu.com/s/1SFHWnGsRsC1XxCG8pQfrlw提取码:zj4h复制这段内容后打开百度网盘手机App,操作更方便哦!或者百度搜索后直接下载:一:安装过程:1、进入安装界面,直接点next进入下一个界面。2、记好此时的安装位置,点n…

    2022年8月29日
    3
  • 04边界值分析法

    04边界值分析法04 边界值分析法 1 边界值分析法的介绍和概念 边界值分析是一种常用的黑盒测试方法 是对等价类划分方法的补充 所谓边界值 是指相对于输入等价类和输出等价类而言 稍高于其最高值或稍低于最低值的一些特定情况 边界值分析的步骤包括确定边界 选择测试用例两个步骤 根据大量的测试统计数据 很多错误是发生在输入或输出范围的边界上 而不是发生在输入 输出范围的中间区域 因此针对各种边界情况

    2026年3月18日
    2
  • java json序列化日期类型[通俗易懂]

    java json序列化日期类型[通俗易懂]做接口开发时经常需要给前端返回日期数据,比如生日、创建时间、更新时间等。我们一般是建一个bean,将定义所需要的字段,并和数据库的字段相对应。虽然数据库的字段是日期类型的,但bean的字段定义在String就行了,看下面的测试代码:packagecom.bs.test;importjava.text.SimpleDateFormat;importjava.util.Date;importc

    2025年6月9日
    5
  • uniapp中touchstart、touchmove和touchend在H5中无法触发,可通过jQuery添相应事件代替

    uniapp中touchstart、touchmove和touchend在H5中无法触发,可通过jQuery添相应事件代替uniapp中touchstart、touchmove和touchend在H5中无法触发,可通过jQuery添相应事件代替

    2022年6月19日
    184

发表回复

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

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