У меня есть программа, выполняющая поиск по дереву Монте-Карло для шахмат. Использование pickle для сохранения объекта (экземпляра класса) и загрузки его в какой-либо файл будет запускать программу (MCTS) так же, как и то, где я хранил объект с самого начала. По сути, копирование программы вместо получения объекта со значениями в состоянии, в котором он был до записи в файл .pkl.
что я сделал:
with open('chess_agent.pkl', 'rb') as data:
agent = _pickle.load(data)
Было бы просто запустить MCTS точно так же, как файл, в котором я сохранил объект. Мне нужно просто получить экземпляр со значениями, полученными в файле, где я его сохранил.
как я сохранил:
with open('chess_agent.pkl', 'wb') as f:
_pickle.dump(Object, f)
Поскольку объект имеет так много значений и объектов, связанных с ним, и если MCTS некоторое время работал, было бы стыдно потерять весь прогресс, если по какой-либо причине программа перестает работать.