Cleanup and optimize transformers #4348
Conversation
vinx13
commented
Jun 28, 2018
|
550639e
to
af8af72
This needs a rebase |
Btw whenever you make something linalg, pls ensure there is some test coverage of the changes lines, so that we at least know he results didn’t change in the integration test examples |
dedcb4a
to
bdacb07
EXPECT_EQ(v.vlen, num_features); | ||
for (auto j : range(v.vlen)) | ||
{ | ||
EXPECT_DOUBLE_EQ(v[j], data[num_features * i + j] / norm[i]); |
karlnapf
Jun 29, 2018
Member
cant we use operator()
here?
cant we use operator()
here?
{ | ||
SGVector<float64_t> v = feats->get_feature_vector(i); | ||
auto result = transformer->apply_to_feature_vector(v); | ||
EXPECT_EQ(result.vlen, num_features); |
karlnapf
Jun 29, 2018
Member
ASSERT_EQ
to avoid segfault
ASSERT_EQ
to avoid segfault
@@ -102,7 +102,7 @@ void CPruneVarSubMean::cleanup() | |||
SGMatrix<float64_t> | |||
CPruneVarSubMean::apply_to_matrix(SGMatrix<float64_t> matrix) | |||
{ | |||
ASSERT(m_initialized) | |||
REQUIRE(m_initialized, "Transformer has not been fitted.\n"); |
karlnapf
Jun 29, 2018
Member
offtopic: I would love to move all those general checks to base classes so that they dont get repeated in every specialization....
any thoughts on this
offtopic: I would love to move all those general checks to base classes so that they dont get repeated in every specialization....
any thoughts on this
vigsterkr
Jul 11, 2018
Member
shouldn't we use a different exception type other than ShogunException
shouldn't we use a different exception type other than ShogunException
77a9f85
to
8711ea6
c1b0299
to
47363cb
47363cb
to
918fead
@@ -102,7 +102,7 @@ void CPruneVarSubMean::cleanup() | |||
SGMatrix<float64_t> | |||
CPruneVarSubMean::apply_to_matrix(SGMatrix<float64_t> matrix) | |||
{ | |||
ASSERT(m_initialized) | |||
REQUIRE(m_initialized, "Transformer has not been fitted.\n"); |
vigsterkr
Jul 11, 2018
Member
shouldn't we use a different exception type other than ShogunException
shouldn't we use a different exception type other than ShogunException
@@ -132,31 +132,18 @@ CPruneVarSubMean::apply_to_matrix(SGMatrix<float64_t> matrix) | |||
/// result in feature matrix | |||
SGVector<float64_t> CPruneVarSubMean::apply_to_feature_vector(SGVector<float64_t> vector) | |||
{ | |||
float64_t* ret=NULL; | |||
REQUIRE(m_initialized, "Transformer has not been fitted.\n"); |
vigsterkr
Jul 11, 2018
Member
shouldn't we use a different exception type other than ShogunException
shouldn't we use a different exception type other than ShogunException
MS_NOT_AVAILABLE); | ||
} | ||
|
||
void CTransformer::check_fitted() const |
vigsterkr
Jul 11, 2018
Member
i would rather go with the java like: is_fitted
or is_fit
depending which english we'd like to go with :) but let's stick to british (non north american english as in case of the exception type naming)
i would rather go with the java like: is_fitted
or is_fit
depending which english we'd like to go with :) but let's stick to british (non north american english as in case of the exception type naming)
CTransformer::CTransformer() : CSGObject() | ||
{ | ||
SG_ADD( | ||
&m_fitted, "fitted", "Whether the transformer has been fitted.", |
vigsterkr
Jul 11, 2018
Member
let's register this param as is_fitted
let's register this param as is_fitted
a241ab1
into
shogun-toolbox:feature/transformers