python 捕获 ctrl c中断信号

训练model时可能会在中间时刻停止训练,如果想要停止信号发出后,继续执行剩下的代码,可以使用下述方式:

	try:
		model.learn(total_timesteps=int(trian_steps), callback=callback)
	except KeyboardInterrupt:
		model.save(log_dir + "{}-{}-{}".format(algo, env_name, trian_steps))
		results_plotter.plot_results([log_dir], trian_steps, results_plotter.X_TIMESTEPS, "{}, {}".format(algo, env_name))
		plt.savefig(log_dir + "{}-{}-{}.png".format(algo, env_name, trian_steps))
		# plt.show()
		print('{} {} training finished.'.format(algo, env))

或者使用signal模块

import signal

def exit(signum, frame):
  print('You choose to stop me.')
  exit()

signal.signal(signal.SIGINT, exit)
signal.signal(signal.SIGTERM, exit)

while 1:
  print('running......)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值