def run_search(self): print "begin PES:" try: del (self.pesobj) except: pass self.pesobj = PES.PES(self.X, self.Y, self.S, self.D, self.lb.flatten(), self.ub.flatten(), self.para['kindex'], self.para['mprior'], self.para['sprior'], DH_SAMPLES=self.para['DH_SAMPLES'], DM_SAMPLES=self.para['DM_SAMPLES'], DM_SUPPORT=self.para['DM_SUPPORT'], DM_SLICELCBPARA=self.para['DM_SLICELCBPARA'], mode=self.para['SUPPORT_MODE']) [Qmin, ymin, ierror] = self.pesobj.search_acq(self.para['cfn'], self.para['logsl'], self.para['logsu'], volper=self.para['volper']) return [Qmin[:-1], 10**Qmin[-1], [sp.NaN]]
def run_search(self): print "begin PESIS:" try: #print "aaa" del (self.pesobj) #print "bbb" except: print "ccc" self.pesobj = PES.PES(self.X, self.Y, self.S, self.D, self.lb.flatten(), self.ub.flatten(), self.para['kindex'], self.para['mprior'], self.para['sprior'], DH_SAMPLES=self.para['DH_SAMPLES'], DM_SAMPLES=self.para['DM_SAMPLES'], DM_SUPPORT=self.para['DM_SUPPORT'], DM_SLICELCBPARA=self.para['DM_SLICELCBPARA'], mode=self.para['SUPPORT_MODE'], noS=True) [xmin, ymin, ierror] = self.pesobj.search_pes(-1, volper=self.para['volper']) return [xmin, 0., [sp.NaN]]
def PESvsaq(optstate, persist, **para): para = copy.deepcopy(para) if persist == None: persist = {'n': 0, 'd': len(para['ub'])} n = persist['n'] d = persist['d'] if n < para['nrandinit']: persist['n'] += 1 return randomaq(optstate, persist, **para) logger.info('PESvsaq') #logger.debug(sp.vstack([e[0] for e in optstate.ev])) #raise x = sp.vstack(optstate.x) y = sp.vstack(optstate.y) s = sp.vstack([e['s'] for e in optstate.ev]) dx = [e['d'] for e in optstate.ev] pesobj = PES.PES(x, y, s, dx, para['lb'], para['ub'], para['kindex'], para['mprior'], para['sprior'], DH_SAMPLES=para['DH_SAMPLES'], DM_SAMPLES=para['DM_SAMPLES'], DM_SUPPORT=para['DM_SUPPORT'], DM_SLICELCBPARA=para['DM_SLICELCBPARA'], mode=para['SUPPORT_MODE'], noS=para['noS']) [xmin, ymin, ierror] = pesobj.search_acq(para['cfn'], para['logsl'], para['logsu'], volper=para['volper']) logger.debug([xmin, ymin, ierror]) para['ev']['s'] = 10**xmin[-1] xout = [i for i in xmin[:-1]] return xout, para['ev'], persist, { 'HYPdraws': [k.hyp for k in pesobj.G.kf], 'mindraws': pesobj.Z, 'DIRECTmessage': ierror, 'PESmin': ymin } return
def pcs(self): self.pesobj = PES.PES(self.X, self.Y, self.S, self.D, self.lb.flatten(), self.ub.flatten(), self.para['kindex'], self.para['mprior'], self.para['sprior'], DH_SAMPLES=self.para['DH_SAMPLES'], DM_SAMPLES=self.para['DM_SAMPLES'], DM_SUPPORT=self.para['DM_SUPPORT'], DM_SLICELCBPARA=self.para['DM_SLICELCBPARA'], mode=self.para['SUPPORT_MODE']) xmin = self.reccomend() plt.figure(1) plt.plot(xmin[0], xmin[1], 'r.') print xmin plt.figure(2) plt.subplot(4, 1, 1) ns = 6000 sup = sp.linspace(-1, 1, ns) for i in xrange(2): X = sp.vstack([xmin for k in xrange(ns)]) print X.shape for j in xrange(ns): X[j, i] = sup[j] [m, v] = self.pesobj.G.infer_diag_post(X, [[sp.NaN]] * ns) s = sp.sqrt(v) plt.subplot(4, 1, 2 * i + 1) plt.fill_between(sup, (m - 2 * s).flatten(), (m + 2 * s).flatten(), facecolor='lightblue', edgecolor='lightblue') plt.plot(sup, m.flatten()) [m, v] = self.pesobj.G.infer_diag_post(X, [[i]] * ns) s = sp.sqrt(v) plt.subplot(4, 1, 2 * i + 2) plt.fill_between(sup, (m - 2 * s).flatten(), (m + 2 * s).flatten(), facecolor='lightblue', edgecolor='lightblue') plt.plot(sup, m.flatten(), 'r') p = sp.exp(-0.5 * (m**2) / v) plt.twinx().plot(sup, p.flatten(), 'g') return
def run_search(self): print "begin PESFS:" try: del (self.pesobj) except: pass self.pesobj = PES.PES(self.X, self.Y, self.S, self.D, self.lb.flatten(), self.ub.flatten(), self.para['kindex'], self.para['mprior'], self.para['sprior'], DH_SAMPLES=self.para['DH_SAMPLES'], DM_SAMPLES=self.para['DM_SAMPLES'], DM_SUPPORT=self.para['DM_SUPPORT'], DM_SLICELCBPARA=self.para['DM_SLICELCBPARA'], mode=self.para['SUPPORT_MODE']) [xmin, ymin, ierror] = self.pesobj.search_pes(self.sdefault, volper=self.para['volper']) return [xmin, self.para['s'], [sp.NaN]]
lb = sp.array([-1.] * d) ub = sp.array([1.] * d) [X, Y, S, D] = ESutils.gen_dataset(nt, d, lb, ub, GPdc.SQUEXP, sp.array([1.5, 0.35, 0.30])) kindex = GPdc.SQUEXP mprior = sp.array([0.] + [-1.] * d) sprior = sp.array([1.] * (d + 1)) pesobj = PES.PES(X, Y, S, D, lb, ub, kindex, mprior, sprior, DH_SAMPLES=8, DM_SAMPLES=8, DM_SUPPORT=400, DM_SLICELCBPARA=1., mode=ESutils.SUPPORT_SLICEEI) np = 150 sup = sp.linspace(-1, 1, np) Dp = [[sp.NaN]] * np Sp = sp.array([[1e-3] * np]).T Xp0 = sp.vstack([sp.array([i, pesobj.Z[0, 1]]) for i in sup]) Xp1 = sp.vstack([sp.array([pesobj.Z[0, 0], i]) for i in sup]) f, a = plt.subplots(d)
# Creates stitch outlines for each shape if args.noOutline is not True: subshapeLineGroups = prependShapeTraces(paths, subshapeLineGroups, maxStitchDistance=maxStitchDistance) #DEBUG lines: [[[Line(0+0j, 300+0j), Line(300+0j, 300+300j), Line(300+300j, 0+300j) , Line(0+300j, 0+0j)]]] PECCommands = createPECStitchRoutines(subshapeLineGroups, fillColors, threadWidth, maxStitchDistance=maxStitchDistance) left, right, bottom, top = shape.bbox() pec = PEC(label="simple", colors=PECColors, commands=PECCommands, size=complex(right - left, top - bottom)) # Render the PEC commands renderPEC(pec) pes = PES(PEC=pec, shape=shape) encodedPES = pes.encode() with open(args.outputFile, "w") as f: f.write(encodedPES) print("Wrote {} to disk.".format(args.outputFile)) if args.debugRendering: loadedPES = pyembroidery.read(args.outputFile) if loadedPES is not None: print("Generating debug image.") debugImagePath = replaceFilenameAndExtensionFromPath(args.outputFile, "debugPicture" + getFilenameAndExtensionFromPath(args.outputFile)[0], "png") pyembroidery.write_png(loadedPES, debugImagePath) print("Image written to disk: {}".format(debugImagePath)) else: