@@ -97,7 +97,7 @@ fn main() {
9797 let mut data = Vec :: new ( ) ;
9898
9999 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 ;
101101 for line in reader. lines ( ) {
102102 let line = line. unwrap ( ) ;
103103 let sample: Vec < & str > = line. split_whitespace ( ) . collect ( ) ;
@@ -106,7 +106,7 @@ fn main() {
106106 for entry in & sample[ 1 ..] {
107107 let pair: Vec < & str > = entry. split ( ':' ) . collect ( ) ;
108108 rows. push ( current_row) ;
109- cols. push ( pair[ 0 ] . parse :: < u64 > ( ) . unwrap ( ) ) ;
109+ cols. push ( pair[ 0 ] . parse :: < usize > ( ) . unwrap ( ) ) ;
110110 data. push ( pair[ 1 ] . parse :: < f32 > ( ) . unwrap ( ) ) ;
111111 }
112112
@@ -116,11 +116,12 @@ fn main() {
116116 // work out size of sparse matrix from max row/col values
117117 let shape = ( ( * rows. iter ( ) . max ( ) . unwrap ( ) + 1 ) as usize ,
118118 ( * cols. iter ( ) . max ( ) . unwrap ( ) + 1 ) as usize ) ;
119+ let num_col = Some ( ( * cols. iter ( ) . max ( ) . unwrap ( ) + 1 ) as usize ) ;
119120 let triplet_mat = sprs:: TriMatBase :: from_triplets ( shape, rows, cols, data) ;
120121 let csr_mat = triplet_mat. to_csr ( ) ;
121122
122123 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 ( ) ;
124125 dtrain. set_labels ( & labels) . unwrap ( ) ;
125126
126127 let training_params = parameters:: TrainingParametersBuilder :: default ( ) . dtrain ( & dtrain) . build ( ) . unwrap ( ) ;
0 commit comments