[英]Pause Python program on the fly (and resume)
我正在構建一種機器學習算法(例如神經網絡),其中類變量 (即numpy 矩陣 )表示系統的各種參數
訓練系統是通過迭代更新所有類變量來完成的。 迭代次數越多越好。 我想每天早晨起床,檢查班級變量。 之后,我想恢復程序
我正在交互式終端中調用該程序。 這是我能想到的:
set_trace()
,但需要事先知道何時暫停 是否可以即時暫停程序並使用類變量然后恢復?
如果有人需要更多詳細信息,請訪問以下程序: github鏈接
我不熟悉numpy,但這是一個可以停止和繼續的簡單類:
class Program():
def run(self):
while 1:
try:
self.do_something()
except KeyboardInterrupt:
break
def do_something(self):
print("Doing something")
# usage:
a = Program()
a.run()
# will print a lot of statements
# if you hit CTRL+C it will stop
# then you can run it again with a.run()
如果您修改model.do_EM()方法以保存每一步的當前狀態並檢查配置文件,該怎么辦?
def do_EM(self, n_iteration = 10):
self.visualizer.visualize(self.param_alpha, self.param_mu, self.param_sigma)
for i in range(n_iteration):
print "iteration:", i
self.step_E()
print "done step_E. ",
self.step_M()
print "done step_M. "
self.visualizer.visualize(self.param_alpha, self.param_mu, self.param_sigma)
# Save current state
self.log.write( ... )
# Check for config changes
self.config.update( ... )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.