Я уже сохранил PipelineModel в учебной записной книжке, которую я хочу загрузить в предсказываемую записную книжку.У модели есть свой собственный пользовательский класс поэтапно.
Я пытался преобразовать класс в пакеты и импортировать их, но это все еще не решило мою проблему.
В учебном блокноте у меня есть:
from pyspark.ml import Pipeline
pipeline_index = Pipeline(stages=[
ArrayStringIndex(inputCol="tokens", outputCol="tokens_idx"),
ArrayStringIndex(inputCol="sentiment", outputCol="label_idx")
])
transformer_pipeline_index = pipeline_index.fit(df_pre)
# Save Pipeline Model
transformer_pipeline_index.write().overwrite().save("/tmp/pipelinemodel")
df_training = transformer_pipeline_index.transform(df_pre)
df_training = df_training.select(df_training.id, df_training.tokens_idx, df_training.label_idx)
df_training.show()
В записной книжке прогнозирования у меня есть:
from pyspark.ml import Pipeline, PipelineModel
from myclass.pipeline.arraystring import ArrayStringIndex, ArrayStringIndexModel
# Load Pipeline Model
transformer_pipeline_index = PipelineModel.load("/tmp/pipelinemodel")
df_predict = transformer_pipeline_index.transform(df_pre)
df_predict = df_predict.select(df_predict.id, df_predict.tokens_idx, df_predict.label_idx)
df_predict.show()
Я ожидаю, что PipelineModel.load () работает и загружает созданную ранее PipelineModel, но я получил AttributeError: module ' main 'не имеет атрибута ArrayStringIndexModel'