HDF5 skup podataka (.hdf5)

The Standard

Hijerarhijski format podataka 5 (HDF5) predstavlja vrhunsku arhitekturu za upravljanje naučnim podacima za masovne višedimenzionalne nizove, koja se opsežno koristi u superračunarstvu, modeliranju klime, neuronauci i mašinskom učenju.

Konvertujte HDF5 u CSV

Besplatan konvertor HDF5 u CSV u pregledaču. Konvertujte datoteke odmah na svom uređaju.

Pregled i metapodaci

Operativni sistemi i analizatori datoteka identifikuju HDF5 datoteke proverom početnog binarnog niza bajtova:

Izaberite ili prevucite datoteke ovde

Privatno - datoteke nikada ne napuštaju vaš uređaj

ili nalepite Ctrl+V
Garancija privatnosti: bez prenosa podataka preko mreže 0 bajtova poslato spoljnim serverima. Sva obrada je izvršena lokalno u bezbednom okruženju vašeg pregledača.

Potpis zaglavlja na nivou bajtova (magični bajtovi)

Operativni sistemi i analizatori datoteka identifikuju HDF5 datoteke proverom početnog binarnog niza bajtova:

HEKSADECIMALNI POTPIS (OFFSET 0):

89 48 44 46 0D 0A 1A 0A

ASCII REPREZENTACIJA: \x89HDF\r\n\x1a\n

Standardizacija: The HDF Group Open Standard Specification

Tehničke specifikacije

Arhitektura kontejneraHijerarhijski binarni kontejner nalik sistemu datoteka, koji organizuje podatke u grupe (fascikle) i skupove podataka (višedimenzionalne nizove) sa atributima
KompresijaFilteri za kompresiju po blokovima: Gzip (Deflate), SZIP, Zstandard, Blosc i LZF
Bajtni redosled (Endianness)Navodi se u superbloku (Little-Endian ili Big-Endian)
Prostori bojaNije primenljivo (višedimenzionalni numerički nizovi)
Kanali i strukturaNaučni nizovi velikog broja dimenzija, složeni tipovi podataka i tekstualni nizovi promenljive dužine
Maksimalne dimenzijePraktično neograničen (podržava 64-bitne koordinate i skupove podataka veličine petabajta)
TransparentnostNema
Strimovanje i progresivno učitavanjeSkladištenje po blokovima omogućava čitanje delimičnih pravougaonih odsečaka bez učitavanja celog skupa podataka u memoriju

Tehnička matrica poređenja: HDF5 u odnosu na konkurente

Tehnički atributHDF5 (Trenutno)NETCDFFITSZARR
Hijerarhijska strukturaKompletan sistem datoteka nalik POSIX-u (grupe i skupovi podataka)NetCDF-4 koristi HDF5 u pozadiniFiksni blokovi nizova i tabelaFormat direktorijuma podeljen u komade (chunked) prilagođen oblaku
Sečenje skupa podataka (Slicing)Izuzetno brzo čitanje pravougaonih blokova podatakaBrzo čitanje hiperskablovaDirektno indeksiranje blokovaParalelno preuzimanje komada u oblaku
Upotreba u mašinskom učenjuStandard za težine modela (Keras .h5)Retko se koristi u veštačkoj inteligencijiNemaRastuća upotreba za skupove podataka za obuku veštačke inteligencije
Primarni ekosistemNCSA, superračunarstvo, Python h5pyNOAA, meteorologija, okeanografijaNASA, astronomija, teleskopiNauka o podacima prilagođena oblaku

Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak

Greška u Python h5py biblioteci: 'Unable to open file (file signature not found)'.

Osnovni uzrok: Oštećeni superblok od 8 bajtova na početku datoteke.

Oporavak: Pregledajte pomake superbloka ili oporavite skupove podataka pomoću File2File.app HDF5 alata.

Bezbednosna analiza i vektori napada parsera

Zvanična libhdf5 biblioteka obrađuje složena B-stabla i tabele hipova (heap tables) gde su oštećeni pomaci izazvali ranjivosti prekoračenja hipa.

Poznati vektori napada

  • Prekoračenje bafera hipa tokom prolaska kroz indeks čvora B-stabla (npr. CVE-2021-37501).
  • Upisivanje van granica u prilagođenim dodacima za cevovode dekompresije filtera.
  • Uskraćivanje usluge kroz kružne cikluse povezivanja grupa.

Najbolje prakse za zaštitu: Obrađujte HDF5 datoteke kojima se ne veruje pomoću WebAssembly mašina u zaštićenom okruženju sa ograničenom memorijom.

Istorijat i prekretnice

2020HDF5 v1.12 uvodi konektore sloja virtuelnih objekata (VOL) za skladištenje objekata u oblaku (Amazon S3).
2006HDF grupa se odvaja od NCSA Univerziteta u Ilinoisu kao nezavisna neprofitna fondacija.
1998NCSA izdaje HDF5, u potpunosti redizajnirajući originalni HDF4 kako bi se uklonila ograničenja veličine datoteke od 2 GB.

Ključne prednosti

  • Potpuni sistem datoteka unutar jedne datoteke: organizuje složene skupove podataka veličine više petabajta u imenovane grupe i skupove podataka poput direktorijuma.
  • Čitanje pravougaonog odsečka visokih performansi: pročitajte mali 2D deo iz ogromne 5D matrice veličine 100 gigabajta, bez učitavanja cele datoteke.
  • Duboka integracija sa modernim naučnim Python-om (h5py), MATLAB-om, R-om i visoko performansnim MPI-paralelnim superračunarima.

Tehnička ograničenja i nedostaci

  • Visoka složenost specifikacije otežava nezavisnu implementaciju parsera van zvanične libhdf5 C biblioteke.
  • Ograničenja zaključavanja sa jednim upisivačem u klasičnom HDF5-u su kroz istoriju komplikovala radne tokove konkurentnog upisivanja.
  • Oštećeni superblokovi mogu učiniti celo hijerarhijsko stablo nedostupnim.

Zanimljivosti

  • HDF5 potpis potiče od PNG-a; prepoznaje format i pomaže u otkrivanju čestih grešaka prenosa.
  • NASA-in sistem za posmatranje Zemlje (EOS) čuva petabajte svakodnevnih satelitskih podataka o klimi u HDF5 formatu.
  • Okviri za duboko učenje kao što su Keras i TensorFlow popularizovali su HDF5 (.h5) za čuvanje težina neuronskih mreža.

Često postavljana tehnička pitanja

Šta je HDF5 datoteka?

HDF5 datoteka je poput kompletnog sistema datoteka smeštenog u jednoj datoteci, namenjenog efikasnom čuvanju velikih naučnih nizova, tabela i modela mašinskog učenja.

Koja je razlika između .h5 i .hdf5?

Nema razlike; .h5 i .hdf5 su dve različite ekstenzije fajlova za potpuno isti Hijerarhijski format podataka 5 (Hierarchical Data Format 5).

Kako mogu da vidim šta se nalazi unutar HDF5 datoteke?

Možete pregledati grupe, skupove podataka i metapodatke unutar bilo koje HDF5 datoteke pomoću HDFView, Python h5py ili onlajn pomoću File2File.app.