DL Random Search Exception - H2o 3.8.1.4

343 views
Skip to first unread message

Aarti Gaddale

unread,
Apr 8, 2016, 4:38:15 PM4/8/16
to H2O Open Source Scalable Machine Learning - h2ostream
Hi,

I get this exception while doing random search on DL, I see a similar issue on sparkling water (https://0xdata.atlassian.net/browse/PUBDEV-452

Please help me understand what is going wrong here.


R Script:

hyper_params <- list(
  activation=c("Rectifier","Tanh","Maxout","RectifierWithDropout","TanhWithDropout","MaxoutWithDropout"),
  hidden=list(c(20,20),c(50,50),c(30,30,30),c(25,25,25,25)),
  input_dropout_ratio=c(0,0.05),
  l1=seq(0,1e-4,1e-6),
  l2=seq(0,1e-4,1e-6)
)
hyper_params

## Stop once the top 5 models are within 1% of each other (i.e., the windowed average varies less than 1%)
search_criteria = list(strategy = "RandomDiscrete", max_runtime_secs = 360, max_models = 100, seed=1234567, stopping_rounds=5, stopping_tolerance=1e-2)
dl_random_grid <- h2o.grid(
  algorithm="deeplearning",
  grid_id = "dl_grid_random",
  training_frame=train,
  validation_frame=valid, 
  x=predictors, 
  y=response,
  epochs=1,
  stopping_metric="logloss",
  stopping_tolerance=1e-2,        ## stop when logloss does not improve by >=1% for 2 scoring events
  stopping_rounds=2,
  score_validation_samples=10000, ## downsample validation set for faster scoring
  score_duty_cycle=0.025,         ## don't score more than 2.5% of the wall time
  max_w2=10,                      ## can help improve stability for Rectifier
  hyper_params = hyper_params,
  search_criteria = search_criteria,
  ignored_columns=ignored_columns
)  

Error 1

DistributedException from /127.0.0.1:54321

Parameters: [ 1.5E-5, 6.6E-5, 0.05, [50, 50], Rectifier ]
 DistributedException from /127.0.0.1:54321, caused by java.lang.IllegalArgumentException: Operation not allowed on string vector.
	at water.MRTask.getResult(MRTask.java:472)
	at water.MRTask.doAll(MRTask.java:389)
	at water.MRTask.doAll(MRTask.java:395)
	at hex.Model.predictScoreImpl(Model.java:852)
	at hex.deeplearning.DeepLearningModel.predictScoreImpl(DeepLearningModel.java:536)
	at hex.Model.score(Model.java:783)
	at hex.Model.score(Model.java:776)
	at hex.Model.score(Model.java:759)
	at hex.deeplearning.DeepLearningModel.doScoring(DeepLearningModel.java:395)
	at hex.deeplearning.DeepLearning$DeepLearningDriver.trainModel(DeepLearning.java:431)
	at hex.deeplearning.DeepLearning$DeepLearningDriver.buildModel(DeepLearning.java:302)
	at hex.deeplearning.DeepLearning$DeepLearningDriver.compute2(DeepLearning.java:203)
	at hex.ModelBuilder.trainModelNested(ModelBuilder.java:181)
	at hex.grid.GridSearch.startBuildModel(GridSearch.java:323)
	at hex.grid.GridSearch.buildModel(GridSearch.java:305)
	at hex.grid.GridSearch.gridSearch(GridSearch.java:209)
	at hex.grid.GridSearch.access$000(GridSearch.java:68)
	at hex.grid.GridSearch$1.compute2(GridSearch.java:134)
	at water.H2O$H2OCountedCompleter.compute(H2O.java:1181)
	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)
Caused by: java.lang.IllegalArgumentException: Operation not allowed on string vector.
	at water.fvec.CStrChunk.atd_impl(CStrChunk.java:47)
	at water.fvec.Chunk.atd(Chunk.java:255)
	at hex.Model.score0(Model.java:963)
	at hex.Model$BigScore.map(Model.java:931)
	at water.MRTask.compute2(MRTask.java:637)
	at water.H2O$H2OCountedCompleter.compute1(H2O.java:1184)
	at hex.Model$BigScore$Icer.compute1(Model$BigScore$Icer.java)
	at water.H2O$H2OCountedCompleter.compute(H2O.java:1180)
	... 5 more

Error 2

DistributedException from /127.0.0.1:54321

Parameters: [ 1.5E-5, 6.6E-5, 0.05, [50, 50], Rectifier ]

