def neuralnetpredict(pm, bs, nc, numd, seed, zz=0): '''For the given box, mesh, numd, seed and redshift, do the neural network prediction from the network saved in cfg file and return predict, nnpred, nnmass ''' dpath = '/global/project/projectdirs/astro250/chmodi/cosmo4d/' import yaml import nettools as ntools with open(dpath + 'train/models.yaml', 'r') as ymlfile: cfg = yaml.load(ymlfile) ptpath = dpath + 'train/' + cfg['%s-%s' % (int(bs), int(nc))][0][numd]['ppath'] mtpath = ptpath + cfg['%s-%s' % (int(bs), int(nc))][0][numd]['mpath'] # mtpath = ptpath + cfg['%s-%s'%(bs,nc)][0][numd]['mpathnf'] ptup, pftname, plocal, pdict = ntools.setuppos2(ptpath) mtup, mftname, mlocal, mdict = ntools.setupmass(mtpath) R1, R2 = pdict['R1'], pdict['R2'] num = int(numd * bs**3) meshdict, hdict = ntools.readfiles( pm, dpath + '/data/z%02d/L%04d_N%04d_S%04d_05step/' % (zz, bs, nc, seed), R1=R1, R2=R2, mexp=None) ftt = ntools.createdata(pm, meshdict, pdict['pftname'], plocal) mftt = ntools.createdata(pm, meshdict, mftname, mlocal) nnpred = ntools.applynet(ftt, ptup).reshape(nc, nc, nc) nnmass = ntools.applynet(mftt, mtup).reshape(nc, nc, nc) predict = nnpred * nnmass ## return pm.create(mode='real', value=predict), nnpred, nnmass
predicts, datas = [], [] datasgs = [[], []] sgs = [0.1, 0.20] for seed in [100, 500, 900, 800]: meshdict, dummy = ntools.readfiles( pm, scratch + '/data/L%04d_N%04d_S%04d_05step/' % (bs, nc, seed), R1=R1, R2=R2, abund=abund, doexp=doexp, mexp=mexp, cc=cc, stellar=stellar) ftt = ntools.createdata(pm, meshdict, pdict['pftname'], plocal) mftt = ntools.createdata(pm, meshdict, mftname, mlocal) nnpred = ntools.applynet(ftt, ptup).reshape(nc, nc, nc) if regression: nnmass = ntools.applymassreg(mftt, mtup).reshape(nc, nc, nc) else: nnmass = ntools.applynet(mftt, mtup).reshape(nc, nc, nc) if doexp: nnmass = mf.fmexp(ntools.relu(nnmass), mexp, cc) predict = pm.create(mode='real') predict[...] = nnpred * nnmass predictR = ft.smooth(predict, Rsm, 'fingauss') #data hdictf = ntools.gridhalos(pm,