首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我没有成功地用MLeap保存(序列化)一个使用Scikit学习的zip文件

我没有成功地用MLeap保存(序列化)一个使用Scikit学习的zip文件
EN

Stack Overflow用户
提问于 2020-06-03 10:05:58
回答 1查看 256关注 0票数 1

我试过了:

代码语言:javascript
复制
#Generate data
import pandas as pd 
import numpy as np

df = pd.DataFrame(np.random.randn(100, 5), columns=['a', 'b', 'c', 'd', 'e'])
df["y"] = (df['a'] > 0.5).astype(int)
df.head()

from mleap.sklearn.ensemble.forest import RandomForestClassifier

forestModel = RandomForestClassifier()
forestModel.mlinit(input_features='a',
                   feature_names='a',
                           prediction_column='e_binary')


forestModel.fit(df[['a']], df[['y']])

forestModel.serialize_to_bundle("jar:file:/dbfs/FileStore/tables/mleaptestmodelforestpysparkzip", "randomforest.zip")

我发现了一个错误:

No such file or directory: 'jar:file:/dbfs/FileStore/tables/mleaptestmodelforestpysparkzip/randomforest.zip.node'

我也试过了:forestModel.serialize_to_bundle("jar:file:/dbfs/FileStore/tables/mleaptestmodelforestpysparkzip/randomforest.zip")

并得到一个错误,即"model_name“属性丢失。

你能帮帮我吗?

我添加了我想做的所有事情和我得到的结果:

管道到Zip:

1.

pipeline.serialize_to_bundle("jar:file:/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip", model_name="forest")

'jar:file:/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip/model.json‘=> FileNotFoundError: Errno 2没有这样的文件或目录:

2.

pipeline.serialize_to_bundle("jar:file:/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip", model_name="forest", init=True)

'jar:file:/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip/forest‘:FileNotFoundError: Errno 2没有这样的文件或目录:

3.

"/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip/forest“的创建与pipeline.serialize_to_bundle("jar:file:/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip", model_name="forest", init=True)

'jar:file:/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip/forest‘=> FileNotFoundError: Errno 2没有这样的文件或目录:

4.

pipeline.serialize_to_bundle("/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip", model_name="forest", init=True)

'/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip/forest‘=> FileNotFoundError: Errno 2没有这样的文件或目录:

5.

pipeline.serialize_to_bundle("/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip", model_name="forest", init=True)

=> OSError: Errno 95操作不支持-但是保存一些东西

  1. pipeline.serialize_to_bundle("jar:dbfs:/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip", model_name="forest", init=True)

'jar:dbfs:/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip/forest => FileNotFoundError: Errno 2没有这样的文件或目录:

7.

pipeline.serialize_to_bundle("jar:dbfs:/FileStore/tables/lifttruck_mleap/pipeline_zip2/1/model.zip", model_name="forest", init=True)

'jar:dbfs:/FileStore/tables/mleap/pipeline_zip/1/model.zip/forest‘=> FileNotFoundError: Errno 2没有这样的文件或目录:

8.

pipeline.serialize_to_bundle("dbfs:/FileStore/tables/lifttruck_mleap/pipeline_zip2/1/model.zip", model_name="forest", init=True)

'dbfs:/FileStore/tables/mleap/pipeline_zip2/1/model.zip/forest‘=> FileNotFoundError: Errno 2没有这样的文件或目录:

模型压缩

  1. forest.serialize_to_bundle("jar:file:/dbfs/FileStore/tables/mleap/random_forest_zip/1/model.zip", model_name="forest")

'jar:file:/dbfs/FileStore/tables/mleap/random_forest_zip/1/model.zip/forest.node‘=> FileNotFoundError: Errno 2没有这样的文件或目录:

  1. forest.serialize_to_bundle("jar:file:/dbfs/FileStore/tables/mleap/random_forest_zip/1", model_name="model.zip")

'jar:file:/dbfs/FileStore/tables/mleap/random_forest_zip/1/model.zip.node‘=> FileNotFoundError: Errno 2没有这样的文件或目录:

  1. forest.serialize_to_bundle("/dbfs/FileStore/tables/mleap/random_forest_zip/1", model_name="model.zip")

=>不保存拉链。把一捆钱存起来。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-29 09:56:32

我找到了问题和解决办法。

用Databricks进行随机写入是不可能的,如下所述:https://docs.databricks.com/data/databricks-file-system.html?_ga=2.197884399.1151871582.1592826411-509486897.1589442523#local-file-apis

解决方法是在本地文件系统中编写zip文件,然后将其复制到DBFS中。所以:

  1. 使用"init=True“序列化管道中的模型,将其保存在本地dir
  2. 中,通过使用”dbutils.fs.cp(源,目的地)“

将其复制到数据蛋糕中。

Dbutils.fs.cp(源,目的地)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62170224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档