SHOGUN  4.1.0
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
VwCacheReader.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_CACHEREAD_H__
17 #define _VW_CACHEREAD_H__
18 
19 #include <shogun/base/SGObject.h>
20 #include <shogun/lib/common.h>
21 #include <shogun/io/IOBuffer.h>
23 
24 namespace shogun
25 {
26 
30 {
31  C_NATIVE = 0,
33 };
34 
44 {
45 public:
50 
57  CVwCacheReader(char * fname, CVwEnvironment* env_to_use);
58 
66  CVwCacheReader(int32_t f, CVwEnvironment* env_to_use);
67 
71  virtual ~CVwCacheReader();
72 
78  virtual void set_file(int32_t f);
79 
85  virtual void set_env(CVwEnvironment* env_to_use);
86 
92  virtual CVwEnvironment* get_env();
93 
99  virtual void set_mm(float64_t label)
100  {
101  env->min_label = CMath::min(env->min_label, label);
102  if (label != FLT_MAX)
103  env->max_label = CMath::max(env->max_label, label);
104  }
105 
112  virtual void noop_mm(float64_t label) { }
113 
120  virtual void set_minmax(float64_t label)
121  {
122  set_mm(label);
123  }
124 
130  virtual bool read_cached_example(VwExample* const ae) = 0;
131 
137  virtual const char* get_name() const { return "VwCacheReader"; }
138 
139 protected:
141  int32_t fd;
142 
145 };
146 
147 }
148 #endif // _VW_CACHEREAD_H__
Base class from which all cache readers for VW should be derived.
Definition: VwCacheReader.h:43
Class CVwEnvironment is the environment used by VW.
Definition: VwEnvironment.h:41
virtual CVwEnvironment * get_env()
virtual bool read_cached_example(VwExample *const ae)=0
float64_t min_label
Smallest label seen.
virtual const char * get_name() const
float64_t max_label
Largest label seen.
CVwEnvironment * env
Environment.
virtual void set_minmax(float64_t label)
virtual void noop_mm(float64_t label)
Class SGObject is the base class of all shogun objects.
Definition: SGObject.h:112
virtual void set_env(CVwEnvironment *env_to_use)
double float64_t
Definition: common.h:50
Example class for VW.
Definition: vw_example.h:58
static T max(T a, T b)
Definition: Math.h:168
virtual void set_file(int32_t f)
all of classes and functions are contained in the shogun namespace
Definition: class_list.h:18
virtual void set_mm(float64_t label)
Definition: VwCacheReader.h:99
static T min(T a, T b)
Definition: Math.h:157
int32_t fd
File descriptor.

SHOGUN 机器学习工具包 - 项目文档