H2O POJO导致javac java.lang.IllegalArgumentException

时间:2017-07-14 03:22:22

标签: javac h2o

我有一个分布式随机森林POJO模型,使用默认模型设置,除了:

ntrees = 150

max_depth = 50

min_rows = 5

以下是完整设置:

  

buildModel'drf',{“model_id”:“drf-335270ee-8970-4855-b521-c4fb4ca184f5”,“training_frame”:“frame_0.750”,“validation_frame”:“frame_0.250”,“nfolds” :0, “response_column”: “否认”, “ignored_columns”:[ “tx_match_date”], “ignore_const_cols”:真 “ntrees”: “150”, “MAX_DEPTH”: “50”, “min_rows”: “5” “nbins”:20, “种子”: - 1, “mtries”: - 1, “SAMPLE_RATE”:0.6320000290870667 “score_each_iteration”:真 “score_tree_interval”:0 “balance_classes”:假 “nbins_top_level”:1024 “nbins_cats”:1024, “r2_stopping”:1.7976931348623157e + 308, “stopping_rounds”:0 “stopping_metric”: “AUTO”, “stopping_tolerance”:0.001, “max_runtime_secs”:0, “检查点”: “”,” col_sample_rate_per_tree “:1,” min_split_improvement “:0.00001,” histogram_type “:” AUTO”, “categorical_encoding”: “AUTO”, “build_tree_one_node”:假 “sample_rate_per_class”:[], “binomial_double_trees”:真 “col_sample_rate_change_per_level”: 1, “calibrate_model”:假}

当我尝试使用:

编译pojo时
$javac -cp "h2o-genmodel.jar" -J-Xmx2g -J-XX:MaxPermSize=128m drf_335270ee_8970_4855_b521_c4fb4ca184f5.java

我收到以下错误。

  

编译器(1.8.0_131)发生异常。在检查错误数据库(http://bugreport.java.com)是否有重复项后,请通过Java错误报告页面(http://bugs.java.com)向Java编译器提交错误。在报告中包含您的计划和以下诊断。谢谢。   java.lang.IllegalArgumentException异常           at java.nio.ByteBuffer.allocate(ByteBuffer.java:334)           at com.sun.tools.javac.util.BaseFileManager $ ByteBufferCache.get(BaseFileManager.java:325)           at com.sun.tools.javac.util.BaseFileManager.makeByteBuffer(BaseFileManager.java:294)           at com.sun.tools.javac.file.RegularFileObject.getCharContent(RegularFileObject.java:114)           at com.sun.tools.javac.file.RegularFileObject.getCharContent(RegularFileObject.java:53)           at com.sun.tools.javac.main.JavaCompiler.readSource(JavaCompiler.java:602)           at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:665)           at com.sun.tools.javac.main.JavaCompiler.parseFiles(JavaCompiler.java:950)           at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:857)           在com.sun.tools.javac.main.Main.compile(Main.java:523)           在com.sun.tools.javac.main.Main.compile(Main.java:381)           在com.sun.tools.javac.main.Main.compile(Main.java:370)           在com.sun.tools.javac.main.Main.compile(Main.java:361)           在com.sun.tools.javac.Main.compile(Main.java:56)           在com.sun.tools.javac.Main.main(Main.java:42)

当我用h2o的Flow UI下载的深度学习pojo替换DRF模型时,我没有收到此错误,因此我认为它可能与drf_335270ee_8970_4855_b521_c4fb4ca184f5.java文件有关(请注意POJO太大,无法在H2O的Flow UI中预览。这可能会发生什么? 感谢

1 个答案:

答案 0 :(得分:0)

您无需尝试编译H2O随机林POJO,而是可以以几乎完全相同的方式下载和使用MOJO,而无需编译步骤。

请参阅:

http://docs.h2o.ai/h2o/latest-stable/h2o-genmodel/javadoc/index.html