SHOGUN  3.2.1
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
所有成员列表 | Public 成员函数 | 静态 Public 成员函数 | Public 属性 | Protected 成员函数 | 静态 Protected 成员函数
SGSparseVector< ST > 模板类 参考

详细描述

template<class ST>
class shogun::SGSparseVector< ST >

template class SGSparseVector The assumtion is that the stored SGSparseVectorEntry<T>* vector is ordered by SGSparseVectorEntry.feat_index in non-decreasing order. This has to be assured by the user of the class.

在文件 HashedSparseFeatures.h21 行定义.

类 SGSparseVector< ST > 继承关系图:
Inheritance graph
[图例]

Public 成员函数

 SGSparseVector ()
 
 SGSparseVector (SGSparseVectorEntry< T > *feats, index_t num_entries, bool ref_counting=true)
 
 SGSparseVector (index_t num_entries, bool ref_counting=true)
 
 SGSparseVector (const SGSparseVector &orig)
 
virtual ~SGSparseVector ()
 
dense_dot (T alpha, T *vec, int32_t dim, T b)
 
template<typename ST >
dense_dot (SGVector< ST > vec)
 
sparse_dot (const SGSparseVector< T > &v)
 
SGSparseVector< T > get ()
 
int32_t get_num_dimensions ()
 
void sort_features (bool stable_pointer=false)
 
get_feature (int32_t index)
 
SGVector< T > get_dense (int32_t dimension)
 
SGVector< T > get_dense ()
 
SGSparseVector< T > clone () const
 
void load (CFile *loader)
 
void save (CFile *saver)
 
void display_vector (const char *name="vector", const char *prefix="")
 
template<typename ST >
dense_dot (SGVector< ST > vec)
 
template<>
void load (CFile *loader)
 
template<>
void save (CFile *saver)
 
template<>
void display_vector (const char *name, const char *prefix)
 
template<>
void display_vector (const char *name, const char *prefix)
 
template<>
void display_vector (const char *name, const char *prefix)
 
template<>
void display_vector (const char *name, const char *prefix)
 
template<>
void display_vector (const char *name, const char *prefix)
 
template<>
void display_vector (const char *name, const char *prefix)
 
template<>
void display_vector (const char *name, const char *prefix)
 
template<>
void display_vector (const char *name, const char *prefix)
 
template<>
void display_vector (const char *name, const char *prefix)
 
template<>
void display_vector (const char *name, const char *prefix)
 
template<>
void display_vector (const char *name, const char *prefix)
 
template<>
void display_vector (const char *name, const char *prefix)
 
template<>
void display_vector (const char *name, const char *prefix)
 
template<>
void display_vector (const char *name, const char *prefix)
 
int32_t ref_count ()
 

静态 Public 成员函数

static T sparse_dot (const SGSparseVector< T > &a, const SGSparseVector< T > &b)
 

Public 属性

index_t num_feat_entries
 
SGSparseVectorEntry< T > * features
 

Protected 成员函数

virtual void copy_data (const SGReferencedData &orig)
 
virtual void init_data ()
 
virtual void free_data ()
 
void copy_refcount (const SGReferencedData &orig)
 
int32_t ref ()
 
int32_t unref ()
 

静态 Protected 成员函数

static int32_t cmp_dot_prod_symmetry_fast (index_t alen, index_t blen)
 
static T dot_prod_asymmetric (const SGSparseVector< T > &a, const SGSparseVector< T > &b)
 
static T dot_prod_symmetric (const SGSparseVector< T > &a, const SGSparseVector< T > &b)
 

构造及析构函数说明

default constructor

在文件 SGSparseVector.cpp9 行定义.

SGSparseVector ( SGSparseVectorEntry< T > *  feats,
index_t  num_entries,
bool  ref_counting = true 
)

constructor for setting params

参数
featsvector of SGSparseVectorEntry ordered by SGSparseVectorEntry.feat_index in non-decreasing order
num_entriesnumber of elements in feats vector
ref_countinguse reference counting

