我有一个产生数字的函数(神经网络模型).我希望在带有Torque的标准集群上使用PBS从python测试几个参数,方法和不同输入(意味着数百次运行的函数).
注意:我尝试了parallelpython,ipython等,并且从未完全满意,因为我想要更简单的东西.集群处于给定的配置中,我无法改变,这样的集成python + qsub的解决方案肯定会对社区有益.
为简化起见,我有一个简单的功能,例如:
import myModule def model(input, a= 1., N=100): do_lots_number_crunching(input, a,N) pylab.savefig('figure_' + input.name + '_' + str(a) + '_' + str(N) + '.png')
input
表示输入的对象在哪里,input.name
是一个字符串,do_lots_number_crunching
可能持续数小时.
我的问题是:是否有正确的方法来转换像扫描参数之类的东西
for a in pylab.linspace(0., 1., 100): model(input, a)
进入"东西",为每次调用model
函数启动PBS脚本?
#PBS -l ncpus=1 #PBS -l mem=i1000mb #PBS -l cput=24:00:00 #PBS -V cd /data/work/ python experiment_model.py
我正在考虑一个包含PBS模板的函数,并从python脚本中调用它,但还不能解决它(装饰器?).