¿Qué es el formato de archivo H5?
La extensión de archivo .h5 denota un archivo HDF5 (Hierarchical Data Format versión 5), un contenedor de datos científicos binarios desarrollado por el HDF Group y creado originalmente en el National Center for Supercomputing Applications (NCSA) en 1998. HDF5 es un formato autodescriptivo y jerárquico diseñado para almacenar conjuntos de datos multidimensionales enormes junto con metadatos enriquecidos.
Internamente, un archivo .h5 se organiza como un árbol de grupos con nombre (análogos a directorios) y conjuntos de datos (matrices tipadas N-dimensionales). Cada conjunto de datos registra su propio tipo de datos, dimensiones, orden de bytes y ajustes de compresión. Los conjuntos de datos pueden comprimirse opcionalmente por fragmentos (chunks) utilizando GZIP, SZIP, Blosc o Zstandard, lo que permite un almacenamiento eficiente incluso para datos a escala de terabytes. Cada archivo y objeto puede llevar atributos con nombre para metadatos adicionales.
Los usos comunes incluyen:
- Grandes conjuntos de datos científicos en geociencia, física, bioinformática y aeroespacial (NASA, NOAA, ESA y CERN dependen de HDF5),
- Almacenamiento de pesos de redes neuronales y arquitecturas de modelos de Keras y TensorFlow,
- Proporcionar la capa de almacenamiento subyacente para archivos NetCDF-4.
Todos los archivos HDF5 comienzan con la firma mágica \x89HDF\r\n\x1a\n (8 bytes, normalmente en el desplazamiento 0). El formato admite el orden de bytes tanto little-endian como big-endian, declarado por archivo en el superbloque. Los archivos HDF5 se leen con la biblioteca h5py de Python, MATLAB, la utilidad de línea de comandos h5dump del conjunto de herramientas oficial de HDF5 y la interfaz gráfica HDFView.
Las extensiones .h5 y .hdf5 son intercambiables: ambas identifican archivos HDF5 válidos y son tratadas de forma idéntica por todo el software compatible con HDF5.
Seguridad y protección
RIESGO: LOWHDF5 es un contenedor de datos binarios pasivo sin código ejecutable. Es seguro de abrir. Los conjuntos de datos muy grandes pueden causar problemas de memoria si se cargan por completo en la RAM; utilice la carga diferida (lazy-loading) de h5py (f['/dataset'][::]) para segmentar matrices grandes. Los archivos HDF5 malformados podrían activar errores de biblioteca en versiones antiguas de libhdf5; mantenga la biblioteca actualizada.
Detalles del formato
en pocas palabras- Modelo de red neuronal Keras/TensorFlow - Keras guarda los pesos y la arquitectura de los modelos entrenados en .h5 utilizando HDF5; se trata del mismo formato, no de uno diferente.
- Datos de climatología/oceanografía NetCDF-4 - Los archivos NetCDF-4 (.nc, .nc4) son archivos HDF5 con convenciones NetCDF adicionales; a veces se guardan erróneamente como .h5.
Programas que abren archivos H5
Detalles técnicos
especificación profunda| Formato de contenedor | Contenedor jerárquico de grupos/conjuntos de datos/atributos HDF5 |
| Bytes mágicos | 89 48 44 46 0D 0A 1A 0A; ASCII \x89HDF\r\n\x1a\n; 8 bytes en el desplazamiento 0 (puede aparecer en desplazamientos 512/1024/2048) |
| Orden de bytes | Little-endian o big-endian, declarado por archivo en el superbloque |
| Codificación | Binario |
| Tipo MIME | application/x-hdf5 |
| Compresión | Canalización de filtros opcional por conjunto de datos: GZIP, SZIP, LZF, Blosc, Zstandard o ninguno |
| Suma de comprobación | Fletcher32 por fragmento (opcional, por conjunto de datos); suma de comprobación del superbloque en v2/v3 |
| Versiones del superbloque | 0-3; v2/v3 añaden diseño compacto y gestión de espacio de archivo |
| Dimensiones máximas del conjunto de datos | 32 dimensiones; hasta 2^64 elementos por dimensión |
| Fragmentación (Chunking) | Los conjuntos de datos pueden dividirse en fragmentos de tamaño fijo, lo que permite compresión por fragmento, acceso aleatorio y extensión dinámica |
| Tamaño de archivo típico | 100 KB - 100 GB+ (los pesos de modelos de Keras/TensorFlow suelen ser de 1-500 MB) |
| Autodescriptivo | Cada conjunto de datos almacena su propio tipo, dimensiones, orden de bytes, compresión y atributos con nombre |
| Compatibilidad hacia atrás | Las versiones más recientes de la biblioteca HDF5 leen todos los archivos HDF5 antiguos |
| Plataforma | Linux, Windows, macOS, clústeres HPC (cualquier SO POSIX) |
| Lanzado | 1998 (HDF5 1.0 release by NCSA) |
| Última versión | HDF5 1.14 (2023); file format spec version 1.1 (adds new B-tree type) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | support.hdfgroup.org |
Conversiones de H5
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos H5.