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

Function train_dense

tools/python/src/sequence_segmenter.cpp:399–463  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

397// ----------------------------------------------------------------------------------------
398
399segmenter_type train_dense (
400 const std::vector<std::vector<dense_vect> >& samples,
401 const std::vector<ranges>& segments,
402 segmenter_params params
403)
404{
405 pyassert(is_sequence_segmentation_problem(samples, segments), "Invalid inputs");
406
407 int mode = 0;
408 if (params.use_BIO_model)
409 mode = mode*2 + 1;
410 else
411 mode = mode*2;
412 if (params.use_high_order_features)
413 mode = mode*2 + 1;
414 else
415 mode = mode*2;
416 if (params.allow_negative_weights)
417 mode = mode*2 + 1;
418 else
419 mode = mode*2;
420
421
422 segmenter_type res;
423 res.mode = mode;
424 switch(mode)
425 {
426 case 0: { structural_sequence_segmentation_trainer<segmenter_type::fe0> trainer;
427 configure_trainer(samples, trainer, params);
428 res.segmenter0 = trainer.train(samples, segments);
429 } break;
430 case 1: { structural_sequence_segmentation_trainer<segmenter_type::fe1> trainer;
431 configure_trainer(samples, trainer, params);
432 res.segmenter1 = trainer.train(samples, segments);
433 } break;
434 case 2: { structural_sequence_segmentation_trainer<segmenter_type::fe2> trainer;
435 configure_trainer(samples, trainer, params);
436 res.segmenter2 = trainer.train(samples, segments);
437 } break;
438 case 3: { structural_sequence_segmentation_trainer<segmenter_type::fe3> trainer;
439 configure_trainer(samples, trainer, params);
440 res.segmenter3 = trainer.train(samples, segments);
441 } break;
442 case 4: { structural_sequence_segmentation_trainer<segmenter_type::fe4> trainer;
443 configure_trainer(samples, trainer, params);
444 res.segmenter4 = trainer.train(samples, segments);
445 } break;
446 case 5: { structural_sequence_segmentation_trainer<segmenter_type::fe5> trainer;
447 configure_trainer(samples, trainer, params);
448 res.segmenter5 = trainer.train(samples, segments);
449 } break;
450 case 6: { structural_sequence_segmentation_trainer<segmenter_type::fe6> trainer;
451 configure_trainer(samples, trainer, params);
452 res.segmenter6 = trainer.train(samples, segments);
453 } break;
454 case 7: { structural_sequence_segmentation_trainer<segmenter_type::fe7> trainer;
455 configure_trainer(samples, trainer, params);
456 res.segmenter7 = trainer.train(samples, segments);

Callers

nothing calls this directly

Calls 4

configure_trainerFunction · 0.85
errorClass · 0.85
trainMethod · 0.45

Tested by

no test coverage detected