保存/还原解释器运行状态以恢复中断计算
resume的Python项目详细描述
#恢复模块
此模块支持在不同的执行中保存和恢复同一个解释器
状态,在检查点文件中保存局部变量和一些类似随机状态的内部状态。
只要在函数
2的请求处创建一个检查点设置第一个运行时变量
3。在进化过程之前调用restore()
4执行任何计算周期
5。同时调用sync()或save()以方便存储当前状态。
如果代码因某种原因中断,则下一次执行将:
1。使用相同的检查点定义来定位保存的状态。
2.定义与初始占位符相同的变量
3。调用restore()将从磁盘加载这些变量
4计算周期从上次保存的状态继续。
5相同的sync()或save()将继续保存您的step forward work save。
**注意**:
-检查点的名称是从函数名中自动神奇地选择的。
-sync()仅当上次保存所用的时间大于(在构造函数中传递的)速率时才会保存状态
-save()始终将状态转储到磁盘中
-使用numpy.random模块代替python random模块,因为python库中缺少seed
恢复。
相反,numpy提供get_state()和set_state()。
结果,我们希望在失败或环境变化的情况下恢复计算进度。
BR/>与现有代码的整合必须是无缝的,将所有细节隐藏到用户。实际上,只有3条代码行应该插入到现有代码中。
BR/> 1。实例化一个检查点,通常在代码功能开始时。如果重新运行
3,请选择恢复点。决定何时在循环计算中保存内部状态。
=质数[-1]
,而n>0:
candidate+=1
对于素数中的p:
如果不是candidate%p:
break
否则:
素数。append(candidate)
n-=1
返回素数
````
我们可以使用检查点支持重用以前的计算。
分别是:
`` python
def compute戡primes(n=10):
“compute n next primes”
chp=Checkpoint()
定义算法的初始状态
i=2
primes=[i]
candidate=primes[-1]
还原以前的工作(如果有)
chp.restore();注意'n'保留当前调用值
下一个调用将从这里继续
chp.save()
return primes
````
>和一些测试代码
>
````python
>>;n=5
>;primes_1=compute_primes()
[2,3,5,5,7,11,13,17,17,19,23,29,31]
>>>br/>>>2,3,5,5,7,11,13,17,19,23,17,23,29,31]
>>>>>>;primes primes primes 2=compute primes primes primes 2=2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53]
>;>assert len(primes_1)>;0
>;>assert len(primes_2)==len(primes_1)+n
````
py random state以保证进程不会中断时的相同结果
-默认情况下检查点存储在“.checkpoints/”隐藏文件夹中。
-默认情况下,如果las update超出缓存范围,检查点将被丢弃。
-默认情况下,检查点存储所有基本类型和numpy类型。
-代码为alpha格式欢迎对pull请求的任何评论。
````
>$pip install restup
````
或者自己下载并改进代码:)在开发模式下安装在主目录
```````
python setup.py py py develop--用户
````
python版本
``````````7个但是,与Python3.x版本没有任何不兼容的地方。
此模块支持在不同的执行中保存和恢复同一个解释器
状态,在检查点文件中保存局部变量和一些类似随机状态的内部状态。
只要在函数
2的请求处创建一个检查点设置第一个运行时变量
3。在进化过程之前调用restore()
4执行任何计算周期
5。同时调用sync()或save()以方便存储当前状态。
如果代码因某种原因中断,则下一次执行将:
1。使用相同的检查点定义来定位保存的状态。
2.定义与初始占位符相同的变量
3。调用restore()将从磁盘加载这些变量
4计算周期从上次保存的状态继续。
5相同的sync()或save()将继续保存您的step forward work save。
**注意**:
-检查点的名称是从函数名中自动神奇地选择的。
-sync()仅当上次保存所用的时间大于(在构造函数中传递的)速率时才会保存状态
-save()始终将状态转储到磁盘中
-使用numpy.random模块代替python random模块,因为python库中缺少seed
恢复。
相反,numpy提供get_state()和set_state()。
结果,我们希望在失败或环境变化的情况下恢复计算进度。
BR/>与现有代码的整合必须是无缝的,将所有细节隐藏到用户。实际上,只有3条代码行应该插入到现有代码中。
BR/> 1。实例化一个检查点,通常在代码功能开始时。如果重新运行
3,请选择恢复点。决定何时在循环计算中保存内部状态。
=质数[-1]
,而n>0:
candidate+=1
对于素数中的p:
如果不是candidate%p:
break
否则:
素数。append(candidate)
n-=1
返回素数
````
我们可以使用检查点支持重用以前的计算。
分别是:
`` python
def compute戡primes(n=10):
“compute n next primes”
chp=Checkpoint()
定义算法的初始状态
i=2
primes=[i]
candidate=primes[-1]
还原以前的工作(如果有)
chp.restore();注意'n'保留当前调用值
下一个调用将从这里继续
chp.save()
return primes
````
>和一些测试代码
>
````python
>>;n=5
>;primes_1=compute_primes()
[2,3,5,5,7,11,13,17,17,19,23,29,31]
>>>br/>>>2,3,5,5,7,11,13,17,19,23,17,23,29,31]
>>>>>>;primes primes primes 2=compute primes primes primes 2=2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53]
>;>assert len(primes_1)>;0
>;>assert len(primes_2)==len(primes_1)+n
````
py random state以保证进程不会中断时的相同结果
-默认情况下检查点存储在“.checkpoints/”隐藏文件夹中。
-默认情况下,如果las update超出缓存范围,检查点将被丢弃。
-默认情况下,检查点存储所有基本类型和numpy类型。
-代码为alpha格式欢迎对pull请求的任何评论。
````
>$pip install restup
````
或者自己下载并改进代码:)在开发模式下安装在主目录
```````
python setup.py py py develop--用户
````
python版本
``````````7个但是,与Python3.x版本没有任何不兼容的地方。