zip python there is no item_我无法使用Scikit-Learn和MLeap在Python中成功保存(序列化)zip文件...

我尝试过:

#Generate dataimportpandasaspdimportnumpyasnp

df=pd.DataFrame(np.random.randn(100,5),columns=['a','b','c','d','e'])df["y"]=(df['a']>0.5).astype(int)df.head()frommleap.sklearn.ensemble.forestimportRandomForestClassifierforestModel=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")

=> FileNotFoundError:[错误2]没有此类文件或目录:'jar:file:/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip/model.json'

2。

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

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

3。

pipeline.serialize_to_bundle("jar:file:/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:[错误2]没有这样的文件或目录:'jar:file:/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip/forest'

4。

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

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

5,

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

=> OSError:[Errno 95]操作不受支持-但请保存一些内容

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

=> FileNotFoundError:[错误2]没有此类文件或目录:'jar:dbfs:/dbfs/FileStore/tables/mleap/pipeline_zip/1/model.zip/forest

7

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

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

8。

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

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

压缩模型

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

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

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

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

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

=>不要保存邮政编码。而是保存一个捆绑包。

解决方案

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

无法再按以下说明对Databricks进行随机写入:https://docs.databricks.com/data/databricks-file-system.html?_ga=2.197884399.1151871582.1592826411-509486897.1589442523#local-file-apis

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

使用“ init = True”在管道中序列化模型,并将其保存在本地目录中

使用“ dbutils.fs.cp(源,目标)”将其复制到您的数据湖

dbutils.fs.cp(源,目标)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值