@@ -97,7 +97,7 @@ fn main() {
97
97
let mut data = Vec :: new ( ) ;
98
98
99
99
let reader = BufReader :: new ( File :: open ( "../../xgboost-sys/xgboost/demo/data/agaricus.txt.train" ) . unwrap ( ) ) ;
100
- let mut current_row: u64 = 0 ;
100
+ let mut current_row = 0 ;
101
101
for line in reader. lines ( ) {
102
102
let line = line. unwrap ( ) ;
103
103
let sample: Vec < & str > = line. split_whitespace ( ) . collect ( ) ;
@@ -106,7 +106,7 @@ fn main() {
106
106
for entry in & sample[ 1 ..] {
107
107
let pair: Vec < & str > = entry. split ( ':' ) . collect ( ) ;
108
108
rows. push ( current_row) ;
109
- cols. push ( pair[ 0 ] . parse :: < u64 > ( ) . unwrap ( ) ) ;
109
+ cols. push ( pair[ 0 ] . parse :: < usize > ( ) . unwrap ( ) ) ;
110
110
data. push ( pair[ 1 ] . parse :: < f32 > ( ) . unwrap ( ) ) ;
111
111
}
112
112
@@ -116,11 +116,12 @@ fn main() {
116
116
// work out size of sparse matrix from max row/col values
117
117
let shape = ( ( * rows. iter ( ) . max ( ) . unwrap ( ) + 1 ) as usize ,
118
118
( * cols. iter ( ) . max ( ) . unwrap ( ) + 1 ) as usize ) ;
119
+ let num_col = Some ( ( * cols. iter ( ) . max ( ) . unwrap ( ) + 1 ) as usize ) ;
119
120
let triplet_mat = sprs:: TriMatBase :: from_triplets ( shape, rows, cols, data) ;
120
121
let csr_mat = triplet_mat. to_csr ( ) ;
121
122
122
123
let indices: Vec < usize > = csr_mat. indices ( ) . into_iter ( ) . map ( |i| * i as usize ) . collect ( ) ;
123
- let mut dtrain = DMatrix :: from_csr ( csr_mat. indptr ( ) , & indices, csr_mat. data ( ) , None ) . unwrap ( ) ;
124
+ let mut dtrain = DMatrix :: from_csr ( csr_mat. indptr ( ) . raw_storage ( ) , & indices, csr_mat. data ( ) , num_col ) . unwrap ( ) ;
124
125
dtrain. set_labels ( & labels) . unwrap ( ) ;
125
126
126
127
let training_params = parameters:: TrainingParametersBuilder :: default ( ) . dtrain ( & dtrain) . build ( ) . unwrap ( ) ;
0 commit comments