Was ist das H5-Dateiformat?
Die Dateiendung .h5 bezeichnet eine HDF5-Datei (Hierarchical Data Format Version 5), einen binären wissenschaftlichen Datencontainer, der von der HDF Group entwickelt und ursprünglich 1998 am National Center for Supercomputing Applications (NCSA) erstellt wurde. HDF5 ist ein selbstbeschreibendes, hierarchisches Format, das für die Speicherung enormer mehrdimensionaler Datensätze zusammen mit umfangreichen Metadaten konzipiert wurde.
Intern ist eine .h5-Datei als Baum aus benannten Gruppen (analog zu Verzeichnissen) und Datensätzen (N-dimensionale typisierte Arrays) organisiert. Jeder Datensatz speichert seinen eigenen Datentyp, seine Dimensionen, die Byte-Reihenfolge und die Kompressionseinstellungen. Datensätze können optional auf Chunk-Basis mit GZIP, SZIP, Blosc oder Zstandard komprimiert werden, was eine effiziente Speicherung selbst für Daten im Terabyte-Bereich ermöglicht. Jede Datei und jedes Objekt kann benannte Attribute für zusätzliche Metadaten tragen.
Häufige Verwendungszwecke sind:
- Große wissenschaftliche Datensätze in den Geowissenschaften, der Physik, Bioinformatik und Luft- und Raumfahrt (NASA, NOAA, ESA und CERN verlassen sich alle auf HDF5),
- Speicherung von Keras- und TensorFlow-Gewichten neuronaler Netze und Modellarchitekturen,
- Bereitstellung der zugrunde liegenden Speicherschicht für NetCDF-4-Dateien.
Alle HDF5-Dateien beginnen mit der Magic-Signatur \x89HDF\r\n\x1a\n (8 Bytes, normalerweise bei Offset 0). Das Format unterstützt sowohl Little-Endian- als auch Big-Endian-Byte-Reihenfolge, die pro Datei im Superblock deklariert wird. HDF5-Dateien werden mit der h5py-Bibliothek von Python, MATLAB, dem Befehlszeilenprogramm h5dump aus dem offiziellen HDF5-Toolset und der HDFView-GUI gelesen.
Die Erweiterungen .h5 und .hdf5 sind austauschbar - beide identifizieren gültige HDF5-Dateien und werden von jeder HDF5-fähigen Software identisch behandelt.
Sicherheit
RISIKO: LOWHDF5 ist ein passiver binärer Datencontainer ohne ausführbaren Code. Das Öffnen ist sicher. Sehr große Datensätze können Speicherprobleme verursachen, wenn sie vollständig in den RAM geladen werden - verwenden Sie das Lazy-Loading von h5py (f['/dataset'][::]), um große Arrays in Slices zu laden. Manipulierte HDF5-Dateien könnten Bibliotheksfehler in älteren Versionen von libhdf5 auslösen; halten Sie die Bibliothek auf dem neuesten Stand.
Formatdetails
kurz gefasst- Keras/TensorFlow neuronales Netzmodell - Keras speichert trainierte Modellgewichte und Architekturen mit HDF5 als .h5; dies ist dasselbe Format, kein anderes.
- NetCDF-4 Klima-/Ozeanographiedaten - NetCDF-4-Dateien (.nc, .nc4) sind HDF5-Dateien mit zusätzlichen NetCDF-Konventionen; sie werden manchmal fälschlicherweise als .h5 gespeichert.
Programme zum Öffnen von H5-Dateien
Technische Details
technische Spezifikation| Containerformat | HDF5 hierarchischer Gruppen-/Datensatz-/Attribut-Container |
| Magic Bytes | 89 48 44 46 0D 0A 1A 0A; ASCII \x89HDF\r\n\x1a\n; 8 Bytes bei Offset 0 (kann bei Offsets 512/1024/2048 erscheinen) |
| Byte-Reihenfolge | Little-Endian oder Big-Endian, pro Datei im Superblock deklariert |
| Kodierung | Binär |
| MIME-Typ | application/x-hdf5 |
| Kompression | Optionaler Filter-Pipeline pro Datensatz: GZIP, SZIP, LZF, Blosc, Zstandard oder keine |
| Prüfsumme | Fletcher32 pro Chunk (optional, pro Datensatz); Superblock-Prüfsumme in v2/v3 |
| Superblock-Versionen | 0-3; v2/v3 fügen kompaktes Layout und Dateiplatzverwaltung hinzu |
| Max. Datensatzdimensionen | 32 Dimensionen; bis zu 2^64 Elemente pro Dimension |
| Chunking | Datensätze können in Chunks fester Größe aufgeteilt werden, was Kompression pro Chunk, Direktzugriff und dynamische Erweiterung ermöglicht |
| Typische Dateigröße | 100 KB - 100 GB+ (Keras/TensorFlow-Modellgewichte typischerweise 1-500 MB) |
| Selbstbeschreibend | Jeder Datensatz speichert seinen eigenen Typ, Dimensionen, Byte-Reihenfolge, Kompression und benannte Attribute |
| Abwärtskompatibilität | Neuere Versionen der HDF5-Bibliothek lesen alle älteren HDF5-Dateien |
| Plattform | Linux, Windows, macOS, HPC-Cluster (jedes POSIX-Betriebssystem) |
| Veröffentlicht | 1998 (HDF5 1.0 release by NCSA) |
| Neueste Version | HDF5 1.14 (2023); file format spec version 1.1 (adds new B-tree type) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | support.hdfgroup.org |
H5-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu H5-Dateien.