示例#1
0
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
示例#4
0
    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")
示例#5
0
def genVector(d):
    result = [PDFTools.sampleFloat(GaussianPDF()) for i in range(d)]

    result = normalize(result)

    return result