Esempio n. 1
0
 public model(dataSet X, featureGenerator fGen)
 {
     _nTag         = X.NTag;
     _nHiddenState = Global.nHiddenStatePerTag * _nTag;
     //default value is 0
     if (Global.random == 0)
     {
         _w = new float[fGen.NCompleteFeature];
     }
     else if (Global.random == 1)
     {
         List <float> randList = randomDoubleTool.getRandomList_float(fGen.NCompleteFeature);
         _w = randList.ToArray();
         if (Global.tuneWeightInit)
         {
             if (Global.tmpW == null)
             {
                 Global.tmpW = new float[_w.Length];
             }
             _w.CopyTo(Global.tmpW, 0);
         }
     }
     else if (Global.random == 2)
     {
         _w = new float[fGen.NCompleteFeature];
         Global.optimW.CopyTo(_w, 0);
     }
     else
     {
         throw new Exception("error");
     }
 }
 //for multi-task
 public toolbox(dataSet X, List <dataSet> XList, bool train = true)
 {
     if (train)//to train
     {
         _X         = X;
         _XList     = XList;
         _fGene     = new featureGenerator(X);
         _model     = null;
         _modelList = new List <model>();
         for (int i = 0; i < Global.nTask; i++)
         {
             model m = new model(XList[i], _fGene);
             _modelList.Add(m);
         }
         _inf  = new inference(this);
         _grad = new gradient(this);
         initOptimizer();
     }
     else//to test
     {
         _X         = X;
         _XList     = XList;
         _model     = null;
         _modelList = new List <model>();
         for (int i = 0; i < Global.nTask; i++)
         {
             model m = new model(Global.modelDir + i.ToString() + Global.fModel);
             _modelList.Add(m);
         }
         _fGene = new featureGenerator(X);
         _inf   = new inference(this);
         _grad  = new gradient(this);
     }
 }
Esempio n. 3
0
 public toolbox(dataSet X, bool train = true)
 {
     if (train)//for training
     {
         _X     = X;
         _fGene = new featureGenerator(X);
         _model = new model(X, _fGene);
         _inf   = new inference(this);
         initOptimizer();
     }
     else//for test
     {
         _X     = X;
         _model = new model(Global.fModel);
         _fGene = new featureGenerator(X);
         _inf   = new inference(this);
     }
 }
Esempio n. 4
0
 public model(dataSet X, featureGenerator fGen)
 {
     _nTag = X.NTag;
     //default value is 0
     if (Global.random == 0)
     {
         _w = new float[fGen.NCompleteFeature];
     }
     else if (Global.random == 1)
     {
         List <float> randList = randomDoubleTool.getRandomList_float(fGen.NCompleteFeature);
         _w = randList.ToArray();
     }
     else
     {
         throw new Exception("error");
     }
 }
Esempio n. 5
0
 //for train
 public model(dataSet X, featureGenerator fGen)
 {
     _nTag = X.NTag;
     //default value is 0
     if (Global.random == 0)
     {
         double[]      dAry = new double[fGen.NCompleteFeature];
         List <double> w    = new List <double>(dAry);
         W = w;
     }
     else if (Global.random == 1)
     {
         List <double> randList = randomDoubleTool.getRandomList(fGen.NCompleteFeature);
         W = randList;
     }
     else
     {
         throw new Exception("error");
     }
 }
 //for single-task
 public toolbox(dataSet X, bool train = true)
 {
     if (train)//to train
     {
         _XList     = null;
         _modelList = null;
         _X         = X;
         _fGene     = new featureGenerator(X);
         _model     = new model(X, _fGene);
         _inf       = new inference(this);
         _grad      = new gradient(this);
         initOptimizer();
     }
     else//to test
     {
         _XList     = null;
         _modelList = null;
         _X         = X;
         _model     = new model(Global.modelDir + Global.fModel);
         _fGene     = new featureGenerator(X);
         _inf       = new inference(this);
         _grad      = new gradient(this);
     }
 }
Esempio n. 7
0
 public inference(toolbox tb)
 {
     _optim = tb.Optim;
     _fGene = tb.FGene;
 }
Esempio n. 8
0
 public inference(toolbox tb)
 {
     _optim = tb.Optim;
     _fGene = tb.FGene;
     _grad  = tb.Grad;
 }
Esempio n. 9
0
 public gradient(toolbox tb)
 {
     _optim = tb.Optim;
     _inf   = tb.Inf;
     _fGene = tb.FGene;
 }