Beispiel #1
0
void CBMRM::DisplayAfterTrainingInfo(unsigned int iter, double finalExactObjVal, 
                                      double approxObjVal, double loss, 
                                      TheMatrix& w_best, CTimer& lossAndGradientTime,
                                      CTimer& innerSolverTime, CTimer& totalTime)
{
   // legends
   if(verbosity >= 1) 
   {
      printf("\n[Legends]\n");
      if(verbosity > 1)
         printf("pobj: primal objective function value"
                "\naobj: approximate objective function value\n");

      printf("gam: gamma (approximation error) "
             "\neps: lower bound on gam "
             "\nloss: loss function value "
             "\nreg: regularizer value\n");
   }
   
   double norm1 = 0, norm2 = 0, norminf = 0;
   w_best.Norm1(norm1);
   w_best.Norm2(norm2);
   w_best.NormInf(norminf);
   
   printf("\nNote: the final w is the w_t where J(w_t) is the smallest.\n");
   printf("No. of iterations:  %d\n",iter);
   printf("Primal obj. val.: %.6e\n",finalExactObjVal);
   printf("Approx obj. val.: %.6e\n",approxObjVal);
   printf("Primal - Approx.: %.6e\n",finalExactObjVal-approxObjVal);
   printf("Loss:             %.6e\n",loss);
   printf("|w|_1:            %.6e\n",norm1);
   printf("|w|_2:            %.6e\n",norm2);
   printf("|w|_oo:           %.6e\n",norminf);
   
   
   // display timing profile
   printf("\nCPU seconds in:\n");
   printf("1. loss and gradient: %8.2f\n", lossAndGradientTime.CPUTotal());
   printf("2. solver:            %8.2f\n", innerSolverTime.CPUTotal()); 
   printf("               Total: %8.2f\n", totalTime.CPUTotal());
   printf("Wall-clock total:     %8.2f\n", totalTime.WallclockTotal());
}
Beispiel #2
0
void
CVecConstraints::LoadConstraintData(unsigned int numOfVariables) {

	_numOfVariables = numOfVariables;

	CTimer scanconstraintstime;
	CTimer loadconstraintstime;

	// get configurations
	Configuration &config = Configuration::GetInstance();

	_constraintsFile = config.GetString("Data.constraintsFile");
	if(config.IsSet("Data.verbosity"))
		_vecconstraints_verbosity = config.GetInt("Data.verbosity");

	// collect some properties of the dataset
	if(_vecconstraints_verbosity >= 1)
		cout << "Scanning constraints file... "<< endl;

	scanconstraintstime.Start();
	ScanConstraintsFile();
	scanconstraintstime.Stop();

	// read constraintss into memory
	if(_vecconstraints_verbosity >= 1)
		cout << "Loading constraints file... "<< endl;

	loadconstraintstime.Start();
	LoadConstraints();
	loadconstraintstime.Stop();

	if(_vecconstraints_verbosity >= 2) {
		cout << "scanconstraintstime	: " << scanconstraintstime.CPUTotal() << endl;
		cout << "loadconstraintstime	: " << loadconstraintstime.CPUTotal() << endl;
	}
}
/**  Constructor
 */
CSeqFeature::CSeqFeature()   
        :seqfeature_verbosity(0),
         maxDuration(0),
         minDuration(0),
         numOfSeq(0),
         numOfAllSeq(0),                
         featureDimension(0),                
         featureFile(""),
         nnz(0),
         density(0)
{
        CTimer loadfeaturetime;

        // decide the format string to use
        if(sizeof(Scalar) == sizeof(double)) 
        {
                svec_feature_index_and_value_format = "%d:%lf";
                scalar_value_format = "%lf";
        } 
        else 
        {
                svec_feature_index_and_value_format = "%d:%f";
                scalar_value_format = "%f";
        }
   
        // get configurations
        Configuration &config = Configuration::GetInstance();
   
        featureFile = config.GetString("Data.featureFile");
        if(config.IsSet("Data.verbosity"))
                seqfeature_verbosity = config.GetInt("Data.verbosity");   
   
        // read dataset into memory
        if(seqfeature_verbosity >= 1)
                std::cout << "Loading feature file... "<< std::endl;
   
        loadfeaturetime.Start();
        LoadFeatures();
        loadfeaturetime.Stop();
          
        // in centralized dataset, serial computation mode
        numOfAllSeq = numOfSeq;
        
        if(seqfeature_verbosity >= 2)
        {           
                std::cout << "loadfeaturetime : " << loadfeaturetime.CPUTotal() << std::endl;
        }
}