DistributedException from /127.0.0.1:54321, caused by java.lang.IllegalArgumentException: Operation not allowed on string vector.

	at water.MRTask.getResult(MRTask.java:472)
	at water.MRTask.doAll(MRTask.java:389)
	at water.MRTask.doAll(MRTask.java:395)
	at hex.Model.predictScoreImpl(Model.java:852)
	at hex.deeplearning.DeepLearningModel.predictScoreImpl(DeepLearningModel.java:536)
	at hex.Model.score(Model.java:783)
	at hex.Model.score(Model.java:776)
	at hex.Model.score(Model.java:759)
	at hex.deeplearning.DeepLearningModel.doScoring(DeepLearningModel.java:395)
	at hex.deeplearning.DeepLearning$DeepLearningDriver.trainModel(DeepLearning.java:431)
	at hex.deeplearning.DeepLearning$DeepLearningDriver.buildModel(DeepLearning.java:302)
	at hex.deeplearning.DeepLearning$DeepLearningDriver.compute2(DeepLearning.java:203)
	at hex.ModelBuilder.trainModelNested(ModelBuilder.java:181)
	at hex.grid.GridSearch.startBuildModel(GridSearch.java:323)
	at hex.grid.GridSearch.buildModel(GridSearch.java:305)
	at hex.grid.GridSearch.gridSearch(GridSearch.java:209)
	at hex.grid.GridSearch.access$000(GridSearch.java:68)
	at hex.grid.GridSearch$1.compute2(GridSearch.java:134)
	at water.H2O$H2OCountedCompleter.compute(H2O.java:1181)
	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)
Caused by: java.lang.IllegalArgumentException: Operation not allowed on string vector.
	at water.fvec.CStrChunk.atd_impl(CStrChunk.java:47)
	at water.fvec.Chunk.atd(Chunk.java:255)
	at hex.Model.score0(Model.java:963)
	at hex.Model$BigScore.map(Model.java:931)
	at water.MRTask.compute2(MRTask.java:637)
	at water.H2O$H2OCountedCompleter.compute1(H2O.java:1184)
	at hex.Model$BigScore$Icer.compute1(Model$BigScore$Icer.java)
	at water.H2O$H2OCountedCompleter.compute(H2O.java:1180)
	... 5 more

Error 3

DistributedException from /127.0.0.1:54321

Parameters: [ 3.0E-6, 7.0E-5, 0.05, [20, 20], Rectifier ]

DistributedException from /127.0.0.1:54321, caused by java.lang.IllegalArgumentException: Operation not allowed on string vector.

	at water.MRTask.getResult(MRTask.java:472)
	at water.MRTask.doAll(MRTask.java:389)
	at water.MRTask.doAll(MRTask.java:395)
	at hex.Model.predictScoreImpl(Model.java:852)
	at hex.deeplearning.DeepLearningModel.predictScoreImpl(DeepLearningModel.java:536)
	at hex.Model.score(Model.java:783)
	at hex.Model.score(Model.java:776)
	at hex.Model.score(Model.java:759)
	at hex.deeplearning.DeepLearningModel.doScoring(DeepLearningModel.java:395)
	at hex.deeplearning.DeepLearning$DeepLearningDriver.trainModel(DeepLearning.java:431)
	at hex.deeplearning.DeepLearning$DeepLearningDriver.buildModel(DeepLearning.java:302)
	at hex.deeplearning.DeepLearning$DeepLearningDriver.compute2(DeepLearning.java:203)
	at hex.ModelBuilder.trainModelNested(ModelBuilder.java:181)
	at hex.grid.GridSearch.startBuildModel(GridSearch.java:323)
	at hex.grid.GridSearch.buildModel(GridSearch.java:305)
	at hex.grid.GridSearch.gridSearch(GridSearch.java:209)
	at hex.grid.GridSearch.access$000(GridSearch.java:68)
	at hex.grid.GridSearch$1.compute2(GridSearch.java:134)
	at water.H2O$H2OCountedCompleter.compute(H2O.java:1181)
	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)
Caused by: java.lang.IllegalArgumentException: Operation not allowed on string vector.
	at water.fvec.CStrChunk.atd_impl(CStrChunk.java:47)
	at water.fvec.Chunk.atd(Chunk.java:255)
	at hex.Model.score0(Model.java:963)
	at hex.Model$BigScore.map(Model.java:931)
	at water.MRTask.compute2(MRTask.java:637)
	at water.H2O$H2OCountedCompleter.compute1(H2O.java:1184)
	at hex.Model$BigScore$Icer.compute1(Model$BigScore$Icer.java)
	at water.H2O$H2OCountedCompleter.compute(H2O.java:1180)
	... 5 more

