O que é o formato de ficheiro H5?
A extensão de arquivo .h5 denota um arquivo HDF5 (Hierarchical Data Format versão 5), um contêiner de dados científicos binários desenvolvido pelo HDF Group e originalmente criado no National Center for Supercomputing Applications (NCSA) em 1998. O HDF5 é um formato hierárquico e autodescritivo projetado para armazenar enormes conjuntos de dados multidimensionais junto com metadados ricos.
Internamente, um arquivo .h5 é organizado como uma árvore de grupos nomeados (análogos a diretórios) e conjuntos de dados (matrizes tipadas N-dimensionais). Cada conjunto de dados registra seu próprio tipo de dados, dimensões, ordem de bytes e configurações de compressão. Os conjuntos de dados podem opcionalmente ser comprimidos por blocos (chunks) usando GZIP, SZIP, Blosc ou Zstandard, permitindo o armazenamento eficiente mesmo para dados em escala de terabytes. Cada arquivo e objeto pode conter atributos nomeados para metadados adicionais.
Usos comuns incluem:
- grandes conjuntos de dados científicos em geociência, física, bioinformática e aeroespacial (NASA, NOAA, ESA e CERN dependem do HDF5),
- armazenamento de pesos de redes neurais e arquiteturas de modelos Keras e TensorFlow,
- fornecimento da camada de armazenamento subjacente para arquivos NetCDF-4.
Todos os arquivos HDF5 começam com a assinatura mágica \x89HDF\r\n\x1a\n (8 bytes, normalmente no deslocamento 0). O formato suporta ordenação de bytes little-endian e big-endian, declarada por arquivo no superbloco. Arquivos HDF5 são lidos com a biblioteca h5py do Python, MATLAB, o utilitário de linha de comando h5dump do conjunto de ferramentas oficial HDF5 e a GUI HDFView.
As extensões .h5 e .hdf5 são intercambiáveis - ambas identificam arquivos HDF5 válidos e são tratadas de forma idêntica por todos os softwares compatíveis com HDF5.
Segurança e proteção
RISCO: LOWO HDF5 é um contêiner de dados binários passivo sem código executável. Seguro para abrir. Conjuntos de dados muito grandes podem causar problemas de memória se carregados inteiramente na RAM - use o carregamento preguiçoso (lazy-loading) do h5py (f['/dataset'][::]) para fatiar matrizes grandes. Arquivos HDF5 malformados podem acionar bugs de biblioteca em versões antigas da libhdf5; mantenha a biblioteca atualizada.
Detalhes do formato
em resumo- Modelo de rede neural Keras/TensorFlow - O Keras salva pesos de modelos treinados e arquitetura em .h5 usando HDF5; este é o mesmo formato, não um diferente.
- Dados de clima/oceanografia NetCDF-4 - Arquivos NetCDF-4 (.nc, .nc4) são arquivos HDF5 com convenções NetCDF adicionais; às vezes salvos erroneamente como .h5.
Programas que abrem arquivos H5
Detalhes técnicos
especificação profunda| Formato de contêiner | Contêiner hierárquico de grupos/conjuntos de dados/atributos HDF5 |
| Assinatura de arquivo | 89 48 44 46 0D 0A 1A 0A; ASCII \x89HDF\r\n\x1a\n; 8 bytes no deslocamento 0 (pode aparecer nos deslocamentos 512/1024/2048) |
| Ordem de bytes | Little-endian ou big-endian, declarada por arquivo no superbloco |
| Codificação | Binário |
| Tipo MIME | application/x-hdf5 |
| Compressão | Pipeline de filtro opcional por conjunto de dados: GZIP, SZIP, LZF, Blosc, Zstandard ou nenhum |
| Soma de verificação | Fletcher32 por bloco (opcional, por conjunto de dados); soma de verificação do superbloco nas v2/v3 |
| Versões do superbloco | 0-3; v2/v3 adicionam layout compacto e gerenciamento de espaço de arquivo |
| Dimensões máximas do dataset | 32 dimensões; até 2^64 elementos por dimensão |
| Fragmentação (Chunking) | Conjuntos de dados podem ser divididos em blocos de tamanho fixo, permitindo compressão por bloco, acesso aleatório e extensão dinâmica |
| Tamanho de arquivo típico | 100 KB - 100 GB+ (pesos de modelos Keras/TensorFlow normalmente 1-500 MB) |
| Autodescritivo | Cada conjunto de dados armazena seu próprio tipo, dimensões, ordem de bytes, compressão e atributos nomeados |
| Compatibilidade retroativa | Versões mais recentes da biblioteca HDF5 leem todos os arquivos HDF5 mais antigos |
| Plataforma | Linux, Windows, macOS, clusters HPC (qualquer SO POSIX) |
| Lançado | 1998 (HDF5 1.0 release by NCSA) |
| Versão mais recente | HDF5 1.14 (2023); file format spec version 1.1 (adds new B-tree type) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | support.hdfgroup.org |
Conversões de H5
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos H5.