在Linux上,H2O 3.16.0.2 - 使用超参数搜索运行GBM时发生异常。
以下信息是关于H2O及其例外情况。
Python版本:2.7.12 final
gbm网格构建进度:[######################################### #######] 100% 建立网格搜索模型的错误/警告
超参数:col_sample_rate,0.44 超参数:col_sample_rate_change_per_level,1.03 超参数:col_sample_rate_per_tree,0.38 超参数:histogram_type,QuantilesGlobal 超参数:max_depth,4 超参数:min_rows,128.0 超参数:min_split_improvement,1e-06 超参数:nbins,256 超参数:nbins_cats,512 超参数:sample_rate,0.55 failure_details:无 failure_stack_traces:java.lang.NullPointerException at hex.Model $ Parameters.read_unlock_frames(Model.java:322) at hex.ModelBuilder $ Driver.compute2(ModelBuilder.java:209) at hex.ModelBuilder.trainModelNested(ModelBuilder.java:262) at hex.grid.GridSearch.startBuildModel(GridSearch.java:332) at hex.grid.GridSearch.buildModel(GridSearch.java:314) at hex.grid.GridSearch.gridSearch(GridSearch.java:213) at hex.grid.GridSearch.access $ 000(GridSearch.java:68) at hex.grid.GridSearch $ 1.compute2(GridSearch.java:135) at water.H2O $ H2OCountedCompleter.compute(H2O.java:1263) 在jsr166y.CountedCompleter.exec(CountedCompleter.java:468) 在jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:263) 在jsr166y.ForkJoinPool $ WorkQueue.runTask(ForkJoinPool.java:974) 在jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1477) 在jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
追踪(最近一次通话): 文件" malware_detection.py",第167行,in validation_frame = valid_split) 火车上的文件" /home/beast/local/lib/python2.7/site-packages /h2o/grid/grid_search.py" ;,第189行 self.build_model(PARMS) 文件" /home/beast/local/lib/python2.7/site-packages /h2o/grid/grid_search.py" ;,第204行,在build_model中 self._model_build(x,y,training_frame,validation_frame,algo_params) 文件" /home/beast/local/lib/python2.7/site-packages /h2o/grid/grid_search.py" ;,第250行,在_model_build中 failure_messages_stacks + = error_message +' \ n' TypeError:+的不支持的操作数类型:' NoneType'和' unicode' H2O会话_sid_af98关闭。
答案 0 :(得分:1)
这特别令人沮丧,因为它要等到训练所有模型之后才产生此错误。
在执行一次网格搜索,更改超参数然后进行第二次网格搜索之后,这发生在我身上。在线某个地方看到了一种将新的网格搜索结果追加到旧网格搜索结果的方法,但是,短促的是,重新启动h2o至少使它再次对我有用:
h2o.cluster().shutdown()
h2o.init()