public void initWeights() { int b, a; for (b = 0; b < LayerSize; b++) { for (a = 0; a < SparseFeatureSize; a++) { SparseWeights[b][a] = RNNHelper.RandInitWeight(); } } for (b = 0; b < LayerSize; b++) { for (a = 0; a < DenseFeatureSize; a++) { DenseWeights[b][a] = RNNHelper.RandInitWeight(); } } for (b = 0; b < LayerSize; b++) { for (a = 0; a < LayerSize; a++) { BpttWeights[b][a] = RNNHelper.RandInitWeight(); } } }
public virtual void InitializeWeights(int sparseFeatureSize, int denseFeatureSize) { if (denseFeatureSize > 0) { Logger.WriteLine("Initializing dense feature matrix. layer size = {0}, feature size = {1}", LayerSize, denseFeatureSize); DenseFeatureSize = denseFeatureSize; DenseWeights = new Matrix <float>(LayerSize, denseFeatureSize); for (var i = 0; i < DenseWeights.Height; i++) { for (var j = 0; j < DenseWeights.Width; j++) { DenseWeights[i][j] = RNNHelper.RandInitWeight(); } } } if (sparseFeatureSize > 0) { Logger.WriteLine("Initializing sparse feature matrix. layer size = {0}, feature size = {1}", LayerSize, sparseFeatureSize); SparseFeatureSize = sparseFeatureSize; SparseWeights = new Matrix <float>(LayerSize, SparseFeatureSize); for (var i = 0; i < SparseWeights.Height; i++) { for (var j = 0; j < SparseWeights.Width; j++) { SparseWeights[i][j] = RNNHelper.RandInitWeight(); } } } InitializeInternalTrainingParameters(); }
private void CreateCell(BinaryReader br) { if (br != null) { //Load weight from input file for (int i = 0; i < LayerSize; i++) { cell[i].wPeepholeIn = br.ReadDouble(); cell[i].wPeepholeForget = br.ReadDouble(); cell[i].wPeepholeOut = br.ReadDouble(); cell[i].wCellIn = br.ReadDouble(); cell[i].wCellForget = br.ReadDouble(); cell[i].wCellState = br.ReadDouble(); cell[i].wCellOut = br.ReadDouble(); } } else { //Initialize weight by random number for (int i = 0; i < LayerSize; i++) { //internal weights, also important cell[i].wPeepholeIn = RNNHelper.RandInitWeight(); cell[i].wPeepholeForget = RNNHelper.RandInitWeight(); cell[i].wPeepholeOut = RNNHelper.RandInitWeight(); cell[i].wCellIn = RNNHelper.RandInitWeight(); cell[i].wCellForget = RNNHelper.RandInitWeight(); cell[i].wCellState = RNNHelper.RandInitWeight(); cell[i].wCellOut = RNNHelper.RandInitWeight(); } } }
public void Init(int LayerSize, int DenseFeatureSize, bool hasDeri = true) { layerSize = LayerSize; denseFeatureSize = DenseFeatureSize; weights = new float[LayerSize][]; if (hasDeri) { deri = new float[LayerSize][]; } else { deri = null; } for (var i = 0; i < LayerSize; i++) { weights[i] = new float[DenseFeatureSize]; if (hasDeri) { deri[i] = new float[DenseFeatureSize]; } for (var j = 0; j < DenseFeatureSize; j++) { weights[i][j] = RNNHelper.RandInitWeight(); } } }
private Vector4 InitializeLSTMWeight() { Vector4 w; //initialise each weight to random value w.X = RNNHelper.RandInitWeight(); w.Y = RNNHelper.RandInitWeight(); w.Z = RNNHelper.RandInitWeight(); w.W = RNNHelper.RandInitWeight(); return(w); }
public void InitWeights(int LayerSize, int DenseFeatureSize) { layerSize = LayerSize; denseFeatureSize = DenseFeatureSize; weights = new float[layerSize][]; for (var i = 0; i < layerSize; i++) { weights[i] = new float[denseFeatureSize]; for (var j = 0; j < denseFeatureSize; j++) { weights[i][j] = RNNHelper.RandInitWeight(); } } }
public virtual void InitializeWeights(int sparseFeatureSize, int denseFeatureSize) { if (denseFeatureSize > 0) { DenseFeatureSize = denseFeatureSize; DenseWeights = new Matrix <double>(LayerSize, denseFeatureSize); for (int i = 0; i < DenseWeights.Height; i++) { for (int j = 0; j < DenseWeights.Width; j++) { DenseWeights[i][j] = RNNHelper.RandInitWeight(); } } } }
private void InitializeCellWeights(BinaryReader br) { CellWeights = new LSTMCellWeight[LayerSize]; CellWeightsDeri = new LSTMCellWeightDeri[LayerSize]; if (br != null) { //Load weight from input file for (var i = 0; i < LayerSize; i++) { CellWeights[i] = new LSTMCellWeight(); CellWeights[i].wPeepholeIn = br.ReadDouble(); CellWeights[i].wPeepholeForget = br.ReadDouble(); CellWeights[i].wPeepholeOut = br.ReadDouble(); CellWeights[i].wCellIn = br.ReadDouble(); CellWeights[i].wCellForget = br.ReadDouble(); CellWeights[i].wCellState = br.ReadDouble(); CellWeights[i].wCellOut = br.ReadDouble(); CellWeightsDeri[i] = new LSTMCellWeightDeri(); } } else { //Initialize weight by random number for (var i = 0; i < LayerSize; i++) { CellWeights[i] = new LSTMCellWeight(); //internal weights, also important CellWeights[i].wPeepholeIn = RNNHelper.RandInitWeight(); CellWeights[i].wPeepholeForget = RNNHelper.RandInitWeight(); CellWeights[i].wPeepholeOut = RNNHelper.RandInitWeight(); CellWeights[i].wCellIn = RNNHelper.RandInitWeight(); CellWeights[i].wCellForget = RNNHelper.RandInitWeight(); CellWeights[i].wCellState = RNNHelper.RandInitWeight(); CellWeights[i].wCellOut = RNNHelper.RandInitWeight(); CellWeightsDeri[i] = new LSTMCellWeightDeri(); } } }