mirror of
https://github.com/opencv/opencv.git
synced 2026-07-29 15:23:05 +04:00
ml: apply CV_OVERRIDE/CV_FINAL
This commit is contained in:
+24
-18
@@ -81,30 +81,36 @@ public:
|
||||
TermCriteria term_crit;
|
||||
};
|
||||
|
||||
class LogisticRegressionImpl : public LogisticRegression
|
||||
class LogisticRegressionImpl CV_FINAL : public LogisticRegression
|
||||
{
|
||||
public:
|
||||
|
||||
LogisticRegressionImpl() { }
|
||||
virtual ~LogisticRegressionImpl() {}
|
||||
|
||||
CV_IMPL_PROPERTY(double, LearningRate, params.alpha)
|
||||
CV_IMPL_PROPERTY(int, Iterations, params.num_iters)
|
||||
CV_IMPL_PROPERTY(int, Regularization, params.norm)
|
||||
CV_IMPL_PROPERTY(int, TrainMethod, params.train_method)
|
||||
CV_IMPL_PROPERTY(int, MiniBatchSize, params.mini_batch_size)
|
||||
CV_IMPL_PROPERTY(TermCriteria, TermCriteria, params.term_crit)
|
||||
inline double getLearningRate() const CV_OVERRIDE { return params.alpha; }
|
||||
inline void setLearningRate(double val) CV_OVERRIDE { params.alpha = val; }
|
||||
inline int getIterations() const CV_OVERRIDE { return params.num_iters; }
|
||||
inline void setIterations(int val) CV_OVERRIDE { params.num_iters = val; }
|
||||
inline int getRegularization() const CV_OVERRIDE { return params.norm; }
|
||||
inline void setRegularization(int val) CV_OVERRIDE { params.norm = val; }
|
||||
inline int getTrainMethod() const CV_OVERRIDE { return params.train_method; }
|
||||
inline void setTrainMethod(int val) CV_OVERRIDE { params.train_method = val; }
|
||||
inline int getMiniBatchSize() const CV_OVERRIDE { return params.mini_batch_size; }
|
||||
inline void setMiniBatchSize(int val) CV_OVERRIDE { params.mini_batch_size = val; }
|
||||
inline TermCriteria getTermCriteria() const CV_OVERRIDE { return params.term_crit; }
|
||||
inline void setTermCriteria(TermCriteria val) CV_OVERRIDE { params.term_crit = val; }
|
||||
|
||||
virtual bool train( const Ptr<TrainData>& trainData, int=0 );
|
||||
virtual float predict(InputArray samples, OutputArray results, int flags=0) const;
|
||||
virtual void clear();
|
||||
virtual void write(FileStorage& fs) const;
|
||||
virtual void read(const FileNode& fn);
|
||||
virtual Mat get_learnt_thetas() const { return learnt_thetas; }
|
||||
virtual int getVarCount() const { return learnt_thetas.cols; }
|
||||
virtual bool isTrained() const { return !learnt_thetas.empty(); }
|
||||
virtual bool isClassifier() const { return true; }
|
||||
virtual String getDefaultName() const { return "opencv_ml_lr"; }
|
||||
virtual bool train( const Ptr<TrainData>& trainData, int=0 ) CV_OVERRIDE;
|
||||
virtual float predict(InputArray samples, OutputArray results, int flags=0) const CV_OVERRIDE;
|
||||
virtual void clear() CV_OVERRIDE;
|
||||
virtual void write(FileStorage& fs) const CV_OVERRIDE;
|
||||
virtual void read(const FileNode& fn) CV_OVERRIDE;
|
||||
virtual Mat get_learnt_thetas() const CV_OVERRIDE { return learnt_thetas; }
|
||||
virtual int getVarCount() const CV_OVERRIDE { return learnt_thetas.cols; }
|
||||
virtual bool isTrained() const CV_OVERRIDE { return !learnt_thetas.empty(); }
|
||||
virtual bool isClassifier() const CV_OVERRIDE { return true; }
|
||||
virtual String getDefaultName() const CV_OVERRIDE { return "opencv_ml_lr"; }
|
||||
protected:
|
||||
Mat calc_sigmoid(const Mat& data) const;
|
||||
double compute_cost(const Mat& _data, const Mat& _labels, const Mat& _init_theta);
|
||||
@@ -392,7 +398,7 @@ struct LogisticRegressionImpl_ComputeDradient_Impl : ParallelLoopBody
|
||||
|
||||
}
|
||||
|
||||
void operator()(const cv::Range& r) const
|
||||
void operator()(const cv::Range& r) const CV_OVERRIDE
|
||||
{
|
||||
const Mat& _data = *data;
|
||||
const Mat &_theta = *theta;
|
||||
|
||||
Reference in New Issue
Block a user