1 from numpy importarray, append, vstack, transpose, reshape, \2 dot, true_divide, mean, exp, sqrt, log, \3 loadtxt, savetxt, zeros, frombuffer4 from numpy.linalg importnorm, lstsq5 from multiprocessing importProcess, Array6 from random importsample7 from time importtime8 from sys importstdout9 from ctypes importc_double10 from h5py importFile11
12
13 defmetrics(a, b):14 return norm(a -b)15
16
17 defgaussian (x, mu, sigma):18 return exp(- metrics(mu, x)**2 / (2 * sigma**2))19
20
21 defmultiQuadric (x, mu, sigma):22 return pow(metrics(mu,x)**2 + sigma**2, 0.5)23
24
25 definvMultiQuadric (x, mu, sigma):26 return pow(metrics(mu,x)**2 + sigma**2, -0.5)27
28
29 defplateSpine (x,mu):30 r =metrics(mu,x)31 return (r**2) *log(r)32
33
34 classRbf:35 def __init__(self, prefix = 'rbf', workers = 4, extra_neurons = 0, from_files =None):36 self.prefix =prefix37 self.workers =workers38 self.extra_neurons =extra_neurons39
40 #Import partial model
41 if from_files is notNone:42 w_handle = self.w_handle = File(from_files['w'], 'r')43 mu_handle = self.mu_handle = File(from_files['mu'], 'r')44 sigma_handle = self.sigma_handle = File(from_files['sigma'], 'r')45
46 self.w = w_handle['w']47 self.mu = mu_handle['mu']48 self.sigmas = sigma_handl