2017-05-29 8 views
1

でjava.lang.NullPointerExceptionが発生します:h2o.automlは()私はRでH2OのAutomlを実行しようとR

data_train_hex=as.h2o(data_train) 
    data_val_hex=as.h2o(data_val) 
    automl <-h2o.automl(x=training_vars,y=targetvar, training_frame= data_train_hex 
         ,validation_frame = data_val_hex 
         ,build_control = NULL, max_runtime_secs = 30) 

が、私は二度目で、以前のコードを実行すると、それが表示されます:

java.lang.NullPointerException 
    at hex.StackedEnsembleModel.predictScoreImpl(StackedEnsembleModel.java:117) 
    at hex.Model.score(Model.java:1076) 
    at hex.Model.score(Model.java:1044) 
    at ai.h2o.automl.Leaderboard$1.atomic(Leaderboard.java:207) 
    at ai.h2o.automl.Leaderboard$1.atomic(Leaderboard.java:176) 
    at water.TAtomic.atomic(TAtomic.java:17) 
    at water.Atomic.compute2(Atomic.java:56) 
    at water.Atomic.fork(Atomic.java:39) 
    at water.Atomic.invoke(Atomic.java:31) 
    at ai.h2o.automl.Leaderboard.addModels(Leaderboard.java:176) 
    at ai.h2o.automl.Leaderboard.addModel(Leaderboard.java:273) 
    at ai.h2o.automl.AutoML.addModel(AutoML.java:1043) 
    at ai.h2o.automl.AutoML.pollAndUpdateProgress(AutoML.java:425) 
    at ai.h2o.automl.AutoML.learn(AutoML.java:911) 
    at ai.h2o.automl.AutoML.run(AutoML.java:326) 
    at ai.h2o.automl.H2OJob$1.compute2(H2OJob.java:32) 
    at water.H2O$H2OCountedCompleter.compute(H2O.java:1314) 
    at jsr166y.CountedCompleter.exec(CountedCompleter.java:468) 
    at jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:263) 
    at jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:974) 
    at jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1477) 
    at jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104) 

    Error: java.lang.NullPointerException 

私は何か説明でき、別のデータセットに対してループを実行する必要があるときに私にそれを解決することができますか?

+0

これは再現可能な例ではなく、H2Oバージョン情報は提供されていません。 H2OのAutoMLはH2Oの安定したリリースではまだ利用できないため、Stack Overflowでエラーを送信するのは時期尚早です。最新の夜間リリース( 'build_control'があなたのバージョンから削除されました)をダウンロードし、再現可能な例を提供できるなら、私は助けることができます。 –

答えて

1

異なるデータセットのループでAutoMLを実行すると、2日前にこのpull requestで動作するはずです。その前に、AutoML project_nameはハードコードされていたので、AutoMLを実行するたびに同じプロジェクトに新しいモデルを追加しようとしました。プロジェクトはトレーニングセットによって定義されるため、エラーが発生したのはこのためです。

同じコードを実行するとエラーが発生しなくなりました。プロジェクト名は、トレーニングセットに基づいて自動的に作成されるか、新しいproject_name引数(h2o.automl())を使用してカスタムプロジェクト名を定義することもできます。

+0

今日、モデルオブジェクトを再現するために保存されたデータとコードを再実行するとき、私は 'h2o_3.17.0.4198'でこのエラーを受けました。私はまだ 'project_name'を設定した後にエラーがあります。それはバージョンの問題ですか? H2Oはセッション間で数日間完全に停止しましたが、エラーはOPとほぼ同じです。これは別の質問ですか、同じですか? –

+0

ヌルポインタの例外は、あらゆる種類のものによって引き起こされる可能性があります。再現可能な例を別の質問として投稿することをお勧めします。また、H2Oの最新バージョン(3.18.0.1)にアップグレードすることをお勧めします。http://h2o-release.s3.amazonaws.com/h2o/rel-wolpert/1/index.html –

+0

ありがとう!私は更新を試みた。それはうまくいきませんでしたので、古いアンサンブルパッケージに戻って、バグを深く掘り下げる時間がなくなります。 –

関連する問題