IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Python et le format HDF5 [Tutoriel]


Sujet :

Python

  1. #1
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut Python et le format HDF5
    Bonjour à tous,

    Je vous propose un tutoriel pour apprendre à manipuler le format HDF5 en programmation Python.

    Lors de toute création de logiciel, se pose à un moment donné, la sauvegarde des données manipulées.

    Dans un précédent article, je vous avais exposé un comparatif INI / JSON. Outre ce format, nous avions évoqué également le XML. Des formats différents, standards ou maisons, il en existe un nombre incalculable.

    Concernant le traitement et la manipulation de données numériques massives, l'un d'entre eux se trouve être très utilisé en informatique scientifique : le format HDF5.

    C'est ce format que je vous invite ici à découvrir.
    Bonne lecture à tous.


    Retrouvez les meilleurs cours et tutoriels pour apprendre la programmation Python
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  2. #2
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    je me demandais, dans quelle mesure c'est utilisé ce format ? tu marques que c'est "très utilisé en informatique scientifique" mais des quelques recherches que j'ai effectué la plupart du temps les datasets sont fournis à la va-comme-jte-pousse dans un tarball ou un zip sous forme de fichier texte à parser soi-même, je veux dire est-ce qu'il s'agit d'un format "incontournable" ou qui relève des bonnes pratiques ou simplement un truc cool qui devrait théoriquement être beaucoup plus utilisé qu'il ne l'est etc. ?

  3. #3
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Très bonne question.

    Il s'agit de la dernière solution, a savoir quelque chose de très pratique qui devrait être bien plus utilisé dès qu'on manipule et qu'on désire stocker des données numériques en masse. Ceci dit, mon expérience professionnelle m'a effectivement démontré une méconnaissance de ce format. On n'utilise pas ce qu'on ignore exister
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 239
    Points : 36 692
    Points
    36 692
    Par défaut
    Citation Envoyé par BufferBob Voir le message
    Je veux dire est-ce qu'il s'agit d'un format "incontournable" ou qui relève des bonnes pratiques ou simplement un truc cool qui devrait théoriquement être beaucoup plus utilisé qu'il ne l'est etc. ?
    La structure hiérarchique d'un système de fichiers standard est appropriée pour la plupart des applications.... Et ce qu'on fait avec HDF5 peut être fait avec un système de fichiers standard.
    Là ou HDF5 devient intéressant, c'est lorsqu'on travaille sur de grandes quantités de données éparpillées dans de multiples "fichiers" du côté des performances, de la portabilité et des facilités d'utilisation depuis différents outils.

    Mais c'est bien de savoir que çà existe même si les applications qui devraient/pourraient en profiter sont en nombre réduit.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 50
    Points : 103
    Points
    103
    Par défaut
    Le format HDF5 peut être utilisé par certains fabricants de microscopes et autres instruments de mesure de ce genre pour stocker les données acquises (par exemple des données hyperspectrales). Delmic a développé le logiciel Odemis qui utilise h5py : https://github.com/delmic/odemis/blo...dataio/hdf5.py.

  6. #6
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Question sans doute idiote, mais mise à part la portabilité (et encore), quels sont les avantages par rapport à un sgbdr ? Et les inconvénients.
    Si tant soit peu que les deux soient comparables.

    Comme ça, je dirais une manipulation plus facile, le langage sql étant très complexe, mais pas sûr.

    En fait toutes les manipulations que tu montres ressemblent un peu à ce qu'on peut faire avec un sgdbr robuste, enfin, si j'ai bien saisi.
    Le temps ronge l'amour comme l'acide.

  7. #7
    Membre confirmé

    Inscrit en
    Décembre 2009
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 164
    Points : 490
    Points
    490
    Par défaut
    Salut,

    Il faudrait peut être préciser que la librairie C h5 n'est pas ré-entrante (même pour un accès en lecture à des fichiers différents...), et que le seul moyen de l'utiliser en multi thread c'est de la compiler en mode thread safe ce qui ne fait qu'utiliser un gros lock global qui pourrit bien évidemment les performances.
    Pour ma part, je l'utilise au boulot car, comme indiqué plus haut, c'est assez rependu dans l'informatique scientifique à cause de bonne performances en mode écriture . Ceci dit, et à mon avis, c'est à éviter pour toute autres applications.

    MG

  8. #8
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 266
    Points : 12 681
    Points
    12 681
    Par défaut
    Bonjour,
    Citation Envoyé par kmedghaith Voir le message
    Salut,

    Il faudrait peut être préciser que la librairie C h5 n'est pas ré-entrante (même pour un accès en lecture à des fichiers différents...), et que le seul moyen de l'utiliser en multi thread c'est de la compiler en mode thread safe ce qui ne fait qu'utiliser un gros lock global qui pourrit bien évidemment les performances.
    Pour ma part, je l'utilise au boulot car, comme indiqué plus haut, c'est assez rependu dans l'informatique scientifique à cause de bonne performances en mode écriture . Ceci dit, et à mon avis, c'est à éviter pour toute autres applications.

    MG
    Si tu es sur de ton fait, je trouve dommage que que cette lib ne tienne pas ces engagements, car l'une des raisons de hdf5 est justement de retirer ces limitations présentes en hdf4...
    Cordialement.

  9. #9
    Membre confirmé

    Inscrit en
    Décembre 2009
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 164
    Points : 490
    Points
    490
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Bonjour,


    Si tu es sur de ton fait, je trouve dommage que que cette lib ne tienne pas ces engagements, car l'une des raisons de hdf5 est justement de retirer ces limitations présentes en hdf4...
    Oui

    https://support.hdfgroup.org/HDF5/faq/threadsafe.html

Discussions similaires

  1. [Article] Python et l'agrégation d'outils
    Par Djug dans le forum Général Python
    Réponses: 0
    Dernier message: 04/01/2011, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo