void my_read_input_parameters(int argc, char *argv[], char *trainfile, char* modelfile, LEARN_PARM *learn_parm, KERNEL_PARM *kernel_parm, STRUCT_LEARN_PARM *struct_parm, double *init_spl_weight, double *spl_factor) { long i; /* set default */ learn_parm->maxiter=20000; learn_parm->svm_maxqpsize=100; learn_parm->svm_c=100.0; learn_parm->eps=0.001; learn_parm->biased_hyperplane=12345; /* store random seed */ learn_parm->remove_inconsistent=10; kernel_parm->kernel_type=0; kernel_parm->rbf_gamma=0.05; kernel_parm->coef_lin=1; kernel_parm->coef_const=1; kernel_parm->poly_degree=3; /* default: no self-paced learning */ *init_spl_weight = 0.0; *spl_factor = 1.3; struct_parm->gram_regularization = 1E-7; struct_parm->solve_dual = 1; struct_parm->custom_argc=0; for(i=1;(i<argc) && ((argv[i])[0] == '-');i++) { switch ((argv[i])[1]) { case 'c': i++; learn_parm->svm_c=atof(argv[i]); break; case 'e': i++; learn_parm->eps=atof(argv[i]); break; case 's': i++; learn_parm->svm_maxqpsize=atol(argv[i]); break; case 'g': i++; kernel_parm->rbf_gamma=atof(argv[i]); break; case 'd': i++; kernel_parm->poly_degree=atol(argv[i]); break; case 'r': i++; learn_parm->biased_hyperplane=atol(argv[i]); break; case 't': i++; kernel_parm->kernel_type=atol(argv[i]); break; case 'n': i++; learn_parm->maxiter=atol(argv[i]); break; case 'p': i++; learn_parm->remove_inconsistent=atol(argv[i]); break; case 'k': i++; *init_spl_weight = atof(argv[i]); break; case 'm': i++; *spl_factor = atof(argv[i]); break; case 'q': i++; struct_parm->solve_dual = atoi(argv[i]); break; case '-': strcpy(struct_parm->custom_argv[struct_parm->custom_argc++],argv[i]);i++; strcpy(struct_parm->custom_argv[struct_parm->custom_argc++],argv[i]);break; default: printf("\nUnrecognized option %s!\n\n",argv[i]); exit(0); } } *init_spl_weight = (*init_spl_weight)/learn_parm->svm_c; if(i>=argc) { printf("\nNot enough input parameters!\n\n"); my_wait_any_key(); exit(0); } strcpy (trainfile, argv[i]); if((i+1)<argc) { strcpy (modelfile, argv[i+1]); } else { strcpy (modelfile, "lssvm.model"); } /* self-paced learning weight should be non-negative */ if(*init_spl_weight < 0.0) *init_spl_weight = 0.0; /* self-paced learning factor should be greater than 1.0 */ if(*spl_factor < 1.0) *spl_factor = 1.1; parse_struct_parameters(struct_parm); }
void my_read_input_parameters(int argc, char *argv[], char *trainfile, char* modelfile, LEARN_PARM *learn_parm, KERNEL_PARM *kernel_parm, STRUCT_LEARN_PARM *struct_parm) { long i; /* set default */ learn_parm->maxiter=20000; learn_parm->svm_maxqpsize=100; learn_parm->svm_c=100.0; //learn_parm->eps=0.001; learn_parm->eps=0.1; //AJAY: Changing for faster convergence learn_parm->biased_hyperplane=12345; /* store random seed */ learn_parm->remove_inconsistent=10; kernel_parm->kernel_type=0; kernel_parm->rbf_gamma=0.05; kernel_parm->coef_lin=1; kernel_parm->coef_const=1; kernel_parm->poly_degree=3; struct_parm->custom_argc=0; // Ajay learn_parm->totalEpochs = 1; learn_parm->numChunks = 5; for(i=1;(i<argc) && ((argv[i])[0] == '-');i++) { switch ((argv[i])[1]) { case 'c': i++; learn_parm->svm_c=atof(argv[i]); break; case 'e': i++; learn_parm->eps=atof(argv[i]); break; case 's': i++; learn_parm->svm_maxqpsize=atol(argv[i]); break; case 'g': i++; kernel_parm->rbf_gamma=atof(argv[i]); break; case 'd': i++; kernel_parm->poly_degree=atol(argv[i]); break; case 'r': i++; learn_parm->biased_hyperplane=atol(argv[i]); break; case 't': i++; kernel_parm->kernel_type=atol(argv[i]); break; case 'n': i++; learn_parm->maxiter=atol(argv[i]); break; case 'p': i++; learn_parm->remove_inconsistent=atol(argv[i]); break; case '-': strcpy(struct_parm->custom_argv[struct_parm->custom_argc++],argv[i]);i++; strcpy(struct_parm->custom_argv[struct_parm->custom_argc++],argv[i]);break; // Added by Ajay case 'f': i++; strcpy(learn_parm->tmpdir,argv[i]); printf("\nTmp file is %s\n",learn_parm->tmpdir); break; case 'y': i++; learn_parm->frac_sim=atof(argv[i]); printf("Frac Sim is %g\n", learn_parm->frac_sim); break; case 'z': i++; strcpy(learn_parm->dataset_stats_file,argv[i]);printf("Dataset Stats file is %s\n",learn_parm->dataset_stats_file);break; case 'w': i++; learn_parm->Fweight=atof(argv[i]); printf("Weigting param of F is %g\n",learn_parm->Fweight);break; case 'o': i++; learn_parm->rho_admm=atof(argv[i]); printf("Rho is %g\n", learn_parm->rho_admm); break; case 'a': i++; learn_parm->isExhaustive=atol(argv[i]);printf("isExhaustive is %ld",learn_parm->isExhaustive); break; case 'b': i++; learn_parm->isLPrelaxation=atol(argv[i]);printf("isLPrelaxation is %ld",learn_parm->isLPrelaxation); break; case 'K': i++; learn_parm->numChunks=atoi(argv[i]); break; case 'E': i++; learn_parm->totalEpochs=atoi(argv[i]); break; case 'C': i++; learn_parm->Cdash=atof(argv[i]); break; //////////////////////// default: printf("\nUnrecognized option %s!\n\n",argv[i]); exit(0); } } if(i>=argc) { printf("\nNot enough input parameters!\n\n"); my_wait_any_key(); exit(0); } strcpy (trainfile, argv[i]); if((i+1)<argc) { strcpy (modelfile, argv[i+1]); } parse_struct_parameters(struct_parm); }
void my_read_input_parameters(int argc, char *argv[], char *trainfile, char* modelfile, LEARN_PARM *learn_parm, KERNEL_PARM *kernel_parm, STRUCT_LEARN_PARM *struct_parm) { long i; /* set default */ learn_parm->maxiter=20000; learn_parm->svm_maxqpsize=100; learn_parm->svm_c=100.0; learn_parm->eps=0.001; learn_parm->biased_hyperplane=12345; /* store random seed */ learn_parm->remove_inconsistent=10; kernel_parm->kernel_type=0; kernel_parm->rbf_gamma=0.05; kernel_parm->coef_lin=1; kernel_parm->coef_const=1; kernel_parm->poly_degree=3; struct_parm->custom_argc=0; for(i=1; (i<argc) && ((argv[i])[0] == '-'); i++) { switch ((argv[i])[1]) { case 'c': i++; learn_parm->svm_c=atof(argv[i]); break; case 'e': i++; learn_parm->eps=atof(argv[i]); break; case 's': i++; learn_parm->svm_maxqpsize=atol(argv[i]); break; case 'g': i++; kernel_parm->rbf_gamma=atof(argv[i]); break; case 'd': i++; kernel_parm->poly_degree=atol(argv[i]); break; case 'r': i++; learn_parm->biased_hyperplane=atol(argv[i]); break; case 't': i++; kernel_parm->kernel_type=atol(argv[i]); break; case 'n': i++; learn_parm->maxiter=atol(argv[i]); break; case 'p': i++; learn_parm->remove_inconsistent=atol(argv[i]); break; case '-': strcpy(struct_parm->custom_argv[struct_parm->custom_argc++],argv[i]); i++; strcpy(struct_parm->custom_argv[struct_parm->custom_argc++],argv[i]); break; default: printf("\nUnrecognized option %s!\n\n",argv[i]); exit(0); } } if(i>=argc) { printf("\nNot enough input parameters!\n\n"); my_wait_any_key(); exit(0); } strcpy (trainfile, argv[i]); if((i+1)<argc) { strcpy (modelfile, argv[i+1]); } parse_struct_parameters(struct_parm); }