示例#1
0
	print('---------------------')
	print('\tMCcount = ', MCcount)
	print('---------------------')

	# BUILD PDF
	MCprocess = MCprocessing(savenameMC, case=case)
	savenamepdf = MCprocess.buildKDE(nu, distribution=distribution, MCcount=MCcount, save=save, u_margin=u_margin, bandwidth=bandwidth)

	# LEARN
	dataman = DataIO(case, directory=PDFDIR) 
	fu, gridvars, ICparams = dataman.loadSolution(savenamepdf, array_opt='marginal')

	adjustgrid = {'mu':mu, 'mx':mx, 'mt':mt, 'pu':pu, 'px':px, 'pt':pt}
	grid = PdfGrid(gridvars)
	fu = grid.adjust(fu, adjustgrid)

	difflearn = PDElearn(grid=grid, fu=fu, ICparams=ICparams, scase=case, trainratio=trainratio, verbose=printlearning)
	filename = difflearn.fit_sparse(feature_opt=feature_opt, variableCoef=variableCoef, variableCoefBasis=variableCoefBasis, \
	        variableCoefOrder=coeforder, use_rfe=use_rfe, rfe_alpha=rfe_alpha, nzthresh=nzthresh, maxiter=maxiter, \
	        LassoType=LassoType, RegCoef=RegCoef, cv=cv, criterion=criterion, print_rfeiter=print_rfeiter, shuffle=shuffle, \
	        basefile=savenamepdf, adjustgrid=adjustgrid, save=save, normalize=normalize, comments=comments)

	# Save Learning
	D = DataIO(case, directory=LEARNDIR)
	output, metadata = D.readLearningResults(filename)

	output_vec.append(output)	
	metadata_vec.append(metadata)
	filename_vec.append(filename)
示例#2
0
    feature_opt = '1storder'
    coeforder = 2
    sindy_alpha = 0.01
    nzthresh = 1e-190
    RegCoef = 0.000004
    maxiter = 10000

    if "savenamepdf" not in locals():
        # Check if there is already a loadfile (if not load it)
        savenamepdf = 'advection_reaction_analytical_717_944.npy'
        dataman = DataIO(case)
        fu, gridvars, ICparams = dataman.loadSolution(savenamepdf,
                                                      array_opt='marginal')

    grid = PdfGrid(gridvars)
    fu = grid.adjust(fu, aparams)

    if plot:
        s = 10
        V = Visualize(grid)
        V.plot_fu3D(fu)
        V.plot_fu(fu, dim='t', steps=s)
        V.plot_fu(fu, dim='x', steps=s)
        V.show()

    difflearn = PDElearn(grid=grid,
                         fu=fu,
                         ICparams=ICparams,
                         scase=case,
                         trainratio=0.8,
                         debug=False,