我正在构建机器学习算法(如神经网络),其中类变量(即numpy matrices )代表系统的各种参数
通过迭代更新所有类变量来完成系统培训。迭代次数越多越好。我想每天早上起床检查班级变量。之后我想恢复该计划
我在交互式终端中调用该程序。这是我能想到的:
set_trace()
,但需要事先知道 暂停是否可以暂时暂停程序并使用类变量然后恢复?
如果有人需要更多详细信息,则该计划位于:github link
答案 0 :(得分:4)
我不熟悉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()
答案 1 :(得分:3)
如果修改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( ... )