2017-08-04 13 views
0

AWS S3から保存されたScala XGBoostモデルの読み込みに問題があります。以下は私のコードです。問題は、AWS S3ではScala XGBoostモデルを保存できますが、AWS S3からモデルをロードできないということです。AWS S3から保存されたScala XGBoostモデルの読み込みの問題

val trainingData = sqlContext.read.parquet(path1) 

val testData = sqlContext.read.parquet(path2) 

val OOTvalData = sqlContext.read.parquet(path3) 

// number of iterations 
val numRound = 200 
val numWorkers = 4 
// training parameters 
val paramMap = List("eta" -> 0.023f,"max_depth" -> 6,"min_child_weight" -> 3.0,"subsample" -> 1.0,"colsample_bytree" -> 0.82,"colsample_bylevel" -> 0.9,"base_score" -> 0.005,"eval_metric" -> "auc","seed" -> 8,"silent" -> 1,"objective" -> "binary:logistic").toMap 

println("Starting Xgboost ") 

val xgBoostModelWithDF = XGBoost.trainWithDataFrame(path1, paramMap, round = numRound, nWorkers = numWorkers, useExternalMemory = true) 

xgBoostModelWithDF.write.overwrite().save(path4) 


#### I am getting error at the below step to load the model from S3 location 
xgBoostModelWithDF1 = XGBoost.load(path4) 
+0

を願って、あなたが取得しているエラーは何ですか? – jamborta

+0

エラーが発生しました:エラー:値loadはオブジェクトml.dmlc.xgboost4j.scala.spark.XGBoostのメンバーではありません。私はロードするための別のオプションを探しています。 – harry

答えて

0

私はPythonで作業していますが、私はあなたがしない2つのことをしています。

  1. 私はS3からオブジェクトを読み取り、(.read使用)、そして、私はまた、ブースターを初期化ニシキヘビbytearray
  2. にそれを置きます。

ここでのpythonの例があります、あなたはScalaの

にそれを変換することができます ​​3210
関連する問題