云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

文件存储_深圳营销型网站建设公司_新用户

小七 141 0

MLflow v0.6.0中的新特性

今天,我们很高兴地宣布mlflowv0.6.0,本周早些时候发布了新特性。现在可以在PyPI和Maven上使用,这些文档已经更新。您可以使用pip install mlflow安装最新版本,如mlflow快速启动指南中所述。MLflow v0.6.0引入了许多主要特性:一个Java客户机API,在Maven上可用支持将Spark MLlib模型保存和服务为MLeap以实现低延迟服务支持在运行完成期间和之后使用元数据标记运行支持删除(和恢复删除的)实验在这篇文章中,我们将描述这个版本中的新特性、增强和bug修复。我们将特别关注两个特性:新的javamlflow客户机API和Spark MLlib和mlap模型集成。Java客户端API为了给开发人员提供编程语言的选择,我们包含了一个Java客户机跟踪API,其功能与Python客户机跟踪API类似。两者都为MLflow实验和运行提供了CRUD接口。这个Java客户机在Maven上可用。通过主Java类构造函数MlflowClient()及其实例方法,可以创建、列出、删除、记录或访问运行及其构件。默认情况下,它连接到环境变量MLFLOW_tracking_URI中设置的跟踪服务器,除非使用MlflowClient(tracking_server_ui)构造函数显式实例化。如果您使用了mlflowv0.5.2中引入的新mlflowpython跟踪和实验API,那么在功能上没有什么不同。一如既往,一些代码片段将说明它的用法。不过,完整的示例可以在Java客户端源代码的sample目录中找到:QuickStartDriver.java进口java.util.List;进口java.util.可选;进口org.apache.log4j.级别;进口org.apache.log4j.日志管理器;进口org.mlflow.api.原型服务.*;进口组织mlflow.tracking.MlflowClient;/***这是一个使用MLflow跟踪API创建和管理的示例应用程序*实验和运行。*/公共类QuickStartDriver{public static void main(String[]args)引发异常{(新的QuickStartDriver()).process(args);}void进程(String[]args)引发异常{MlflowClient客户端;如果(参数长度System.out.println("经验:"+e));//创造一个新的实验createRun(客户端,expId);System.out.println("=====GetExperience再次");获取实验响应表达式2=客户端.GetExperience(expId);System.out.println("获取实验:"+exp2);System.out.println("=====getexperience by name");可选表达式3=客户端.GetExperienceByName(expName);System.out.println("GetExperienceByName:"+exp3);}void createRun(MlflowClient客户端,long expId){System.out.println("=====createRun");//创建跑步记录字符串源文件="我的文件.java";运行信息runCreated=客户端.createRun(expId,源文件);System.out.println("CreateRun:"+runCreated);字符串runId=runCreated.getRunUuid();//日志参数客户端.logParam(runId,"min_samples_leaf","2");客户端.logParam(符文ID,"最大深度","3");//日志度量客户端.logMetric(符文ID,"auc",2.12F);客户端.logMetric(runId,"准确度"3.12F);客户端.logMetric(runId,"零亏一亏",4.12F);//更新已完成运行客户端.setTerminated(符文ID,运行状态。完成);//获取跑步详情运行-运行=客户端.getRun(符文ID);System.out.println("GetRun:"+run);}}Spark MLlib和MLeap模型集成为了实现MLflow"开放平台"的设计目标,支持流行的ML库和模型风格,我们添加了另一种模型风格:mlflow.mleap. Spark MLlib模型可以选择以MLeap格式保存。这种新的MLeap格式允许为低延迟生产服务部署Spark MLlib模型。对于实时服务,MLeap框架的性能远远高于Spark MLlib,原因有很多。首先,它采用了一种重量更轻、性能更好的数据帧表示。其次,与Spark MLlib管道模型不同,它在Scala中评估MLlib管道时不需要SparkContext。最后,它还有序列化和反序列化机制,可以将PySpark管道模型转换为Scala对象。从上图中可以看出,MLeap可以在一位数毫秒范围内提供预测,而Spark MLlib则可以达到100毫秒的范围。在MLeap风格中保存Spark MLib模型对于此功能,我们扩展了mlflow.火花API的save_model(…)也可以选择以MLeap格式保存Spark MLib模型,让您可以选择部署performant模型来进行实时服务。一个示例将说明如何以两种格式保存此模型。让我们创建一个简单的Spark MLlib模型、日志模型和一些参数,并以Spark MLlib和MLeap模型格式保存它。另一个论点mlflow.spark.save_模型(…)将以两种格式持久化:Spark MLlib和MLeap。导入mlflow进口mlflow.火花从pyspark.ml导入管道从pyspark.ml.分类导入逻辑回归从pyspark.ml.功能导入HashingTF,标记器#训练数据帧培训=spark.createDataFrame([(0,"b c d e火花",1.0),(1,"b d",0.0),(2,"火花f g h",1.0),(3,"hadoop mapreduce",0.0)],id","text","label"])##测试数据帧测试_df=spark.createDataFrame([(4,"火花i j k"),(5,"l m n"),(6,"spark hadoop spark"),(7,"apache hadoop")],id,"text"])#创建MLlib管道tokenizer=tokenizer(inputCol="text",outputCol="words")hashingTF=hashingTF(输入列=标记器.getOutputCol(),outputCol="功能")lr=逻辑回归(maxIter=10,regParam=0.001)管道=管道(stages=[tokenizer,hashingTF,lr])型号=管道.fit(培训)#日志参数mlflow.log_参数("最大值",10)mlflow.log_参数("注册参数",0.001)#以mleap格式记录模型mlflow.mleap.log_模型(模型,测试图df,"mleap模型")#这个带有附加test_df参数的调用将保存#两种格式。#现在让我们坚持下去。这个API调用将保存这两种风格#模型:Spark MLlib和MLeap,两者都可以使用#在使用pyfunc调用进行部署时,如果我们提供MLeap风格#参数,例如数据帧输入,它将保存这两种风格mlflow.spark.save_模型(模型,测试数据,"mleap模型")其他功能和错误修复除了这些特性之外,本版本还包括其他项目、bug和文档修复。一些值得注意的事项包括:[API]支持在运行完成期间和之后使用元数据标记运行[API]现在可以通过REST API、Python跟踪API和MLflow CLI(#340,#344,#367,@mparkhe)删除和恢复实验[API]添加了list_artifacts和download_artifacture到MlflowService以与run的artifactory交互(#350,@andrewmchen)[API]在Python跟踪API中添加了get_experience_by_name,并等效于javaapi(#373,@vfdev-5)[API/Python]版本现在通过mlflow.版本.[API/CLI]添加了mlflow artifacts CLI以列出、下载并上载以运行工件存储库(#391,@aarondav)*[API/CLI]添加了mlflow artifacts CLI以列出、下载并上载以运行工件存储库(#391,@aarondav)[API]在Python跟踪API中添加了get_experience_by_name,并等效于javaapi(#373,@vfdev-5)[Serving/SageMaker]SageMaker Serving接受AWS区域参数(#366,@dbczumar)[UI]在MLflow实验用户界面中为源名称添加了图标(#381,@andrewmchen)[Docs]添加了执行多步骤工作流、将MLflow运行链接在一起并重用结果的综合示例(#338,@aarondav)[Docs]添加了执行超参数调整的综合示例(#368,@tomasatdatabricks)[Docs]将代码示例添加到mlflow.keras公司API(#341,@dmatrix)[Docs]对Python API文档的显著改进(#454,@stbof)[Docs]示例文件夹已重构以提高可读性。示例现在也位于examples/而不是example/中(#399,@mparkhe)社区的变更和贡献的完整列表可以在0.6.0变更日志中找到。我们欢迎更多关于mlflow-users@googlegroups.com或者在GitHub上提交问题或提交补丁。对于有关MLflow的实时问题,我们为MLflow提供了一个空闲频道,您也可以在Twitter上关注@MLflowOrg。阅读更多对于我们下一步工作的概述,请看我们演示文稿中的路线图幻灯片。信用MLflow 0.6.0包括来自Aaron Davidson、Adrian Zhuang、Alex Adamson、Andrew Chen、Corey Zumar、Hamroune Zahir、Joy Gioa、Jules Damji、Krishna Sangeeth、Matei Zaharia、Siddharth Murching、Shenggan、Stephanie Bodoff、Tomas Nykodym、Toon Baeyens和VFDev提供的补丁、bug修复和文档更改。免费试用Databricks。今天就开始吧