$ valgrind --log-file=valgrind.log python structure_plif_hmsvm_bmrm.py
PLiF HMSVM BMRM
$ grep shogun valgrind.log -n
2726:==18790== by 0x9D46124: shogun::sg_free(void_) (memory.cpp:221)
2727:==18790== by 0x9ADC9EC: void shogun::sg_generic_free(void_) (memory.h:98)
2728:==18790== by 0x9D3C26B: shogun::CLock::~CLock() (Lock.cpp:53)
2729:==18790== by 0x9D38ED9: shogun::RefCount::~RefCount() (SGReferencedData.cpp:14)
2730:==18790== by 0x9D38E4C: shogun::SGReferencedData::unref() (SGReferencedData.cpp:136)
2731:==18790== by 0x9D38C1B: shogun::SGReferencedData::operator=(shogun::SGReferencedData const&) (SGReferencedData.cpp:49)
2732:==18790== by 0x820DB84: shogun::SGVector::operator=(shogun::SGVector const&) (SGVector.h:28)
2733:==18790== by 0x821AF9F: shogun::CPlif::set_plif_penalty(shogun::SGVector) (Plif.h:274)
2734:==18790== by 0x9C578C6: shogun::CTwoStateModel::reshape_emission_params(shogun::CDynamicObjectArray_, shogun::SGVector, int, int) (TwoStateModel.cpp:163)
2735:==18790== by 0x9C67C36: shogun::CHMSVMModel::argmax(shogun::SGVector, int, bool) (HMSVMModel.cpp:213)
2736:==18790== by 0x9E25E4F: shogun::CLinearStructuredOutputMachine::apply_structured(shogun::CFeatures_) (LinearStructuredOutputMachine.cpp:62)
2749:==18790== by 0x9D46124: shogun::sg_free(void_) (memory.cpp:221)
2750:==18790== by 0x8228FA4: void shogun::sg_generic_free(double_) (memory.h:98)
2751:==18790== by 0x9DEFE13: shogun::SGMatrix::free_data() (SGMatrix.cpp:924)
2752:==18790== by 0x9D38E37: shogun::SGReferencedData::unref() (SGReferencedData.cpp:135)
2753:==18790== by 0x9DDD38A: shogun::SGMatrix::~SGMatrix() (SGMatrix.cpp:58)
2754:==18790== by 0x9C686F4: shogun::CHMSVMModel::argmax(shogun::SGVector, int, bool) (HMSVMModel.cpp:344)
2755:==18790== by 0x9E171AC: shogun::CStructuredOutputMachine::risk_nslack_margin_rescale(double_, double_, shogun::TMultipleCPinfo_) (StructuredOutputMachine.cpp:109)
2756:==18790== by 0x9E17569: shogun::CStructuredOutputMachine::risk(double_, double_, shogun::TMultipleCPinfo_, shogun::EStructRiskType) (StructuredOutputMachine.cpp:152)
2757:==18790== by 0x9C6AFD3: shogun::svm_bmrm_solver(shogun::CDualLibQPBMSOSVM_, double_, double, double, double, unsigned int, bool, unsigned int, double, unsigned int, bool) (libbmrm.cpp:469)
2758:==18790== by 0x9C64A40: shogun::CDualLibQPBMSOSVM::train_machine(shogun::CFeatures_) (DualLibQPBMSOSVM.cpp:99)
2759:==18790== by 0x9E24CC3: shogun::CMachine::train(shogun::CFeatures_) (Machine.cpp:67)
2774:==18790== by 0x9D38E54: shogun::SGReferencedData::unref() (SGReferencedData.cpp:136)
2775:==18790== by 0x9D38C1B: shogun::SGReferencedData::operator=(shogun::SGReferencedData const&) (SGReferencedData.cpp:49)
2776:==18790== by 0x820DB84: shogun::SGVector::operator=(shogun::SGVector const&) (SGVector.h:28)
2777:==18790== by 0x821AF9F: shogun::CPlif::set_plif_penalty(shogun::SGVector) (Plif.h:274)
2778:==18790== by 0x9C578C6: shogun::CTwoStateModel::reshape_emission_params(shogun::CDynamicObjectArray_, shogun::SGVector, int, int) (TwoStateModel.cpp:163)
2779:==18790== by 0x9C67C36: shogun::CHMSVMModel::argmax(shogun::SGVector, int, bool) (HMSVMModel.cpp:213)
2780:==18790== by 0x9E171AC: shogun::CStructuredOutputMachine::risk_nslack_margin_rescale(double_, double_, shogun::TMultipleCPinfo_) (StructuredOutputMachine.cpp:109)
2781:==18790== by 0x9E17569: shogun::CStructuredOutputMachine::risk(double_, double_, shogun::TMultipleCPinfo_, shogun::EStructRiskType) (StructuredOutputMachine.cpp:152)
2782:==18790== by 0x9C6AFD3: shogun::svm_bmrm_solver(shogun::CDualLibQPBMSOSVM_, double_, double, double, double, unsigned int, bool, unsigned int, double, unsigned int, bool) (libbmrm.cpp:469)
2783:==18790== by 0x9C64A40: shogun::CDualLibQPBMSOSVM::train_machine(shogun::CFeatures_) (DualLibQPBMSOSVM.cpp:99)
2853:==18790== by 0x9D46124: shogun::sg_free(void_) (memory.cpp:221)
2854:==18790== by 0x8228FA4: void shogun::sg_generic_free(double_) (memory.h:98)
2855:==18790== by 0x9DC964B: shogun::SGVector::free_data() (SGVector.cpp:353)
2856:==18790== by 0x9D38E37: shogun::SGReferencedData::unref() (SGReferencedData.cpp:135)
2857:==18790== by 0x9D38C1B: shogun::SGReferencedData::operator=(shogun::SGReferencedData const&) (SGReferencedData.cpp:49)
2858:==18790== by 0x820DB84: shogun::SGVector::operator=(shogun::SGVector const&) (SGVector.h:28)
2859:==18790== by 0x821AF9F: shogun::CPlif::set_plif_penalty(shogun::SGVector) (Plif.h:274)
2860:==18790== by 0x9C578C6: shogun::CTwoStateModel::reshape_emission_params(shogun::CDynamicObjectArray_, shogun::SGVector, int, int) (TwoStateModel.cpp:163)
2861:==18790== by 0x9C67C36: shogun::CHMSVMModel::argmax(shogun::SGVector, int, bool) (HMSVMModel.cpp:213)
2862:==18790== by 0x9E171AC: shogun::CStructuredOutputMachine::risk_nslack_margin_rescale(double_, double_, shogun::TMultipleCPinfo_) (StructuredOutputMachine.cpp:109)
2863:==18790== by 0x9E17569: shogun::CStructuredOutputMachine::risk(double_, double_, shogun::TMultipleCPinfo*, shogun::EStructRiskType) (StructuredOutputMachine.cpp:152)
@sonney2k, are these related to the leaks you mentioned that happened because of Python not calling exit_shogun? Or are they bugs?