Code Monkey home page Code Monkey logo

Comments (5)

vruusmann avatar vruusmann commented on August 11, 2024

java.lang.ClassNotFoundException: org.jpmml.converter.BaseNFeature

Your project is missing a JPMML-Converter library.

did you get this exception before?

No, because I know how to set up my projects correctly.

First, use a proper build manager such as Apache Maven. Second, declare a JPMML-SparkML library dependency, and let the build manager to collect and download JPMML-SparkML transitive dependencies as needed.

You should not be doing this manually. You're not smarter and technically more capable than Apache Maven.

from jpmml-sparkml.

liumy601 avatar liumy601 commented on August 11, 2024

yes, i have used maven, i've checked jpmml-converter library, only 1.4.5 has that class org.jpmml.converter.BaseNFeature, 1.4.10 doesn't, so it gives this error.

from the errors, it seems jpmml-xgboost library is mismatch, i used 1.4.4, which version is suitable for JPMML-SparkM 1.6.6?

thanks

from jpmml-sparkml.

vruusmann avatar vruusmann commented on August 11, 2024

If you want to know which transitive dependencies work with a particular JPMML-SparkML library version, then simply check out the correct tag, and run the mvn dependency:tree command inside the main module.

For JPMML-SparkML version 1.6.6, do the following:

$ git clone https://github.com/jpmml/jpmml-sparkml.git
$ cd jpmml-sparkml
$ git checkout 1.6.6
$ mvn dependency:tree

The report (omitted some irrelevant parts):

[INFO] +- com.beust:jcommander:jar:1.72:compile
[INFO] +- org.apache.spark:spark-core_2.12:jar:3.0.0:provided
[INFO] +- org.jpmml:jpmml-converter:jar:1.4.10:compile
[INFO] |  +- com.google.guava:guava:jar:21.0:compile
[INFO] |  +- org.jpmml:pmml-model:jar:1.5.16:compile
[INFO] |  |  \- org.jpmml:pmml-agent:jar:1.5.16:compile
[INFO] |  \- org.jpmml:pmml-model-metro:jar:1.5.16:compile
[INFO] +- junit:junit:jar:4.13.2:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.apache.hadoop:hadoop-client:jar:2.7.4:test
[INFO] \- org.jpmml:pmml-evaluator-testing:jar:1.5.16:test
[INFO]    +- org.jpmml:pmml-evaluator:jar:1.5.16:test
[INFO]    +- org.jpmml:pmml-evaluator-extension:jar:1.5.16:test
[INFO]    +- org.jpmml:pmml-evaluator-kryo:jar:1.5.16:test
[INFO]    |  +- org.jpmml:pmml-model-kryo:jar:1.5.16:test
[INFO]    |  |  \- com.esotericsoftware:kryo:jar:5.2.2-SNAPSHOT:test (version selected from constraint [5.0.0,))
[INFO]    |  |     \- com.esotericsoftware:reflectasm:jar:1.11.9:test
[INFO]    |  \- de.javakaffee:kryo-serializers:jar:0.45:test
[INFO]    +- org.jpmml:pmml-evaluator-metro:jar:1.5.16:test
[INFO]    \- org.jpmml:pmml-evaluator-moxy:jar:1.5.16:test
[INFO]       \- org.jpmml:pmml-model-moxy:jar:1.5.16:test
[INFO]          \- org.eclipse.persistence:org.eclipse.persistence.moxy:jar:2.7.9:test (version selected from constraint [2.7.0,2.7.9])
[INFO]             \- org.eclipse.persistence:org.eclipse.persistence.core:jar:2.7.9:test
[INFO]                \- org.eclipse.persistence:org.eclipse.persistence.asm:jar:9.1.0:test

The above report says black-on-white that you MUST use JPMML-Converter 1.4.10.

If you use some other version, then that's your (not JPMML-SparkML) problem.

from jpmml-sparkml.

vruusmann avatar vruusmann commented on August 11, 2024

yes, i have used maven, i've checked jpmml-converter library, only 1.4.5 has that class org.jpmml.converter.BaseNFeature, 1.4.10 doesn't, so it gives this error.

That's a new classpath conflict there, completely separate from the JPMML-SparkML project.

In brief, you're again trying to mix a totally arbitrary version of the JPMML-XGBoost library with JPMML-SparkML and JPMML-Converter library versions.

You need to use an JPMML-XGBoost library version that is compatible with JPMML-Converter version 1.4.10.

from jpmml-sparkml.

liumy601 avatar liumy601 commented on August 11, 2024

After i upgrade jpmml-xgboost version to 1.5.6, that error is fixed and pmml is exported successfuly.

from jpmml-sparkml.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.