De/Serialization safe de réseaux de neurones en python

télécharger des cerveaux sans danger

a marqué ce sujet comme résolu.

Salut, j’ai envie de bidouiller un peu d' IA, il y a des réseaux de neurones qui ont eu le temps de "fermenter" suffisamment longtemps sur de gros processeurs spécialisés, que l’on peut télécharger. Je sais que "dépickler" peut-être risqué, quelles solutions ? marshall est il moins risqué que pickle ?

Je sais que "dépickler" peut-être risqué, quelles solutions ? marshall est il moins risqué que pickle ?

buffalo974

Ça dépend, pickle reste tout de même bien utile dans un environnement qui est à la fois réputé sûr et fonctionnant seulement en Python. Si tu as ces deux contraintes, alors tu peux l’utiliser sans problème.

Voici ce qu’en dit la documentation (traduction de ma part)

Le module pickle n’est pas sûr/sécurisé. Unpicklez seulement les données dignes de confiance. Il est possible de forger des données pickle malveillantes pouvant exécuter du code arbitraire au moment de la desérialisation. Ainsi, ne jamais desérialiser des données provenant d’une source non sûre ou via un canal qui aurait permis de corrompre à la volée les données. Il est envisageable de signer les données avec hmac pour s’assurer de leur intégrité.

https://docs.python.org/fr/3/library/pickle.html#module-pickle

En ce qui concerne marshall, c’est la même chose que pickle, mais c’est une version de plus bas niveau. Elle partage donc les deux mêmes caractéristiques : c’est propre à Python et c’est à utiliser que dans un environnement jugé sûr. marshall n’est donc pas moins risqué que pickle.

J’attire ton attention sur le fait que son utilisation est déconseillée dans le cas général car marshall n’a aucune garantie de sa stabilité au fil des versions Python :

Les détails du format sont volontairement non documentés ; il peut changer d’une version Python à l’autre (bien que ce soit rarement le cas).

https://docs.python.org/fr/3/library/marshal.html#module-marshal

Quelles sont tes données ? D’où viennent-elles et comment sont-elles transférées et utilisées ?
Suivant les réponses à ces questions, l’utilisation de pickle peut être envisagée.

Je précise, tout de même, que je ne suis pas un spécialiste de l’IA. Il y a peut-être des formats de sérialisation spécialisés et plus adaptés qui seraient plus pertinents dans ton cas (si c’est le cas, je laisse les pros t’orienter).

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte