Error on Keras Model

alfonso_gordill
alfonso_gordill New Altair Community Member
edited November 2024 in Community Q&A
Unsupported Pandas Version

"The Current Version is 1.0.1 of the Pandas module for Python is not supported.
Please maker sure that the pandas module for Python has at least version 0.12.0"

I
f Pyhon local installation from Anaconda had Pandas Vesrion 1.0.1 why Keras Model Inside of RapidMiner Keras Operators is asking to down to a previous version of Pandas ?

Best Answer

Answers

  • alfonso_gordill
    alfonso_gordill New Altair Community Member
    Thanks varunm1, I have installed RapidMiner in Windows also I have RapidMiner in a MAC, the previous error was with my Windows but in my MAC I have the same version of Anaconda and RapidMiner but in my MAC box I am running the same process without problem.

    Both Anaconda's installations Windows and MAC have the same Pandas Version but the error is only in Windows RapidMiner no problem with my MAC Rapidminer Keras process.
    Please let me know why I have the error only in my Windows box  
  • phellinger
    phellinger New Altair Community Member
    Hi @alfonso_gordill,

    Can you please make sure you have Python Scripting 9.6.0, that is the first version officially supporting Pandas 1.0+ (as that Pandas version came out later than earlier extension versions).
    Also, the Python Scripting settings on the Preferences dialog should point to the Python binary / environment you want to use, that may be a difference between the two setup. When you click on Test, it should list the Pandas version found.

    Best,
    Peter
  • wongcr
    wongcr New Altair Community Member
    edited March 2021
    There is a bug in the extension; if you have pandas >= 1.0.0 then you will get an error "Unsupported Pandas version".  This is because class  com.rapidminer.operator.scripting.python.PythonSetupTester has a bug: 

    private boolean pandasVersionNotSufficient(final String pythonPath) {
            final String script = String.format("import pandas%nimport sys%nif float(pandas.__version__.split('.')[1])<%d:%n    sys.exit(%d)", 12, 77);
            return this.checkScriptForExitCode(script, pythonPath, 77, ".py");
        }

    This only checks for the middle of the pandas version string "0.12.0"  i.e. Pandas 1.0.0  (or the current 1.2.3) will always fail as 2 < 12 until we eventually get to Pandas 1.12.0 version!!

    Please update the code to do proper version checking - see https://stackoverflow.com/questions/198431/how-do-you-compare-two-version-strings-in-java -OR- get rid of the pandas version checking since this will be done automatically by the pip/conda keras installation?

    Unfortunately we can't just patch rxm_keras-1.0.3.jar as it is digitally signed.

    I can't use the DL4J extension as it doesn't support many of the Keras extension eg custom loss functions, GRU RNN etc

    And quite frankly, whats the point of a GUI like Rapidminer if we have to drop back to python (as varrunm1 suggestion) anyway?

    The keras extension was perfect - let's keep the visual coding where possible, it's great for teaching
  • RBSB61
    RBSB61 New Altair Community Member
    while running keras samples model iris_classification getting error mandatory input missing at port apply Keras models.model. Also getting the error process failed with this error
    • Exception: java.lang.NullPointerException
    • Message: null
    • Stack trace:
    • java.lang.ProcessBuilder.start(ProcessBuilder.java:1012)
    • com.rapidminer.operator.scripting.AbstractScriptRunner.getProcessWithLogging(AbstractScriptRunner.java:374)
    • com.rapidminer.operator.scripting.python.PythonScriptRunner.start(PythonScriptRunner.java:322)
    • com.rapidminer.operator.scripting.AbstractScriptRunner.run(AbstractScriptRunner.java:157)
    • com.rapidminer.extension.keras.general.Sequential.doWork(Sequential.java:436)
    • com.rapidminer.operator.Operator.execute(Operator.java:1023)
    • com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
    • com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:805)
    • com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:800)
    • java.security.AccessController.doPrivileged(Native Method)
    • com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:800)
    • com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:423)
    • com.rapidminer.operator.Operator.execute(Operator.java:1023)
    • com.rapidminer.Process.executeRoot(Process.java:1464)
    • com.rapidminer.Process.lambda$executeRootInPool$5(Process.java:1443)
    • com.rapidminer.studio.concurrency.internal.AbstractConcurrencyContext$AdaptedCallable.exec(AbstractConcurrencyContext.java:362)
    • java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    • java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    • java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    • java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)

  • phellinger
    phellinger New Altair Community Member
    Hi @RBSB61,

    Please make sure you are running the latest Python Scripting extension version (9.9+).

    Regarding Keras, please consider varunm1's remarks above.

    Best,
    Peter
  • RBSB61
    RBSB61 New Altair Community Member
    Latest Python Scripting extension version (9.9+) is running. Any other solution if we are getting that error