mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-02 08:12:39 +02:00
git pushMerge branch 'devel' of github.com:SheffieldML/GPy into devel
This commit is contained in:
commit
bcc1e7c8d4
1 changed files with 19 additions and 0 deletions
|
|
@ -39,3 +39,22 @@ def divide_data(datanum, rank, size):
|
||||||
size = datanum/size
|
size = datanum/size
|
||||||
offset = size*rank+residue
|
offset = size*rank+residue
|
||||||
return offset, offset+size, datanum_list
|
return offset, offset+size, datanum_list
|
||||||
|
|
||||||
|
def optimize_parallel(model, optimizer=None, messages=True, max_iters=1000, outpath='.', interval=100, name=None):
|
||||||
|
from math import ceil
|
||||||
|
from datetime import datetime
|
||||||
|
import os
|
||||||
|
if name is None: name = model.name
|
||||||
|
stop = 0
|
||||||
|
for iter in range(int(ceil(float(max_iters)/interval))):
|
||||||
|
model.optimize(optimizer=optimizer, messages= True if messages and model.mpi_comm.rank==model.mpi_root else False, max_iters=interval)
|
||||||
|
if model.mpi_comm.rank==model.mpi_root:
|
||||||
|
timenow = datetime.now()
|
||||||
|
timestr = timenow.strftime('%Y:%m:%d_%H:%M:%S')
|
||||||
|
model.save(os.path.join(outpath, name+'_'+timestr+'.h5'))
|
||||||
|
opt = model.optimization_runs[-1]
|
||||||
|
if opt.funct_eval<opt.max_f_eval:
|
||||||
|
stop = 1
|
||||||
|
stop = model.mpi_comm.bcast(stop, root=model.mpi_root)
|
||||||
|
if stop:
|
||||||
|
break
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue