Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
tianlh
LightGBM-DCU
Commits
2e5e9134
"git@developer.sourcefind.cn:tianlh/lightgbm-dcu.git" did not exist on "65ee8ab272706d3b8795fc00478c6b1170ecbdbe"
Commit
2e5e9134
authored
Nov 09, 2016
by
Guolin Ke
Browse files
clean code
parent
63d974bc
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
28 additions
and
28 deletions
+28
-28
include/LightGBM/boosting.h
include/LightGBM/boosting.h
+2
-2
include/LightGBM/c_api.h
include/LightGBM/c_api.h
+9
-9
include/LightGBM/dataset.h
include/LightGBM/dataset.h
+2
-2
src/c_api.cpp
src/c_api.cpp
+3
-3
src/io/dataset.cpp
src/io/dataset.cpp
+10
-10
src/io/dataset_loader.cpp
src/io/dataset_loader.cpp
+2
-2
No files found.
include/LightGBM/boosting.h
View file @
2e5e9134
...
@@ -47,7 +47,7 @@ public:
...
@@ -47,7 +47,7 @@ public:
* \brief Training logic
* \brief Training logic
* \param gradient nullptr for using default objective, otherwise use self-defined boosting
* \param gradient nullptr for using default objective, otherwise use self-defined boosting
* \param hessian nullptr for using default objective, otherwise use self-defined boosting
* \param hessian nullptr for using default objective, otherwise use self-defined boosting
* \param is_eval true if need evalu
l
ation or early stop
* \param is_eval true if need evaluation or early stop
* \return True if meet early stopping or cannot boosting
* \return True if meet early stopping or cannot boosting
*/
*/
virtual
bool
TrainOneIter
(
const
score_t
*
gradient
,
const
score_t
*
hessian
,
bool
is_eval
)
=
0
;
virtual
bool
TrainOneIter
(
const
score_t
*
gradient
,
const
score_t
*
hessian
,
bool
is_eval
)
=
0
;
...
@@ -61,7 +61,7 @@ public:
...
@@ -61,7 +61,7 @@ public:
/*!
/*!
* \brief Get current training score
* \brief Get current training score
* \param out_len leng
h
t of returned score
* \param out_len lengt
h
of returned score
* \return training score
* \return training score
*/
*/
virtual
const
score_t
*
GetTrainingScore
(
data_size_t
*
out_len
)
const
=
0
;
virtual
const
score_t
*
GetTrainingScore
(
data_size_t
*
out_len
)
const
=
0
;
...
...
include/LightGBM/c_api.h
View file @
2e5e9134
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
* Except following:
* Except following:
* 1. gradients and hessians.
* 1. gradients and hessians.
* 2. Get current score for training data and validation
* 2. Get current score for training data and validation
* The reason is because
d
they are called frequently, the type-conversion on them maybe time cost.
* The reason is because they are called frequently, the type-conversion on them maybe time cost.
*/
*/
#ifdef __cplusplus
#ifdef __cplusplus
...
@@ -40,7 +40,7 @@ typedef void* BoosterHandle;
...
@@ -40,7 +40,7 @@ typedef void* BoosterHandle;
DllExport
const
char
*
LGBM_GetLastError
();
DllExport
const
char
*
LGBM_GetLastError
();
// --- start Dataset in
f
erface
s
// --- start Dataset in
t
erface
/*!
/*!
* \brief load data set from file like the command_line LightGBM do
* \brief load data set from file like the command_line LightGBM do
...
@@ -71,7 +71,7 @@ DllExport int LGBM_CreateDatasetFromBinaryFile(const char* filename,
...
@@ -71,7 +71,7 @@ DllExport int LGBM_CreateDatasetFromBinaryFile(const char* filename,
* \param indices findex
* \param indices findex
* \param data fvalue
* \param data fvalue
* \param data_type
* \param data_type
* \param nindptr number of rows in the matix + 1
* \param nindptr number of rows in the mat
r
ix + 1
* \param nelem number of nonzero elements in the matrix
* \param nelem number of nonzero elements in the matrix
* \param num_col number of columns; when it's set to 0, then guess from data
* \param num_col number of columns; when it's set to 0, then guess from data
* \param parameters additional parameters
* \param parameters additional parameters
...
@@ -98,7 +98,7 @@ DllExport int LGBM_CreateDatasetFromCSR(const void* indptr,
...
@@ -98,7 +98,7 @@ DllExport int LGBM_CreateDatasetFromCSR(const void* indptr,
* \param indices findex
* \param indices findex
* \param data fvalue
* \param data fvalue
* \param data_type
* \param data_type
* \param ncol_ptr number of rows in the matix + 1
* \param ncol_ptr number of rows in the mat
r
ix + 1
* \param nelem number of nonzero elements in the matrix
* \param nelem number of nonzero elements in the matrix
* \param num_row number of rows; when it's set to 0, then guess from data
* \param num_row number of rows; when it's set to 0, then guess from data
* \param parameters additional parameters
* \param parameters additional parameters
...
@@ -206,7 +206,7 @@ DllExport int LGBM_DatasetGetNumFeature(DatesetHandle handle,
...
@@ -206,7 +206,7 @@ DllExport int LGBM_DatasetGetNumFeature(DatesetHandle handle,
/*!
/*!
* \brief create an new boosting learner
* \brief create an new boosting learner
* \param train_data traning data set
* \param train_data tra
i
ning data set
* \param valid_datas validation data sets
* \param valid_datas validation data sets
* \param valid_names names of validation data sets
* \param valid_names names of validation data sets
* \param n_valid_datas number of validation set
* \param n_valid_datas number of validation set
...
@@ -222,7 +222,7 @@ DllExport int LGBM_BoosterCreate(const DatesetHandle train_data,
...
@@ -222,7 +222,7 @@ DllExport int LGBM_BoosterCreate(const DatesetHandle train_data,
BoosterHandle
*
out
);
BoosterHandle
*
out
);
/*!
/*!
* \brief load an ex
s
iting boosting from model file
* \brief load an exi
s
ting boosting from model file
* \param filename filename of model
* \param filename filename of model
* \param out handle of created Booster
* \param out handle of created Booster
* \return 0 when success, -1 when failure happens
* \return 0 when success, -1 when failure happens
...
@@ -261,7 +261,7 @@ DllExport int LGBM_BoosterUpdateOneIterCustom(BoosterHandle handle,
...
@@ -261,7 +261,7 @@ DllExport int LGBM_BoosterUpdateOneIterCustom(BoosterHandle handle,
int
*
is_finished
);
int
*
is_finished
);
/*!
/*!
* \brief get evaluation for training data and validation data
s
* \brief get evaluation for training data and validation data
* \param handle handle
* \param handle handle
* \param data 0:training data, 1: 1st valid data, 2:2nd valid data ...
* \param data 0:training data, 1: 1st valid data, 2:2nd valid data ...
* \param out_len len of output result
* \param out_len len of output result
...
@@ -285,7 +285,7 @@ DllExport int LGBM_BoosterGetScore(BoosterHandle handle,
...
@@ -285,7 +285,7 @@ DllExport int LGBM_BoosterGetScore(BoosterHandle handle,
const
float
**
out_result
);
const
float
**
out_result
);
/*!
/*!
* \brief
make
prediction for training data and validation data
s
* \brief
Get
prediction for training data and validation data
this can be used to support customized eval function
this can be used to support customized eval function
* \param handle handle
* \param handle handle
* \param data 0:training data, 1: 1st valid data, 2:2nd valid data ...
* \param data 0:training data, 1: 1st valid data, 2:2nd valid data ...
...
@@ -306,7 +306,7 @@ DllExport int LGBM_BoosterGetPredict(BoosterHandle handle,
...
@@ -306,7 +306,7 @@ DllExport int LGBM_BoosterGetPredict(BoosterHandle handle,
* \param indices findex
* \param indices findex
* \param data fvalue
* \param data fvalue
* \param data_type
* \param data_type
* \param nindptr number of rows in the matix + 1
* \param nindptr number of rows in the mat
r
ix + 1
* \param nelem number of nonzero elements in the matrix
* \param nelem number of nonzero elements in the matrix
* \param num_col number of columns; when it's set to 0, then guess from data
* \param num_col number of columns; when it's set to 0, then guess from data
* \param predict_type
* \param predict_type
...
...
include/LightGBM/dataset.h
View file @
2e5e9134
...
@@ -81,7 +81,7 @@ public:
...
@@ -81,7 +81,7 @@ public:
void
SetWeights
(
const
float
*
weights
,
data_size_t
len
);
void
SetWeights
(
const
float
*
weights
,
data_size_t
len
);
void
SetQueryBoundaries
(
const
data_size_t
*
Q
uery
B
oundaries
,
data_size_t
len
);
void
SetQueryBoundaries
(
const
data_size_t
*
q
uery
_b
oundaries
,
data_size_t
len
);
/*!
/*!
* \brief Set initial scores
* \brief Set initial scores
...
@@ -292,7 +292,7 @@ public:
...
@@ -292,7 +292,7 @@ public:
std
::
vector
<
const
BinMapper
*>
GetBinMappers
()
const
;
std
::
vector
<
const
BinMapper
*>
GetBinMappers
()
const
;
void
CopyFeature
Bin
Mapper
To
(
Dataset
*
dataset
,
bool
is_enable_sparse
)
const
;
void
CopyFeatureMapper
From
(
const
Dataset
*
dataset
,
bool
is_enable_sparse
);
/*!
/*!
* \brief Get a feature pointer for specific index
* \brief Get a feature pointer for specific index
...
...
src/c_api.cpp
View file @
2e5e9134
...
@@ -212,7 +212,7 @@ DllExport int LGBM_CreateDatasetFromMat(const void* data,
...
@@ -212,7 +212,7 @@ DllExport int LGBM_CreateDatasetFromMat(const void* data,
ret
=
loader
.
CostructFromSampleData
(
sample_values
,
nrow
);
ret
=
loader
.
CostructFromSampleData
(
sample_values
,
nrow
);
}
else
{
}
else
{
ret
=
new
Dataset
(
nrow
,
config
.
io_config
.
num_class
);
ret
=
new
Dataset
(
nrow
,
config
.
io_config
.
num_class
);
reinterpret_cast
<
const
Dataset
*>
(
*
reference
)
->
CopyFeatureBinMapperTo
(
ret
,
config
.
io_config
.
is_enable_sparse
);
ret
->
CopyFeatureMapperFrom
(
reinterpret_cast
<
const
Dataset
*>
(
*
reference
),
config
.
io_config
.
is_enable_sparse
);
}
}
#pragma omp parallel for schedule(guided)
#pragma omp parallel for schedule(guided)
...
@@ -274,7 +274,7 @@ DllExport int LGBM_CreateDatasetFromCSR(const void* indptr,
...
@@ -274,7 +274,7 @@ DllExport int LGBM_CreateDatasetFromCSR(const void* indptr,
ret
=
loader
.
CostructFromSampleData
(
sample_values
,
nrow
);
ret
=
loader
.
CostructFromSampleData
(
sample_values
,
nrow
);
}
else
{
}
else
{
ret
=
new
Dataset
(
nrow
,
config
.
io_config
.
num_class
);
ret
=
new
Dataset
(
nrow
,
config
.
io_config
.
num_class
);
reinterpret_cast
<
const
Dataset
*>
(
*
reference
)
->
CopyFeatureBinMapperTo
(
ret
,
config
.
io_config
.
is_enable_sparse
);
ret
->
CopyFeatureMapperFrom
(
reinterpret_cast
<
const
Dataset
*>
(
*
reference
),
config
.
io_config
.
is_enable_sparse
);
}
}
#pragma omp parallel for schedule(guided)
#pragma omp parallel for schedule(guided)
...
@@ -322,7 +322,7 @@ DllExport int LGBM_CreateDatasetFromCSC(const void* col_ptr,
...
@@ -322,7 +322,7 @@ DllExport int LGBM_CreateDatasetFromCSC(const void* col_ptr,
ret
=
loader
.
CostructFromSampleData
(
sample_values
,
nrow
);
ret
=
loader
.
CostructFromSampleData
(
sample_values
,
nrow
);
}
else
{
}
else
{
ret
=
new
Dataset
(
nrow
,
config
.
io_config
.
num_class
);
ret
=
new
Dataset
(
nrow
,
config
.
io_config
.
num_class
);
reinterpret_cast
<
const
Dataset
*>
(
*
reference
)
->
CopyFeatureBinMapperTo
(
ret
,
config
.
io_config
.
is_enable_sparse
);
ret
->
CopyFeatureMapperFrom
(
reinterpret_cast
<
const
Dataset
*>
(
*
reference
),
config
.
io_config
.
is_enable_sparse
);
}
}
#pragma omp parallel for schedule(guided)
#pragma omp parallel for schedule(guided)
...
...
src/io/dataset.cpp
View file @
2e5e9134
...
@@ -42,18 +42,18 @@ void Dataset::FinishLoad() {
...
@@ -42,18 +42,18 @@ void Dataset::FinishLoad() {
}
}
}
}
void
Dataset
::
CopyFeature
Bin
Mapper
To
(
Dataset
*
dataset
,
bool
is_enable_sparse
)
const
{
void
Dataset
::
CopyFeatureMapper
From
(
const
Dataset
*
dataset
,
bool
is_enable_sparse
)
{
dataset
->
features_
.
clear
();
features_
.
clear
();
// copy feature bin mapper data
// copy feature bin mapper data
for
(
Feature
*
feature
:
features_
)
{
for
(
Feature
*
feature
:
dataset
->
features_
)
{
dataset
->
features_
.
push_back
(
new
Feature
(
feature
->
feature_index
(),
features_
.
push_back
(
new
Feature
(
feature
->
feature_index
(),
new
BinMapper
(
*
feature
->
bin_mapper
()),
dataset
->
num_data_
,
is_enable_sparse
));
new
BinMapper
(
*
feature
->
bin_mapper
()),
num_data_
,
is_enable_sparse
));
}
}
dataset
->
num_class_
=
num_class_
;
num_class_
=
dataset
->
num_class_
;
dataset
->
used_feature_map_
=
used_feature_map_
;
used_feature_map_
=
dataset
->
used_feature_map_
;
dataset
->
num_features_
=
static_cast
<
int
>
(
dataset
->
features_
.
size
());
num_features_
=
static_cast
<
int
>
(
features_
.
size
());
dataset
->
num_total_features_
=
num_total_features_
;
num_total_features_
=
dataset
->
num_total_features_
;
dataset
->
feature_names_
=
feature_names_
;
feature_names_
=
dataset
->
feature_names_
;
}
}
std
::
vector
<
const
BinMapper
*>
Dataset
::
GetBinMappers
()
const
{
std
::
vector
<
const
BinMapper
*>
Dataset
::
GetBinMappers
()
const
{
...
...
src/io/dataset_loader.cpp
View file @
2e5e9134
...
@@ -219,7 +219,7 @@ Dataset* DatasetLoader::LoadFromFileAlignWithOtherDataset(const char* filename,
...
@@ -219,7 +219,7 @@ Dataset* DatasetLoader::LoadFromFileAlignWithOtherDataset(const char* filename,
dataset
->
num_data_
=
static_cast
<
data_size_t
>
(
text_data
.
size
());
dataset
->
num_data_
=
static_cast
<
data_size_t
>
(
text_data
.
size
());
// initialize label
// initialize label
dataset
->
metadata_
.
Init
(
dataset
->
num_data_
,
dataset
->
num_class_
,
weight_idx_
,
group_idx_
);
dataset
->
metadata_
.
Init
(
dataset
->
num_data_
,
dataset
->
num_class_
,
weight_idx_
,
group_idx_
);
train_
data
->
CopyFeature
Bin
Mapper
To
(
data
set
,
io_config_
.
is_enable_sparse
);
data
set
->
CopyFeatureMapper
From
(
train_
data
,
io_config_
.
is_enable_sparse
);
// extract features
// extract features
ExtractFeaturesFromMemory
(
text_data
,
parser
,
dataset
);
ExtractFeaturesFromMemory
(
text_data
,
parser
,
dataset
);
text_data
.
clear
();
text_data
.
clear
();
...
@@ -230,7 +230,7 @@ Dataset* DatasetLoader::LoadFromFileAlignWithOtherDataset(const char* filename,
...
@@ -230,7 +230,7 @@ Dataset* DatasetLoader::LoadFromFileAlignWithOtherDataset(const char* filename,
num_global_data
=
dataset
->
num_data_
;
num_global_data
=
dataset
->
num_data_
;
// initialize label
// initialize label
dataset
->
metadata_
.
Init
(
dataset
->
num_data_
,
dataset
->
num_class_
,
weight_idx_
,
group_idx_
);
dataset
->
metadata_
.
Init
(
dataset
->
num_data_
,
dataset
->
num_class_
,
weight_idx_
,
group_idx_
);
train_
data
->
CopyFeature
Bin
Mapper
To
(
data
set
,
io_config_
.
is_enable_sparse
);
data
set
->
CopyFeatureMapper
From
(
train_
data
,
io_config_
.
is_enable_sparse
);
// extract features
// extract features
ExtractFeaturesFromFile
(
filename
,
parser
,
used_data_indices
,
dataset
);
ExtractFeaturesFromFile
(
filename
,
parser
,
used_data_indices
,
dataset
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment