| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import os.path
- import itertools
- import Tools
- import random
- import numpy as np
- NBTESTSAMPLES = 10
- # Nb vectors for barycenter
- NBVECTORS = [4,10,16]
- VECDIM = [12,14,20]
- def genWsum(config,nb):
- dims=[]
- inputs=[]
- weights=[]
- output=[]
- vecDim = VECDIM[nb % len(VECDIM)]
- dims.append(NBTESTSAMPLES)
- dims.append(vecDim)
- for _ in range(0,NBTESTSAMPLES):
- va = np.random.rand(vecDim)
- vb = np.random.rand(vecDim)
- e = np.sum(va.T * vb) / np.sum(vb)
- inputs += list(va)
- weights += list(vb)
- output.append(e)
- inputs=np.array(inputs)
- weights=np.array(weights)
- output=np.array(output)
- config.writeInput(nb, inputs,"Inputs")
- config.writeInputS16(nb, dims,"Dims")
- config.writeInput(nb, weights,"Weights")
- config.writeReference(nb, output,"Ref")
- def genBarycenter(config,nb):
- dims=[]
- inputs=[]
- weights=[]
- output=[]
- vecDim = VECDIM[nb % len(VECDIM)]
- nbVecs = NBVECTORS[nb % len(NBVECTORS)]
- dims.append(NBTESTSAMPLES)
- dims.append(nbVecs)
- dims.append(vecDim)
- for _ in range(0,NBTESTSAMPLES):
-
- vecs = []
- b = np.zeros(vecDim)
- coefs = np.random.rand(nbVecs)
-
- for i in range(nbVecs):
- va = np.random.rand(vecDim)
- b += va * coefs[i]
- vecs += list(va)
-
- b = b / np.sum(coefs)
-
- inputs += list(vecs)
- weights += list(coefs)
- output += list(b)
- inputs=np.array(inputs)
- weights=np.array(weights)
- output=np.array(output)
- config.writeInput(nb, inputs,"Inputs")
- config.writeInputS16(nb, dims,"Dims")
- config.writeInput(nb, weights,"Weights")
- config.writeReference(nb, output,"Ref")
- def writeTests(config):
- genBarycenter(config,1)
- genWsum(config,2)
- PATTERNDIR = os.path.join("Patterns","DSP","Support","Support")
- PARAMDIR = os.path.join("Parameters","DSP","Support","Support")
- configf32=Tools.Config(PATTERNDIR,PARAMDIR,"f32")
- writeTests(configf32)
|