public virtual void update(Transform transform, ClusteredDensityFileData clusters) { for (int i = 0; i < this.meansPool.size(); i++) { int classIndex = clusters.getClassIndex(i); float[] array = new float[this.getVectorLength()[0]]; float[] array2 = (float[])this.meansPool.get(i); for (int j = 0; j < this.numStreams; j++) { for (int k = 0; k < this.getVectorLength()[j]; k++) { array[k] = 0f; int num; float[] array4; for (int l = 0; l < this.getVectorLength()[j]; l++) { float[] array3 = array; num = k; array4 = array3; array4[num] += transform.getAs()[classIndex][j][k][l] * array2[l]; } float[] array5 = array; num = k; array4 = array5; array4[num] += transform.getBs()[classIndex][j][k]; } ByteCodeHelper.arraycopy_primitive_4(array, 0, array2, 0, array.Length); } } }
public void LoadTransform(String path, int numClass) { try { Clusters = new ClusteredDensityFileData(Context.GetLoader(), numClass); var transform = new Transform((Sphinx3Loader)Context.GetLoader(), numClass); transform.Load(path); Context.GetLoader().Update(transform, Clusters); } catch (Exception exception) { this.LogError(exception); } }
public void Update(Transform transform, ClusteredDensityFileData clusters) { for (var index = 0; index < MeansPool.Size; index++) { var transformClass = clusters.GetClassIndex(index); var tmean = new float[VectorLength[0]]; var mean = MeansPool.Get(index); for (var l = 0; l < VectorLength[0]; l++) { tmean[l] = 0; for (var m = 0; m < VectorLength[0]; m++) { tmean[l] += transform.As[transformClass][0][l][m] * mean[m]; } tmean[l] += transform.Bs[transformClass][0][l]; } Array.Copy(tmean, 0, mean, 0, tmean.Length); } }
public Stats CreateStats(int numClasses) { Clusters = new ClusteredDensityFileData(Context.GetLoader(), numClasses); return new Stats(Context.GetLoader(), Clusters); }
public virtual void update(Transform transform, ClusteredDensityFileData clusters) { }
public void Update(Transform transform, ClusteredDensityFileData clusters) { // TODO Not implemented yet }