Accord Framework HiddenMarkovClassifier(TDistribution, TObservation) API

Tags: accord.net
Question!

When I upgrade to Accord Framework 3.2.0 and run software I get 2 'obsolete' errors:

Warning 1 'HiddenMarkovClassifier'<'MultivariateNormalDistribution'>'' is obsolete: 'Please use HiddenMarkovClassifier'<'TDistribution, TObservation'>' instead.'

Warning 14 'BaumWelchLearning'<'MultivariateNormalDistribution'>' is obsolete: 'Please use BaumWelchLearning'<'TDistribution, TObservation'>' instead.'

There is no apparent API for the BaumWelchLearning'<'TDistribution, TObservation'>'. When I go to the new API for HiddenMarkovClassifier'<'TDistribution'>' and the relatively minor changes reflected on that documentation it does not fix the 2 issues above.

Any suggestions?

By : CraigJSte


Answers

The was answered in updated documentation for Accord Framework in Google Groups Support : https://groups.google.com/forum/#!topic/accord-net/CdB4vsUNr_Y

By : CraigJSte


The "using" keyword makes a member of an inherited class visible, and resolvable, in the scope of its subclass. So, to make the privately-inherited member available to B's subclasses:

class A {

protected:

    void foo() {}
};

class B : private A {

protected:

    using A::foo;
};

class C : public B {

    void bar()
    {
        foo();
    }
};


An item of type undefined (and it is a type) has no length property - only items of type string and array do. Therefore, as @redneb notes, extend your condition to check for a non-falsy value before checking length.

if (myVar && myVar.length) { ... }
By : Utkanos


This video can help you solving your question :)
By: admin