Co to jest format pliku H5?
Rozszerzenie pliku .h5 oznacza plik HDF5 (Hierarchical Data Format wersja 5), binarny kontener danych naukowych opracowany przez HDF Group, a pierwotnie stworzony w National Center for Supercomputing Applications (NCSA) w 1998 roku. HDF5 to samopiszący się, hierarchiczny format zaprojektowany do przechowywania ogromnych wielowymiarowych zbiorów danych wraz z bogatymi metadanymi.
Wewnętrznie plik .h5 jest zorganizowany jako drzewo nazwanych grup (analogicznie do katalogów) i zbiorów danych (N-wymiarowych tablic typowanych). Każdy zbiór danych rejestruje własny typ danych, wymiary, kolejność bajtów i ustawienia kompresji. Zbiory danych mogą być opcjonalnie kompresowane na poziomie bloków (chunks) przy użyciu GZIP, SZIP, Blosc lub Zstandard, co umożliwia wydajne przechowywanie danych nawet w skali terabajtów. Każdy plik i obiekt może posiadać nazwane atrybuty dla dodatkowych metadanych.
Typowe zastosowania obejmują:
- duże naukowe zbiory danych w geonauce, fizyce, bioinformatyce i przemyśle lotniczym (NASA, NOAA, ESA i CERN polegają na HDF5),
- przechowywanie wag sieci neuronowych i architektur modeli Keras oraz TensorFlow,
- zapewnienie podstawowej warstwy przechowywania dla plików NetCDF-4.
Wszystkie pliki HDF5 zaczynają się od magicznej sygnatury \x89HDF\r\n\x1a\n (8 bajtów, zazwyczaj pod offsetem 0). Format obsługuje zarówno kolejność bajtów little-endian, jak i big-endian, deklarowaną dla każdego pliku w superbloku. Pliki HDF5 są odczytywane za pomocą biblioteki h5py języka Python, programu MATLAB, narzędzia wiersza poleceń h5dump z oficjalnego zestawu narzędzi HDF5 oraz interfejsu graficznego HDFView.
Rozszerzenia .h5 i .hdf5 są stosowane zamiennie - oba identyfikują prawidłowe pliki HDF5 i są traktowane identycznie przez całe oprogramowanie obsługujące HDF5.
Bezpieczeństwo
RYZYKO: LOWHDF5 to pasywny binarny kontener danych bez kodu wykonywalnego. Jest bezpieczny do otwarcia. Bardzo duże zbiory danych mogą powodować problemy z pamięcią, jeśli zostaną w całości załadowane do RAM - używaj leniwego ładowania h5py (f['/dataset'][::]) do wycinania fragmentów dużych tablic. Nieprawidłowo sformatowane pliki HDF5 mogą wywołać błędy biblioteki w starszych wersjach libhdf5; należy dbać o aktualizację biblioteki.
Szczegóły formatu
w pigułce- Model sieci neuronowej Keras/TensorFlow - Keras zapisuje wytrenowane wagi modeli i architekturę do .h5 przy użyciu HDF5; jest to ten sam format, a nie inny.
- Dane klimatyczne/oceanograficzne NetCDF-4 - Pliki NetCDF-4 (.nc, .nc4) to pliki HDF5 z dodatkowymi konwencjami NetCDF; czasami błędnie zapisywane jako .h5.
Programy otwierające pliki H5
Szczegóły techniczne
specyfikacja| Format kontenera | Hierarchiczny kontener grup/zbiorów danych/atrybutów HDF5 |
| Magiczne bajty | 89 48 44 46 0D 0A 1A 0A; ASCII \x89HDF\r\n\x1a\n; 8 bajtów pod offsetem 0 (może pojawić się pod offsetami 512/1024/2048) |
| Kolejność bajtów | Little-endian lub big-endian, deklarowana dla każdego pliku w superbloku |
| Kodowanie | Binarne |
| Typ MIME | application/x-hdf5 |
| Kompresja | Opcjonalny potok filtrów dla zbioru danych: GZIP, SZIP, LZF, Blosc, Zstandard lub brak |
| Suma kontrolna | Fletcher32 na blok (opcjonalnie, dla zbioru danych); suma kontrolna superbloku w v2/v3 |
| Wersje superbloku | 0-3; v2/v3 dodają kompaktowy układ i zarządzanie przestrzenią pliku |
| Maksymalne wymiary zbioru | 32 wymiary; do 2^64 elementów na wymiar |
| Podział na bloki (Chunking) | Zbiory danych mogą być dzielone na bloki o stałym rozmiarze, co umożliwia kompresję blokową, dostęp swobodny i dynamiczne rozszerzanie |
| Typowy rozmiar pliku | 100 KB - 100 GB+ (wagi modeli Keras/TensorFlow zazwyczaj 1-500 MB) |
| Samopiszący się | Każdy zbiór danych przechowuje własny typ, wymiary, kolejność bajtów, kompresję i nazwane atrybuty |
| Kompatybilność wsteczna | Nowsze wersje biblioteki HDF5 odczytują wszystkie starsze pliki HDF5 |
| Platforma | Linux, Windows, macOS, klastry HPC (dowolny system operacyjny zgodny z POSIX) |
| Wydano | 1998 (HDF5 1.0 release by NCSA) |
| Najnowsza wersja | HDF5 1.14 (2023); file format spec version 1.1 (adds new B-tree type) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | support.hdfgroup.org |
Konwersje H5
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki H5.