NoSuchElementException:无法在 MultiLayerPerceptronClassifier 中找到层的默认值

NoSuchElementException: Failed to find a default value for layers in MultiLayerPerceptronClassifier

我在使用保存的 MultiLayerPerceptronClassifier 模型进行预测时遇到问题运行。

# reading the saved model
# spark version: version 3.1.2, python3.6
from pyspark.ml import PipelineModel
from pyspark.ml import Pipeline
saved_model = "/home/user/Desktop/algorithms/mlpc_model_8979"
read_model = PipelineModel.load(saved_model)
# predictions using the read model
pred = read_model.transform(df)

它抛出错误:

Py4JJavaError: An error occurred while calling o98.transform.
: java.util.NoSuchElementException: Failed to find a default value for layers

管道中的原始 mlpc 定义了层:

mlpc = MultilayerPerceptronClassifier(layers= [200, 30, 10],\
                                       seed=1234,\
                                       featuresCol="features",\
                                       labelCols="label")

我尝试解决它:如果我 运行 管道模型并在不先保存模型的情况下进行预测。我工作没有错误。但是保存并重新使用模型会引发此错误。 关于如何解决此“Failed to find a default value for layers”错误的任何帮助?

经过大量搜索,我发现了一个非常奇怪的解决方案。
必须删除 layers 定义中列表 = [] 之前的 space。

                                             |
                                             |
                                             v 
mlpc = MultilayerPerceptronClassifier(layers=[200, 30, 10],\
                                       seed=1234,\
                                       featuresCol="features",\
                                       labelCols="label")