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

分布式数据库_企业网站seo诊断_评分榜

小七 141 0

mlflowv0.9.0具有SQL后端、Docker中的项目和Python模型中的自定义功能

mlflowv0.9.0今天发布了。它引入了一组新特性和社区贡献,包括用于跟踪服务器的sqlstore、在Docker容器中支持MLflow项目以及Python模型中的简单定制。另外,这个版本添加了一个插件方案来定制用于跟踪和工件的MLflow后端存储。现在可以在PyPi和docs online上使用,您可以使用pip install mlflow安装这个新版本,如mlflow快速入门指南中所述。在本文中,我们将详细介绍MLflow v0.9.0的一组特性:一个高效的SQL兼容后端存储,用于跟踪数以千计的规模实验。跟踪工件的插件方案扩展了后端存储功能。在Docker容器中运行MLflow项目的能力允许在执行期间进行扩展和更强的隔离。定制Python模型的能力在Python_func模型风格中注入了后处理和预处理逻辑。用于跟踪的SQL后端存储对于数千次MLflow运行和实验参数,默认的文件存储跟踪服务器实现无法扩展。感谢Anderson Reyes的社区贡献,SQLAlchemy store是一个开源的Python SQL兼容存储,它解决了这个问题,提供了可伸缩和性能良好的存储。与其他SQL存储(如MySQL、PostgreSQL、SQLite和mssql)兼容,开发人员可以连接到本地或远程存储,以持久化他们的实验运行、参数和工件。记录运行时性能我们比较了基于MySQL的SqlAlchemyStore与FileStore的日志性能。这个设置包括1000次运行,在MacBookPro上运行了5次,在英特尔i7上有4个内核,内存为16GB。(在未来的博客中,我们计划在一台大型EC2机器上运行这个基准测试,期望获得更好的性能。)通过测量数千次操作的平均日志性能,我们发现使用数据库备份的存储时,速度提高了大约3倍,如图1所示。此外,我们对多个客户端进行了压力测试,最多可扩展到10个并发客户端,将度量、参数和标记记录到后端存储。虽然这两个存储都显示出每次操作的运行时都呈线性增长,但数据库支持的存储继续随着大量并发负载而扩展。图1记录性能运行时搜索运行时性能搜索和获取API的性能显示出了显著的性能提升。下面的比较显示了两种存储类型在不断增加的运行次数下的搜索运行时。图2搜索运行时性能有关后端存储设置和配置的详细信息,请阅读有关跟踪存储的文档。后端存储的自定义插件尽管内部MLflow可插拔架构为跟踪和工件存储启用了不同的后端,但它不提供为新后端的插件处理程序添加新提供者的功能。社区贡献者andrewcrozier和Víctor Zabalza对MLflow插件系统的建议现在允许您向MLflow注册存储处理程序。此方案有用的原因如下:允许外部参与者打包并发布其自定义处理程序扩展跟踪功能,并与其他云平台上的商店集成如果需要,提供一个单独的插件来跟踪和工件这个可插拔方案的核心是入口点的概念,在其他Python包中有效地使用,例如pytest、papermill、click等。要集成和提供MLflow插件处理程序,比如跟踪和工件,需要两个类实现:TrackingStoreRegistery和artifactstoreregistry。有关如何实现、注册和使用此可插拔方案自定义后端存储的详细说明,请阅读建议及其实现细节。Docker容器中的项目除了在Conda环境中运行MLflow项目外,在社区贡献者marcusrehm的帮助下,这个版本扩展了您在Docker容器中运行MLflow项目的能力。它有三个优点。首先,它允许您捕获非Python依赖项,比如Java库。其次,它在运行MLflow项目时提供了更强的隔离。第三,它为将来向MLflow添加工具以运行其他docketized项目(例如,在Kubernetes集群上进行扩展)提供了途径。要在Docker容器中运行MLflow项目,需要两个工件:Dockerfile和MLProject file。Docker文件表示您对如何构建Docker映像的依赖关系,而MLProject文件指定要使用的Docker映像名称、入口点和模型的默认参数。使用两个简单的命令,您可以在Docker容器中运行MLflow项目并查看运行结果,如下面的动画所示。请注意,诸如MLFLOW_TRACKING_URI之类的环境变量保留在容器中,因此您可以在MLFLOW UI中查看其运行指标。docker构建。-t mlflow docker示例mlflow运行。-Pα=0.5简单的Python模型定制通常,ML开发人员希望构建和部署包含自定义推理逻辑(例如,预处理、后处理或业务逻辑)和数据依赖关系的模型。现在您可以使用新的MLflow模型api创建自定义Python模型。要构建自定义Python模型,请扩展mlflow.pyfunc.PythonModel班级:类蟒蛇模型:def load_上下文(self,context):#上下文包含工件的路径文件def predict(自我、上下文、输入)#你的自定义推理逻辑在这里load_context()方法用于加载任何工件(包括其他模型!)你的模型可能需要它来做出预测。通过重写predict()方法定义模型的推理逻辑。新的定制模型文档演示了PythonModel如何使用MLflow保存XGBoost模型;请查看XGBoost示例!进口mlflow.pyfunc#定义模型类类地址(mlflow.pyfunc.PythonModel):定义初始化(self,val):自我价值=值def predict(自我、上下文、模型输入):收益模型_输入.应用(lambda列:column+自我价值)#构造并保存模型model_path="添加\u val_model"add5_model=AddVal(val=5)#保存模型mlflow.pyfunc.save_模型(dst_path=model_路径,python_model=add5_model)有关MLflow中新的模型定制特性的更多信息,请阅读关于定制Python模型的文档。其他功能和错误修复除了这些特性之外,本版本还包含了其他一些新功能。一些值得注意的事项包括:特征[CLI]为运行添加CLI命令:现在您可以通过CLI列出、删除、恢复和描述运行(#720,@DorIndivo)[CLI]run命令现在可以将--experience name作为参数,作为--experience id参数的替代。您还可以选择设置_experience_NAME_ENV_VAR环境变量,而不是显式地传递值。(889,894,百万马克)[R] 支持对R客户机中跟踪服务器的HTTP身份验证。现在,您可以使用环境变量中设置的凭据连接到安全跟踪服务器,或者提供用于设置凭据的自定义插件。例如,此版本包含一个Databricks插件,它可以检测现有的Databricks凭据,从而允许您连接到Databricks跟踪服务器。(#938,#959,#992,@tomasatdatabricks)[Models]Pythorch模型持久性改进,允许在直接范围之外持久化定义和依赖关系:将code_paths参数添加到mlflow.pytorch.save_模型()和mlflow.pytorch.log_模型()以允许将外部模块依赖项指定为python文件的路径。(#842,@dbczumar)。改进mlflow.pytorch.save_模型从笔记本和主作用域(#851,#861,@dbczumar)获取类定义可以在0.9.0changelog中找到来自社区的更改、错误修复和贡献的完整列表。我们欢迎更多关于mlflow-users@googlegroups.com或者在GitHub上提交问题。对于有关MLflow的实时问题,我们还提供了一个松弛通道。最后,您可以在Twitter上关注@MLflow以获取最新消息。信用我们要感谢以下的贡献者:亚伦·戴维森、艾哈迈德·费亚兹、安德森·雷耶斯、安德鲁·克罗齐尔、科里·祖马尔、多林迪沃、德米特罗·阿列克山德罗夫、韩宇、吉姆·汤普森、凯文·郭、凯文·袁、马泰伊·扎哈利亚、马库斯·雷姆、曼尼·帕克赫、麦蒂·西亚尔·因、穆罕默德·拉拉吉,西德哈斯·默林、斯蒂芬妮·博多夫、苏·安·洪、塔内利·米利克·伊宁、托马斯·尼科德姆、维克托·扎巴尔扎,第4届免费试用Databricks。今天就开始吧