在文件 SGSparseVector.cpp15 行定义.

SGSparseVector ( index_t  num_entries,
bool  ref_counting = true 
)

constructor to create new vector in memory

在文件 SGSparseVector.cpp23 行定义.

SGSparseVector ( const SGSparseVector< ST > &  orig)

copy constructor

在文件 SGSparseVector.cpp31 行定义.

~SGSparseVector ( )
virtual

在文件 SGSparseVector.cpp38 行定义.

成员函数说明

SGSparseVector< T > clone ( ) const

clone vector

在文件 SGSparseVector.cpp269 行定义.

int32_t cmp_dot_prod_symmetry_fast ( index_t  alen,
index_t  blen 
)
staticprotected

helper function to compute dot product

determines whether symmetric (similar number of non-zero elements in both sparse vectors) or asymetric (logarithmically more elements in one vector) dot product computation routine shall be taken

参数
alenlength of vector a
blenlength of vector b
返回
-1,0,1 if asymetric(b,a), symmetric(a,b) respectively asymmetric(a,b) shall be called

在文件 SGSparseVector.cpp329 行定义.

void copy_data ( const SGReferencedData orig)
protectedvirtual

needs to be overridden to copy data

实现了 SGReferencedData.

在文件 SGSparseVector.cpp308 行定义.

void copy_refcount ( const SGReferencedData orig)
protectedinherited

copy refcount

在文件 SGReferencedData.cpp58 行定义.

T dense_dot ( SGVector< ST >  vec)

在文件 SGSparseVector.cpp63 行定义.

T dense_dot ( alpha,
T *  vec,
int32_t  dim,
b 
)

compute the dot product between dense weights and a sparse feature vector alpha * sparse^T * w + b

possible with subset

参数
alphascalar to multiply with
vecdense vector to compute dot product with
dimlength of the dense vector
bbias
返回
dot product between dense weights and a sparse feature vector

在文件 SGSparseVector.cpp44 行定义.

T dense_dot ( SGVector< ST >  vec)

compute the dot product between dense weights and a sparse feature vector sparse^T * w

参数
vecdense vector to compute dot product with
返回
dot product between dense weights and a sparse feature vector
void display_vector ( const char *  name = "vector",
const char *  prefix = "" 
)

display vector

参数
namevector name in output
prefixprepend on every entry
void display_vector ( const char *  name,
const char *  prefix 
)

在文件 SGSparseVector.cpp395 行定义.

void display_vector ( const char *  name,
const char *  prefix 
)

在文件 SGSparseVector.cpp404 行定义.

void display_vector ( const char *  name,
const char *  prefix 
)

在文件 SGSparseVector.cpp413 行定义.

void display_vector ( const char *  name,
const char *  prefix 
)

在文件 SGSparseVector.cpp422 行定义.

void display_vector ( const char *  name,
const char *  prefix 
)

在文件 SGSparseVector.cpp431 行定义.

void display_vector ( const char *  name,
const char *  prefix 
)

在文件 SGSparseVector.cpp440 行定义.

void display_vector ( const char *  name,
const char *  prefix 
)

在文件 SGSparseVector.cpp449 行定义.

void display_vector ( const char *  name,
const char *  prefix 
)

在文件 SGSparseVector.cpp458 行定义.

void display_vector ( const char *  name,
const char *  prefix 
)

在文件 SGSparseVector.cpp467 行定义.

void display_vector ( const char *  name,
const char *  prefix 
)

在文件 SGSparseVector.cpp476 行定义.

void display_vector ( const char *  name,
const char *  prefix 
)

在文件 SGSparseVector.cpp485 行定义.

void display_vector ( const char *  name,
const char *  prefix 
)

在文件 SGSparseVector.cpp494 行定义.

void display_vector ( const char *  name,
const char *  prefix 
)

在文件 SGSparseVector.cpp503 行定义.

void display_vector ( const char *  name,
const char *  prefix 
)

在文件 SGSparseVector.cpp512 行定义.

T dot_prod_asymmetric ( const SGSparseVector< T > &  a,
const SGSparseVector< T > &  b 
)
staticprotected

compute dot product between vectors a and b

particularly fast if len(a) << len(b)

参数
avector a
bvector b
返回
dot product

在文件 SGSparseVector.cpp342 行定义.

T dot_prod_symmetric ( const SGSparseVector< T > &  a,
const SGSparseVector< T > &  b 
)
staticprotected

compute dot product between vectors a and b

particularly fast if len(a) ~= len(b)

参数
avector a
bvector b
返回
dot product

在文件 SGSparseVector.cpp360 行定义.

void free_data ( )
protectedvirtual

needs to be overridden to free data

实现了 SGReferencedData.

在文件 SGSparseVector.cpp322 行定义.

SGSparseVector<T> get ( )

get the sparse vector (no copying is done here)

返回
the refcount increased vector

在文件 SGSparseVector.h106 行定义.

SGVector< T > get_dense ( int32_t  dimension)

get dense representation of given size

参数
dimensionof requested dense vector
返回
SGVector<T>

在文件 SGSparseVector.cpp249 行定义.

SGVector< T > get_dense ( )

get shortet dense representation for sparse vector

返回
SGVector<T>

在文件 SGSparseVector.cpp230 行定义.

T get_feature ( int32_t  index)

get feature value for index

参数
index
返回
value

在文件 SGSparseVector.cpp216 行定义.

int32_t get_num_dimensions ( )

get number of dimensions

返回
largest feature index

在文件 SGSparseVector.cpp114 行定义.

void init_data ( )
protectedvirtual

needs to be overridden to initialize empty data

实现了 SGReferencedData.

在文件 SGSparseVector.cpp315 行定义.

void load ( CFile loader)

load vector from file

参数
loaderFile object via which to load data

在文件 SGSparseVector.cpp276 行定义.

void load ( CFile loader)

在文件 SGSparseVector.cpp296 行定义.

int32_t ref ( )
protectedinherited

increase reference counter

返回
reference count

在文件 SGReferencedData.cpp67 行定义.

int32_t ref_count ( )
inherited

display reference counter

返回
reference count

在文件 SGReferencedData.cpp44 行定义.

void save ( CFile saver)

save vector to file

参数
saverFile object via which to save data

在文件 SGSparseVector.cpp286 行定义.

void save ( CFile saver)

在文件 SGSparseVector.cpp302 行定义.

void sort_features ( bool  stable_pointer = false)

sort features by indices (Setting stable_pointer=true to guarantee that pointer features does not change. On the other hand, stable_pointer=false can shrink the vector if possible.)

参数
stable_pointer(default false) enforce stable pointer

在文件 SGSparseVector.cpp132 行定义.

T sparse_dot ( const SGSparseVector< T > &  v)

compute the dot product between current sparse vector and a given sparse vector. sparse_a^T * sparse_b

参数
vsparse vector
返回
dot product between the current sparse vector and v sparse vector

在文件 SGSparseVector.cpp86 行定义.

T sparse_dot ( const SGSparseVector< T > &  a,
const SGSparseVector< T > &  b 
)
static

compute the dot product between two sparse vectors. sparse_a^T * sparse_b

参数
asparse vector
bsparse vector
返回
dot product between a and b

在文件 SGSparseVector.cpp92 行定义.

int32_t unref ( )
protectedinherited

decrement reference counter and deallocate object if refcount is zero before or after decrementing it

返回
reference count

在文件 SGReferencedData.cpp87 行定义.

类成员变量说明

SGSparseVectorEntry<T>* features

features

在文件 SGSparseVector.h223 行定义.

index_t num_feat_entries

number of feature entries

在文件 SGSparseVector.h220 行定义.


该类的文档由以下文件生成:

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