Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NoSuchMethodError BoosterGetEvalNames with LightGBM #581

Closed
peay opened this issue Jun 6, 2019 · 3 comments
Closed

NoSuchMethodError BoosterGetEvalNames with LightGBM #581

peay opened this issue Jun 6, 2019 · 3 comments
Assignees

Comments

@peay
Copy link

peay commented Jun 6, 2019

Hello,

I am trying to upgrade to v0.17, and I keep getting errors such as below when training.

I've also tried building master but I am getting the same error. I see that the last tagged released of LightGBM doesn't seem to have that SWIG interface (https://github.com/microsoft/LightGBM/blob/v2.2.3/swig/lightgbmlib.i).

Any thoughts?

cc @imatiach-msft

java.lang.NoSuchMethodError: com.microsoft.ml.lightgbm.lightgbmlib.LGBM_BoosterGetEvalNamesSWIG(Lcom/microsoft/ml/lightgbm/SWIGTYPE_p_void;I)Lcom/microsoft/ml/lightgbm/SWIGTYPE_p_p_char;
	at com.microsoft.ml.spark.TrainUtils$.getEvalNames(TrainUtils.scala:129)
	at com.microsoft.ml.spark.TrainUtils$.trainCore(TrainUtils.scala:138)
	at com.microsoft.ml.spark.TrainUtils$.translate(TrainUtils.scala:231)
	at com.microsoft.ml.spark.TrainUtils$.trainLightGBM(TrainUtils.scala:352)
	at com.microsoft.ml.spark.LightGBMBase$$anonfun$5.apply(LightGBMBase.scala:68)
	at com.microsoft.ml.spark.LightGBMBase$$anonfun$5.apply(LightGBMBase.scala:68)
	at org.apache.spark.sql.execution.MapPartitionsExec$$anonfun$5.apply(objects.scala:188)
	at org.apache.spark.sql.execution.MapPartitionsExec$$anonfun$5.apply(objects.scala:185)
	at org.apache.spark.rdd.RDD$$anonfun$mapPartitionsInternal$1$$anonfun$apply$24.apply(RDD.scala:836)
	at org.apache.spark.rdd.RDD$$anonfun$mapPartitionsInternal$1$$anonfun$apply$24.apply(RDD.scala:836)
	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)
	at org.apache.spark.rdd.RDD.iterator(RDD.scala:288)
	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)
	at org.apache.spark.rdd.RDD.iterator(RDD.scala:288)
	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
	at org.apache.spark.scheduler.Task.run(Task.scala:121)
	at org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:402)
	at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:408)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
@imatiach-msft
Copy link
Contributor

imatiach-msft commented Jun 6, 2019

hi @peay , based on the error message you are using an older version of lightgbm jar with newer mmlspark jar. I think it is related to this fix:
microsoft/LightGBM#2118
For mmlspark v0.17 you need to use the corresponding lightgbm 2.2.300:
https://mvnrepository.com/artifact/Azure/mmlspark/0.17
Specifically this lightgbm jar:
https://mvnrepository.com/artifact/com.microsoft.ml.lightgbm/lightgbmlib/2.2.300
Hope this helps!

@imatiach-msft imatiach-msft self-assigned this Jun 6, 2019
@peay
Copy link
Author

peay commented Jun 11, 2019

Does 2.2.300 correspond to v2.2.3 in LightGBM's repository?

@imatiach-msft
Copy link
Contributor

hi @peay yes, 2.2.300 corresponds to v2.2.3 from LightGBM repository

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants