Vowpal Wabbit
Public Member Functions | Public Attributes | List of all members
svm_example Struct Reference

Public Member Functions

 ~svm_example ()
 
void init_svm_example (flat_example *fec)
 
int compute_kernels (svm_params &params)
 
int clear_kernels ()
 

Public Attributes

v_array< float > krow
 
flat_example ex
 

Detailed Description

Definition at line 47 of file kernel_svm.cc.

Constructor & Destructor Documentation

◆ ~svm_example()

svm_example::~svm_example ( )

Definition at line 155 of file kernel_svm.cc.

References free_flatten_example(), and kernel_function().

Referenced by predict(), and remove().

156 {
157  krow.delete_v();
158  // free flatten example contents
159  flat_example* fec = &calloc_or_throw<flat_example>();
160  *fec = ex;
161  free_flatten_example(fec); // free contents of flat example and frees fec.
162 }
void free_flatten_example(flat_example *fec)
Definition: example.cc:190
flat_example ex
Definition: kernel_svm.cc:50
void delete_v()
Definition: v_array.h:98
v_array< float > krow
Definition: kernel_svm.cc:49

Member Function Documentation

◆ clear_kernels()

int svm_example::clear_kernels ( )

Definition at line 194 of file kernel_svm.cc.

Referenced by trim_cache().

195 {
196  int rowsize = (int)krow.size();
197  krow.end() = krow.begin();
198  krow.resize(0);
199  return -rowsize;
200 }
void resize(size_t length)
Definition: v_array.h:69
T *& begin()
Definition: v_array.h:42
size_t size() const
Definition: v_array.h:68
T *& end()
Definition: v_array.h:43
v_array< float > krow
Definition: kernel_svm.cc:49

◆ compute_kernels()

int svm_example::compute_kernels ( svm_params params)

Definition at line 166 of file kernel_svm.cc.

References ex, kernel_function(), svm_params::kernel_params, svm_params::kernel_type, svm_params::model, num_cache_evals, num_kernel_evals, svm_model::num_support, and svm_model::support_vec.

Referenced by make_hot_sv(), predict(), and update().

167 {
168  int alloc = 0;
169  svm_model* model = params.model;
170  size_t n = model->num_support;
171 
172  if (krow.size() < n)
173  {
174  // computing new kernel values and caching them
175  // if(params->curcache + n > params->maxcache)
176  // trim_cache(params);
178  // std::cerr<<"Kernels ";
179  for (size_t i = krow.size(); i < n; i++)
180  {
181  svm_example* sec = model->support_vec[i];
182  float kv = kernel_function(&ex, &(sec->ex), params.kernel_params, params.kernel_type);
183  krow.push_back(kv);
184  alloc += 1;
185  // std::cerr<<kv<<" ";
186  }
187  // std::cerr<< endl;
188  }
189  else
190  num_cache_evals += n;
191  return alloc;
192 }
static size_t num_kernel_evals
Definition: kernel_svm.cc:44
svm_model * model
Definition: kernel_svm.cc:103
size_t size() const
Definition: v_array.h:68
void push_back(const T &new_ele)
Definition: v_array.h:107
void * kernel_params
Definition: kernel_svm.cc:110
float kernel_function(const flat_example *fec1, const flat_example *fec2, void *params, size_t kernel_type)
Definition: kernel_svm.cc:436
size_t kernel_type
Definition: kernel_svm.cc:111
v_array< svm_example * > support_vec
Definition: kernel_svm.cc:61
size_t num_support
Definition: kernel_svm.cc:60
flat_example ex
Definition: kernel_svm.cc:50
v_array< float > krow
Definition: kernel_svm.cc:49
static size_t num_cache_evals
Definition: kernel_svm.cc:45

◆ init_svm_example()

void svm_example::init_svm_example ( flat_example fec)

Definition at line 149 of file kernel_svm.cc.

Referenced by learn(), predict(), save_load_svm_model(), and sync_queries().

150 {
151  ex = *fec;
152  free(fec);
153 }
flat_example ex
Definition: kernel_svm.cc:50

Member Data Documentation

◆ ex

flat_example svm_example::ex

Definition at line 50 of file kernel_svm.cc.

Referenced by compute_kernels(), sync_queries(), train(), and update().

◆ krow

v_array<float> svm_example::krow

Definition at line 49 of file kernel_svm.cc.

Referenced by make_hot_sv(), remove(), trim_cache(), and update().


The documentation for this struct was generated from the following file: