SHOGUN
3.2.1
首页
相关页面
模块
类
文件
文件列表
文件成员
全部
类
命名空间
文件
函数
变量
类型定义
枚举
枚举值
友元
宏定义
组
页
src
shogun
converter
EmbeddingConverter.cpp
浏览该文件的文档.
1
/*
2
* This program is free software; you can redistribute it and/or modify
3
* it under the terms of the GNU General Public License as published by
4
* the Free Software Foundation; either version 3 of the License, or
5
* (at your option) any later version.
6
*
7
* Written (W) 2011 Sergey Lisitsyn
8
* Copyright (C) 2011 Sergey Lisitsyn
9
*/
10
11
#include <
shogun/converter/EmbeddingConverter.h
>
12
#include <
shogun/kernel/LinearKernel.h
>
13
#include <
shogun/distance/EuclideanDistance.h
>
14
15
using namespace
shogun;
16
17
namespace
shogun
18
{
19
CEmbeddingConverter::CEmbeddingConverter
()
20
:
CConverter
()
21
{
22
m_target_dim
= 1;
23
m_distance
=
new
CEuclideanDistance
();
24
m_kernel
=
new
CLinearKernel
();
25
26
init
();
27
}
28
29
CEmbeddingConverter::~CEmbeddingConverter
()
30
{
31
SG_UNREF
(
m_distance
);
32
SG_UNREF
(
m_kernel
);
33
}
34
35
CDenseFeatures<float64_t>
*
CEmbeddingConverter::embed
(
CFeatures
* features)
36
{
37
return
(
CDenseFeatures<float64_t>
*)
apply
(features);
38
}
39
40
void
CEmbeddingConverter::set_target_dim
(int32_t dim)
41
{
42
ASSERT
(dim>0)
43
m_target_dim
= dim;
44
}
45
46
int32_t
CEmbeddingConverter::get_target_dim
()
const
47
{
48
return
m_target_dim
;
49
}
50
51
void
CEmbeddingConverter::set_distance
(
CDistance
*
distance
)
52
{
53
SG_REF
(distance);
54
SG_UNREF
(
m_distance
);
55
m_distance
=
distance
;
56
}
57
58
CDistance
*
CEmbeddingConverter::get_distance
()
const
59
{
60
SG_REF
(
m_distance
);
61
return
m_distance
;
62
}
63
64
void
CEmbeddingConverter::set_kernel
(
CKernel
* kernel)
65
{
66
SG_REF
(kernel);
67
SG_UNREF
(
m_kernel
);
68
m_kernel
= kernel;
69
}
70
71
CKernel
*
CEmbeddingConverter::get_kernel
()
const
72
{
73
SG_REF
(
m_kernel
);
74
return
m_kernel
;
75
}
76
77
void
CEmbeddingConverter::init
()
78
{
79
SG_ADD
(&
m_target_dim
,
"target_dim"
,
80
"target dimensionality of preprocessor"
,
MS_AVAILABLE
);
81
SG_ADD
((
CSGObject
**)&
m_distance
,
"distance"
,
82
"distance to be used for embedding"
,
MS_AVAILABLE
);
83
SG_ADD
((
CSGObject
**)&
m_kernel
,
"kernel"
,
"kernel to be used for embedding"
,
84
MS_AVAILABLE
);
85
}
86
}
SHOGUN
机器学习工具包 - 项目文档