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
3b13f95a
Commit
3b13f95a
authored
Dec 29, 2017
by
Guolin Ke
Browse files
fix #1153
parent
12f55f75
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3 additions
and
7 deletions
+3
-7
src/c_api.cpp
src/c_api.cpp
+3
-7
No files found.
src/c_api.cpp
View file @
3b13f95a
...
@@ -555,23 +555,19 @@ int LGBM_DatasetCreateFromCSR(const void* indptr,
...
@@ -555,23 +555,19 @@ int LGBM_DatasetCreateFromCSR(const void* indptr,
int
sample_cnt
=
static_cast
<
int
>
(
nrow
<
config
.
io_config
.
bin_construct_sample_cnt
?
nrow
:
config
.
io_config
.
bin_construct_sample_cnt
);
int
sample_cnt
=
static_cast
<
int
>
(
nrow
<
config
.
io_config
.
bin_construct_sample_cnt
?
nrow
:
config
.
io_config
.
bin_construct_sample_cnt
);
auto
sample_indices
=
rand
.
Sample
(
nrow
,
sample_cnt
);
auto
sample_indices
=
rand
.
Sample
(
nrow
,
sample_cnt
);
sample_cnt
=
static_cast
<
int
>
(
sample_indices
.
size
());
sample_cnt
=
static_cast
<
int
>
(
sample_indices
.
size
());
std
::
vector
<
std
::
vector
<
double
>>
sample_values
;
std
::
vector
<
std
::
vector
<
double
>>
sample_values
(
num_col
)
;
std
::
vector
<
std
::
vector
<
int
>>
sample_idx
;
std
::
vector
<
std
::
vector
<
int
>>
sample_idx
(
num_col
)
;
for
(
size_t
i
=
0
;
i
<
sample_indices
.
size
();
++
i
)
{
for
(
size_t
i
=
0
;
i
<
sample_indices
.
size
();
++
i
)
{
auto
idx
=
sample_indices
[
i
];
auto
idx
=
sample_indices
[
i
];
auto
row
=
get_row_fun
(
static_cast
<
int
>
(
idx
));
auto
row
=
get_row_fun
(
static_cast
<
int
>
(
idx
));
for
(
std
::
pair
<
int
,
double
>&
inner_data
:
row
)
{
for
(
std
::
pair
<
int
,
double
>&
inner_data
:
row
)
{
if
(
static_cast
<
size_t
>
(
inner_data
.
first
)
>=
sample_values
.
size
())
{
CHECK
(
static_cast
<
size_t
>
(
inner_data
.
first
)
<
num_col
);
sample_values
.
resize
(
inner_data
.
first
+
1
);
sample_idx
.
resize
(
inner_data
.
first
+
1
);
}
if
(
std
::
fabs
(
inner_data
.
second
)
>
kZeroThreshold
||
std
::
isnan
(
inner_data
.
second
))
{
if
(
std
::
fabs
(
inner_data
.
second
)
>
kZeroThreshold
||
std
::
isnan
(
inner_data
.
second
))
{
sample_values
[
inner_data
.
first
].
emplace_back
(
inner_data
.
second
);
sample_values
[
inner_data
.
first
].
emplace_back
(
inner_data
.
second
);
sample_idx
[
inner_data
.
first
].
emplace_back
(
static_cast
<
int
>
(
i
));
sample_idx
[
inner_data
.
first
].
emplace_back
(
static_cast
<
int
>
(
i
));
}
}
}
}
}
}
CHECK
(
num_col
>=
static_cast
<
int
>
(
sample_values
.
size
()));
DatasetLoader
loader
(
config
.
io_config
,
nullptr
,
1
,
nullptr
);
DatasetLoader
loader
(
config
.
io_config
,
nullptr
,
1
,
nullptr
);
ret
.
reset
(
loader
.
CostructFromSampleData
(
Common
::
Vector2Ptr
<
double
>
(
sample_values
).
data
(),
ret
.
reset
(
loader
.
CostructFromSampleData
(
Common
::
Vector2Ptr
<
double
>
(
sample_values
).
data
(),
Common
::
Vector2Ptr
<
int
>
(
sample_idx
).
data
(),
Common
::
Vector2Ptr
<
int
>
(
sample_idx
).
data
(),
...
...
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