def makeInputVector(name, d, randomSeed=None): vec = [] if randomSeed == None: randomSeed = long(time.clock() * 100000000000000000) if randomSeed > -1: PDFTools.setSeed(randomSeed) length = 0 for i in range(d): tmp = PDFTools.sampleFloat(GaussianPDF()) vec = vec + [tmp] length = length + tmp**2 length = math.sqrt(length) f = [] for i in range(d): vec[i] = vec[i] / length f = f + [ConstantFunction(1, vec[i])] if randomSeed > -1: PDFTools.setSeed(long(time.clock() * 1000000000000000)) print vec return (FunctionInput(name, f, Units.UNK))
def genVectors(self, N, d): if d != len(self.vocabulary[0]): print "Error, vocabulary d != requested d in CleanupVectorGenerator" if self.index >= len(self.vocabulary): return ([None]) max = 0 for x in self.vocabulary[self.index]: if abs(x) > max: max = abs(x) vecs = [] for i in range(N): vec = [0 for x in range(d)] length = 0 for j in range(d): vec[j] = self.vocabulary[self.index][j] + PDFTools.sampleFloat( GaussianPDF(0.0, self.variance)) * max length = length + vec[j]**2 length = math.sqrt(length) for j in range(d): vec[j] = vec[j] / length vecs = vecs + [vec] return (vecs)
def genVectors(self, N, d): vecs = [] for i in range(N): if i < len(self.vectors): vecs.append(self.vectors[i]) else: tmp = [PDFTools.sampleFloat(GaussianPDF()) for x in range(d)] length = math.sqrt(sum([x**2 for x in tmp])) tmp = [x / length for x in tmp] vecs.append(tmp) return vecs
def __init__(self, frequency, dimension=1): """Initialize node variables. :param frequency: frequency to update noise values :param dimension: dimension of noise signal """ self.period = 1.0 / frequency self.scale = 0.0 self.updatetime = 0.0 self.state = [0.0 for _ in range(dimension)] self.pdf = GaussianPDF(0, 1) nef.SimpleNode.__init__(self, "NoiseNode")
def genVector(d): result = [PDFTools.sampleFloat(GaussianPDF()) for i in range(d)] result = normalize(result) return result