⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testlda.cc

📁 torch tracking code, it is a good code
💻 CC
字号:
const char *help = "\testLDA (c) Sebastien Marcel 2003\n\\n\This program projects data into LDA sub-space\n";#include "FileBinDataSet.h"#include "LDATrainer.h"#include "FileListCmdOption.h"#include "CmdLine.h"using namespace Torch;			int main(int argc, char **argv){  	int n_inputs;  	char *model_file;	real variance;	bool verbose;	  	Allocator *allocator = new Allocator;  	DiskXFile::setLittleEndianMode();	  	//=================== The command-line ==========================	FileListCmdOption filelist("file name", "the list files or one data file");        filelist.isArgument(true);  	// Construct the command line  	CmdLine cmd;	//cmd.setBOption("write log", false);	  	// Put the help line at the beginning  	cmd.info(help);  	cmd.addText("\nArguments:");  	cmd.addSCmdArg("model_file", &model_file, "model file");  	cmd.addCmdOption(&filelist);  	cmd.addICmdArg("n_inputs", &n_inputs, "input dimension of the data");  	cmd.addText("\nOptions:");  	cmd.addBCmdOption("-verbose", &verbose, false, "verbose");  	cmd.addRCmdOption("-variance", &variance, -1.0, "variance");  	// Read the command line  	cmd.read(argc, argv);		//	if(verbose)	{		print(" + n_filenames = %d\n", filelist.n_files);		for(int i = 0 ; i < filelist.n_files ; i++)			print("   filename[%d] = %s\n", i, filelist.file_names[i]);	}  	//	// The LDA Machine	LDAMachine *lda_machine = NULL;	lda_machine = new(allocator) LDAMachine(n_inputs);	//	print("Loading LDA model: %s ...\n", model_file);	DiskXFile *file = NULL;	file = new DiskXFile(model_file, "r");	lda_machine->loadXFile(file);	delete file;	   	//	lda_machine->setIOption("verbose_level", 2);	lda_machine->setROption("variance", variance);	lda_machine->init();		//	// Load all the data in the same dataset    	FileBinDataSet *bindata = new(allocator) FileBinDataSet(filelist.file_names, filelist.n_files, n_inputs);	bindata->info(false);		//	// Projects data into LDA sub-space	real *realinput = NULL;        Sequence *seq;        realinput = new real [n_inputs];        seq = new Sequence(&realinput, 1, n_inputs);		for(int i=0; i< bindata->n_examples; i++)	{		if(verbose) 	   		print("[%d]:\n", i);		//		bindata->setExample(i);				if(verbose) 			print(" Input =   [%2.3f %2.3f %2.3f ...]\n", bindata->inputs->frames[0][0], bindata->inputs->frames[0][1], bindata->inputs->frames[0][2]);		//		bindata->inputs->copyTo(realinput);		if(verbose) 			print(" Seq =     [%2.3f %2.3f %2.3f ...]\n", realinput[0], realinput[1], realinput[2]);		//		lda_machine->forward(seq);					if(verbose) 			print(" Output =   [%2.3f %2.3f %2.3f ...]\n", lda_machine->outputs->frames[0][0], lda_machine->outputs->frames[0][1], lda_machine->outputs->frames[0][2]);	}	//	delete [] realinput;	delete seq;  	delete allocator;  	return(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -