SHOGUN
3.2.1
首页
相关页面
模块
类
文件
文件列表
文件成员
全部
类
命名空间
文件
函数
变量
类型定义
枚举
枚举值
友元
宏定义
组
页
src
shogun
classifier
vw
VwLearner.h
浏览该文件的文档.
1
/*
2
* Copyright (c) 2009 Yahoo! Inc. All rights reserved. The copyrights
3
* embodied in the content of this file are licensed under the BSD
4
* (revised) open source license.
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* Written (W) 2011 Shashwat Lal Das
12
* Adaptation of Vowpal Wabbit v5.1.
13
* Copyright (C) 2011 Berlin Institute of Technology and Max-Planck-Society.
14
*/
15
16
#ifndef _VW_LEARNER_H__
17
#define _VW_LEARNER_H__
18
19
#include <
shogun/base/SGObject.h
>
20
#include <
shogun/base/Parameter.h
>
21
#include <
shogun/classifier/vw/vw_common.h
>
22
#include <
shogun/classifier/vw/VwRegressor.h
>
23
24
namespace
shogun
25
{
33
class
CVwLearner
:
public
CSGObject
34
{
35
public
:
39
CVwLearner
()
40
:
CSGObject
(),
reg
(NULL),
env
(NULL)
41
{
42
register_learner_params
();
43
}
44
51
CVwLearner
(
CVwRegressor
* regressor,
CVwEnvironment
* vw_env)
52
:
CSGObject
(),
reg
(regressor),
env
(vw_env)
53
{
54
SG_REF
(
reg
);
55
SG_REF
(
env
);
56
register_learner_params
();
57
}
58
62
virtual
~CVwLearner
()
63
{
64
if
(
reg
)
65
SG_UNREF
(
reg
);
66
if
(
env
)
67
SG_UNREF
(
env
);
68
}
69
73
void
register_learner_params
()
74
{
75
SG_ADD
((
CSGObject
**) &
reg
,
"vw_regressor"
,
"Regressor object"
,
76
MS_NOT_AVAILABLE
);
77
SG_ADD
((
CSGObject
**) &
env
,
"vw_env"
,
"Environment"
,
78
MS_NOT_AVAILABLE
);
79
}
80
87
virtual
void
train
(
VwExample
* &ex,
float32_t
update
) = 0;
88
94
virtual
const
char
*
get_name
()
const
{
return
"VwLearner"
; }
95
96
protected
:
98
CVwRegressor
*
reg
;
100
CVwEnvironment
*
env
;
101
};
102
}
103
#endif // _VW_LEARNER_H__
SHOGUN
机器学习工具包 - 项目文档