Error 4

DistributedException from /127.0.0.1:54321

Parameters: [ 9.6E-5, 6.9E-5, 0.0, [25, 25, 25, 25], MaxoutWithDropout ]

DistributedException from /127.0.0.1:54321, caused by java.lang.IllegalArgumentException: Operation not allowed on string vector.

	at water.MRTask.getResult(MRTask.java:472)
	at water.MRTask.doAll(MRTask.java:389)
	at water.MRTask.doAll(MRTask.java:395)
	at hex.Model.predictScoreImpl(Model.java:852)
	at hex.deeplearning.DeepLearningModel.predictScoreImpl(DeepLearningModel.java:536)
	at hex.Model.score(Model.java:783)
	at hex.Model.score(Model.java:776)
	at hex.Model.score(Model.java:759)
	at hex.deeplearning.DeepLearningModel.doScoring(DeepLearningModel.java:395)
	at hex.deeplearning.DeepLearning$DeepLearningDriver.trainModel(DeepLearning.java:431)
	at hex.deeplearning.DeepLearning$DeepLearningDriver.buildModel(DeepLearning.java:302)
	at hex.deeplearning.DeepLearning$DeepLearningDriver.compute2(DeepLearning.java:203)
	at hex.ModelBuilder.trainModelNested(ModelBuilder.java:181)
	at hex.grid.GridSearch.startBuildModel(GridSearch.java:323)
	at hex.grid.GridSearch.buildModel(GridSearch.java:305)
	at hex.grid.GridSearch.gridSearch(GridSearch.java:209)
	at hex.grid.GridSearch.access$000(GridSearch.java:68)
	at hex.grid.GridSearch$1.compute2(GridSearch.java:134)
	at water.H2O$H2OCountedCompleter.compute(H2O.java:1181)
	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)
Caused by: java.lang.IllegalArgumentException: Operation not allowed on string vector.
	at water.fvec.CStrChunk.atd_impl(CStrChunk.java:47)
	at water.fvec.Chunk.atd(Chunk.java:255)
	at hex.Model.score0(Model.java:963)
	at hex.Model$BigScore.map(Model.java:931)
	at water.MRTask.compute2(MRTask.java:637)
	at water.H2O$H2OCountedCompleter.compute1(H2O.java:1184)
	at hex.Model$BigScore$Icer.compute1(Model$BigScore$Icer.java)
	at water.H2O$H2OCountedCompleter.compute(H2O.java:1180)
	... 5 more



Michal Malohlava

unread,
Apr 11, 2016, 8:33:19 PM4/11/16
to h2os...@googlegroups.com
Please make sure you converted all your string-features to categorical features.

Thank you!
Michal
--
You received this message because you are subscribed to the Google Groups "H2O Open Source Scalable Machine Learning - h2ostream" group.
To unsubscribe from this group and stop receiving emails from it, send an email to h2ostream+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

nachike...@linaro.org

unread,
May 27, 2016, 5:34:06 PM5/27/16
to H2O Open Source Scalable Machine Learning - h2ostream, mic...@h2oai.com
Hi Michal,

Can you please elaborate on how to do this conversion? I am facing this exception on Sparkling Water 1.6.3.

I followed the steps in the Craigslist demo video (https://www.youtube.com/watch?v=HVairux8LUM) and am getting this same exception when I build the model:
DistributedException from localhost/127.0.0.1:54321, caused by java.lang.IllegalArgumentException: Operation not allowed on string vector.

I am working on an ARM64 system with Linaro OpenJDK 1.8.

Please let me know.

Thanks,
Nachiket

jack...@gmail.com

unread,
Sep 8, 2016, 9:53:43 AM9/8/16
to H2O Open Source Scalable Machine Learning - h2ostream, mic...@h2oai.com, nachike...@linaro.org
суббота, 28 мая 2016 г., 0:34:06 UTC+3 пользователь nachike...@linaro.org написал:
Hi, Aarti.

You should change column type of target to enum. It's string by default. U can do it by Get frames -> inspect your frame - click on "change to enum" link in the row with target. Or u can execute cs "changeColumnType frame: "frame_rdd_52", column: "target", type: 'enum'" just change frame_rdd_52 to your frame name.
Reply all
Reply to author
Forward
0 new messages