steven taylor created SPARK-32232: ------------------------------------- Summary: IllegalArgumentException: MultilayerPerceptronClassifier_... parameter solver given invalid value auto Key: SPARK-32232 URL: https://issues.apache.org/jira/browse/SPARK-32232 Project: Spark Issue Type: Bug Components: ML Affects Versions: 3.0.0 Reporter: steven taylor
I believe I have discovered a bug when loading MultilayerPerceptronClassificationModel in spark 3.0.0, scala 2.1.2 which I have tested and can see is not there in at least Spark 2.4.3, Scala 2.11. (I'm not sure if the Scala version is important). I am using pyspark on a databricks cluster and importing the library "from pyspark.ml.classification import MultilayerPerceptronClassificationModel" When running model=MultilayerPerceptronClassificationModel.("load") and then model. transform (df) I get the following error: IllegalArgumentException: MultilayerPerceptronClassifier_8055d1368e78 parameter solver given invalid value auto. This issue can be easily replicated by running the example given on the spark documents: [http://spark.apache.org/docs/latest/ml-classification-regression.html#multilayer-perceptron-classifier] Then adding a save model, load model and transform statement as such: *from* *pyspark.ml.classification* *import* MultilayerPerceptronClassifier *from* *pyspark.ml.evaluation* *import* MulticlassClassificationEvaluator _# Load training data_ data = spark.read.format("libsvm")\ .load("data/mllib/sample_multiclass_classification_data.txt") _# Split the data into train and test_ splits = data.randomSplit([0.6, 0.4], 1234) train = splits[0] test = splits[1] _# specify layers for the neural network:_ _# input layer of size 4 (features), two intermediate of size 5 and 4_ _# and output of size 3 (classes)_ layers = [4, 5, 4, 3] _# create the trainer and set its parameters_ trainer = MultilayerPerceptronClassifier(maxIter=100, layers=layers, blockSize=128, seed=1234) _# train the model_ model = trainer.fit(train) _# compute accuracy on the test set_ result = model.transform(test) predictionAndLabels = result.select("prediction", "label") evaluator = MulticlassClassificationEvaluator(metricName="accuracy") *print*("Test set accuracy = " + str(evaluator.evaluate(predictionAndLabels))) *from* *pyspark.ml.classification* *import* MultilayerPerceptronClassifier, MultilayerPerceptronClassificationModel model.save(Save_location) model2. MultilayerPerceptronClassificationModel.load(Save_location) result_from_loaded = model2.transform(test) -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org