Enregistrer l'état d'un programme pour lui permettre d'être repris
J'ai parfois Python programmes qui prennent du temps à s'exécuter, et que je veux être en mesure de sauver l'état et de le reprendre plus tard. Quelqu'un aurait-il un moyen astucieux de l'enregistrement de l'état, soit toutes les x secondes, ou lorsque le programme est de sortir?
OriginalL'auteur Dean Barnes | 2011-04-06
Vous devez vous connecter pour publier un commentaire.
Mettre tous de votre "état" de données en un seul endroit et à l'utilisation d'un cornichon.
Comment puis-je trouver mon "état" de données? Ce n'est pas une réponse directe à la question, je pense.
Il veut rassembler toutes les données que vous vous souciez/toutes les données que vous devez redémarrer votre processus. Vous êtes essentiellement de la rédaction de votre propre sauvegarde/chargement et l'utilisation de décapant à prendre de l'enregistrement/chargement de disque, afin de trouver ensemble votre "état" de données est à vous, il n'y a pas de réponse générale. #lateisbetterthannever
OriginalL'auteur Andrew White
Si vous voulez économiser de tout, y compris l'ensemble de l'espace de noms et la ligne de code en cours d'exécution à être redémarré à tout moment, il n'y a pas une bibliothèque standard du module pour le faire.
Comme une autre affiche a dit, le cornichon module peut enregistrer à peu près tout dans un fichier, puis de le charger à nouveau, mais vous auriez spécifiquement pour la conception de votre programme autour de la saumure module (c'est à dire sauver votre "état" -- y compris des variables, etc ... dans une classe).
OriginalL'auteur Garrett Berg
Si vous ok avec la programmation orientée objet, envisagez de créer une méthode pour chaque classe de sortie d'un sérialisés version ( à l'aide de cornichon ) dans un fichier. Puis ajouter une deuxième méthode pour charger dans l'instance les données, et si le marinés fichier est là que vous appelez la méthode de chargement au lieu de la transformation.
J'utilise cette approche pour ML et il a vraiment de la graine mon travail.
OriginalL'auteur daymos
Dans la traditionnelle approche de la programmation le moyen le plus évident pour enregistrer un état de variables ou objets après un certain moment de l'exécution est la sérialisation.
Donc, si vous voulez exécuter le programme, après quelques lourde déjà calculée de l'état nous avons besoin de commencer seulement à partir de la désérialisation.
Ces étapes seront la plupart du temps principalement dans la science des données de modélisation où l'on charge un énorme CSV ou d'autres données et de calcul, et nous ne voulons pas de recalculer à chaque fois que nous exécuter un programme.
http://jupyter.org/ - Un outil qui n'ces sérialisation/désérialisation automatiquement sans que vous ayez à faire tout le travail manuel.
Tout ce que vous devez faire est de faire exécuter une partie de votre code python disons ligne 10-15, qui dépendent perméable lignes 1-9. Jupyter enregistre l'état de 1 à 9 pour vous. Explorer un tutoriel et de leur donner un essai.
OriginalL'auteur Santosh Ksl