Dans mon programme, je travaille avec divers tableaux numpy de différentes tailles. J'ai besoin de les stocker dans des fichiers XML pour une utilisation ultérieure. Je ne les ai pas écrits dans des fichiers binaires, donc j'ai toutes mes données au même endroit (le fichier XML) et pas dispersées dans 200 fichiers. J'ai donc essayé d'utiliser la méthode array_str() de numpy pour transformer un tableau en String. Le XML résultant ressemble à ceci:Stockage et chargement de tableaux numpy sous forme de fichiers
-<Test date="2013-07-10-17:19">
<Neurons>5</Neurons>
<Errors>[7.7642140551985428e-06, 7.7639131137987232e-06]</Errors>
<Iterations>5000</Iterations>
<Weights1>[[ 0.99845902 -0.70780512 0.26981375 -0.6077122 0.09639695] [ 0.61856711 -0.74684913 0.20099992 0.99725171 -0.41826754] [ 0.79964397 0.56620812 -0.64055346 -0.50572793 -0.50100635]]</Weights1>
<Weights2>[[-0.1851452 -0.22036027] [ 0.19293429 -0.1374252 ] [-0.27638478 -0.38660974] [ 0.30441414 -0.01531598] [-0.02478953 0.01823584]]</Weights2>
</Test>
Les poids sont les valeurs que je veux stocker. Maintenant le problème est que la méthode de numpy fromstring() ne peut pas recharger ces apparemment ... Je reçois "ValueError: la taille de la chaîne doit être un multiple de la taille de l'élément"
Je les ai écrits avec "np.array_str (w1) "et essayez de les lire avec" np.fromstring (w_str1) ". Apparemment, le résultat est seulement un tableau 1D même si cela fonctionne, donc je dois restaurer la forme manuellement. Euh, c'est déjà une douleur car je vais aussi devoir le stocker d'une manière ou d'une autre.
Quelle est la meilleure façon de le faire correctement? De préférence, celui qui enregistre également la forme et le type de données de ma matrice sans entretien manuel pour chaque petite chose.
Merci ce n'est pas exactement ce que j'avais à l'esprit (cela crée encore des tonnes de fichiers externes), mais cette solution est extrêmement simple au moins. Je peux associer des fichiers npz à mes données XML en utilisant les dates comme noms de fichiers. – user2323596
Au moins, ici vous pouvez stocker plusieurs tableaux dans un seul fichier, et l'accès peut être fait plus tard en utilisant les clés du dictionnaire comme étant les dates, exemple: 'np.savez_compressed ('all.npz', d2013_12_29 = a, d2013_12_30 = b , d2013_12_31 = c) ', vous pouvez inclure autant de dates que vous voulez ici ... –