MCPcopy Create free account
hub / github.com/davisking/dlib / train_sparse

Function train_sparse

tools/python/src/sequence_segmenter.cpp:467–532  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

465// ----------------------------------------------------------------------------------------
466
467segmenter_type train_sparse (
468 const std::vector<std::vector<sparse_vect> >& samples,
469 const std::vector<ranges>& segments,
470 segmenter_params params
471)
472{
473 pyassert(is_sequence_segmentation_problem(samples, segments), "Invalid inputs");
474
475 int mode = 0;
476 if (params.use_BIO_model)
477 mode = mode*2 + 1;
478 else
479 mode = mode*2;
480 if (params.use_high_order_features)
481 mode = mode*2 + 1;
482 else
483 mode = mode*2;
484 if (params.allow_negative_weights)
485 mode = mode*2 + 1;
486 else
487 mode = mode*2;
488
489 mode += 8;
490
491 segmenter_type res;
492 res.mode = mode;
493 switch(mode)
494 {
495 case 8: { structural_sequence_segmentation_trainer<segmenter_type::fe8> trainer;
496 configure_trainer(samples, trainer, params);
497 res.segmenter8 = trainer.train(samples, segments);
498 } break;
499 case 9: { structural_sequence_segmentation_trainer<segmenter_type::fe9> trainer;
500 configure_trainer(samples, trainer, params);
501 res.segmenter9 = trainer.train(samples, segments);
502 } break;
503 case 10: { structural_sequence_segmentation_trainer<segmenter_type::fe10> trainer;
504 configure_trainer(samples, trainer, params);
505 res.segmenter10 = trainer.train(samples, segments);
506 } break;
507 case 11: { structural_sequence_segmentation_trainer<segmenter_type::fe11> trainer;
508 configure_trainer(samples, trainer, params);
509 res.segmenter11 = trainer.train(samples, segments);
510 } break;
511 case 12: { structural_sequence_segmentation_trainer<segmenter_type::fe12> trainer;
512 configure_trainer(samples, trainer, params);
513 res.segmenter12 = trainer.train(samples, segments);
514 } break;
515 case 13: { structural_sequence_segmentation_trainer<segmenter_type::fe13> trainer;
516 configure_trainer(samples, trainer, params);
517 res.segmenter13 = trainer.train(samples, segments);
518 } break;
519 case 14: { structural_sequence_segmentation_trainer<segmenter_type::fe14> trainer;
520 configure_trainer(samples, trainer, params);
521 res.segmenter14 = trainer.train(samples, segments);
522 } break;
523 case 15: { structural_sequence_segmentation_trainer<segmenter_type::fe15> trainer;
524 configure_trainer(samples, trainer, params);

Callers

nothing calls this directly

Calls 4

configure_trainerFunction · 0.85
errorClass · 0.85
trainMethod · 0.45

Tested by

no test coverage detected