使用 mlflow 提供用于评分的自定义 Python 模型

2023-12-12

我使用带有 mlflow 的 ML 软件生成的 Python 代码来读取数据帧、执行一些表操作并输出数据帧。我能够成功运行代码并将新数据帧保存为工件。但是,我无法使用 log_model 记录模型,因为它不是我们训练和拟合的 LR 或分类器模型。我想为此记录一个模型,以便可以为其提供新数据并使用 REST API 进行部署

df = pd.read_csv(r"/home/xxxx.csv")


with mlflow.start_run():

    def getPrediction(row):
        perform_some_python_operations 
        return [Status_prediction, Status_0_probability, Status_1_probability]

    columnValues = []
    for column in columns:
        columnValues.append([])

    for index, row in df.iterrows():
        results = getPrediction(row)
        for n in range(len(results)):
            columnValues[n].append(results[n])

    for n in range(len(columns)):
        df[columns[n]] = columnValues[n]

    df.to_csv('dataset_statistics.csv')
    mlflow.log_artifact('dataset_statistics.csv')
   

MLflow 支持定制型号mlflow.pyfunc 风格。您可以创建一个继承自的自定义类mlflow.pyfunc.PythonModel,需要提供函数predict用于执行预测,并且可选load_context加载必要的工件,如下所示(从文档中采用):

class MyModel(mlflow.pyfunc.PythonModel):

    def load_context(self, context):
        # load your artifacts

    def predict(self, context, model_input):
        return my_predict(model_input.values)

您可以将模型所需的任何工件记录到 MLflow,根据需要定义 Conda 环境等。
然后你可以使用save_model用你的类来保存你的实现,可以用load_model并做predict使用您的模型:

mlflow.pyfunc.save_model(
        path=mlflow_pyfunc_model_path, 
        python_model=MyModel(), 
        artifacts=artifacts)

# Load the model in `python_function` format
loaded_model = mlflow.pyfunc.load_model(mlflow_pyfunc_model_path)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 mlflow 提供用于评分的自定义 Python 模型 的相关文章

  • 如何在多进程系统中实现锁定?

    我们正在并行运行许多詹金斯项目 我们使用 python 并且选择使用 pyenv 管理虚拟环境 不幸的是 pyenv 有一个众所周知的竞争条件 https github com yyuu pyenv issues 174 为了解决这个问题
  • 当我有自定义身份验证模型时,如何登录 Django Rest 可浏览 API?

    我有一个自定义用户模型 如下所示account models py from django contrib auth modles import AbstractUser from django db models signals impo
  • 使用 django-rest-framework 设置对象级权限

    尝试使用 django rest framework 最干净 最规范地管理 django guardian 对象级权限 我想将对象的读取权限 module view object 分配给在执行 POST 时发出请求的用户 我的基于阶级的观点
  • 将 numpy 数组合并为单个 int

    numpy 数组怎么可以这样 10 22 37 45 转换为单个 int32 数字 如下所示 10223745 这可以工作 gt gt gt int join map str 10 22 37 45 10223745 基本上你使用map s
  • localhost/live - 通过 HTTP_HOST 检测

    假设我在本地开发并在实时服务器上调试小东西 在我的代码中添加这样的内容是个好主意吗 is local strpos SERVER HTTP HOST localhost false define DEBUG is local 然后在设置内容
  • 类型错误:需要二进制或 unicode 字符串,得到 618.0

    I ve been trying to implement this ML Linear Model into my dataset https www tensorflow org tutorials estimator linear L
  • 在Python上获取字典的前x个元素

    我是Python的新手 所以我尝试用Python获取字典的前50个元素 我有一本字典 它按值降序排列 k 0 l 0 for k in len dict d l 1 if l lt 51 print dict 举个小例子 dict d m
  • Arcpy 模数在 Pycharm 中不显示

    如何将 Arcpy 集成到 Pycharm 中 我尝试通过导入模块但它没有显示 我确实知道该模块仅适用于 2 x python arcpy 在 PyPi Python 包索引 上不可用 因此无法通过 pip 安装 要使用 arcpy 您需要
  • 如何使用scrapy检查网站是否支持http、htts和www前缀

    我正在使用 scrapy 来检查某些网站是否工作正常 当我使用http example com https example com or http www example com 当我创建 scrapy 请求时 它工作正常 例如 在我的pa
  • Python HMAC:类型错误:字符映射必须返回整数、None 或 unicode

    我在使用 HMAC 时遇到了一个小问题 运行这段代码时 signature hmac new key secret key msg string to sign digestmod sha1 我收到一个奇怪的错误 File usr loca
  • Python将文本文件解析为嵌套字典

    考虑以下数据结构 HEADER1 key value key value HEADER2 key value key value HEADER3 key value HEADER4 key value key value 原始数据中没有缩进
  • 使用 for 循环创建一系列元组

    我已经搜索过 但找不到答案 尽管我确信它已经存在了 我对 python 很陌生 但我以前用其他语言做过这种事情 我正在以行形式读取数据文件 我想将每行数据存储在它自己的元组中 以便在 for 循环之外访问 tup i inLine wher
  • 查找 Pandas DF 行中的最短日期并创建新列

    我有一个包含多个日期的表 有些日期将为 NaN 我需要找到最旧的日期 所以一行可能有 DATE MODIFIED WITHDRAWN DATE SOLD DATE STATUS DATE 等 因此 对于每一行 一个或多个字段中都会有一个日期
  • Ubuntu systemd 自定义服务因 python 脚本而失败

    希望获得有关 Ubuntu 中的 systemd 守护进程服务的一些帮助 我写了一个 python 脚本来禁用 Dell XPS 上的触摸屏 这更像是一个问题 而不是一个有用的功能 该脚本可以工作 但我不想一直启动它 这就是为什么我想到编写
  • 在骨架图像中查找线 OpenCV python

    我有以下图片 我想找到一些线来进行一些计算 平均长度等 我尝试使用HoughLinesP 但它找不到线 我能怎么做 这是我的代码 sk skeleton mask rows cols sk shape imgOut np zeros row
  • 为什么 __dict__ 和 __weakref__ 类从未在 Python 中重新定义?

    类创建似乎从来没有re 定义 dict and weakref class属性 即 如果它们已经存在于超类的字典中 则它们不会添加到其子类的字典中 但始终re 定义 doc and module class属性 为什么 gt gt gt c
  • Python bug - 或者我的愚蠢 - 扫描字符串文字时 EOL

    我看不出以下两行之间有显着差异 然而第一个解析 而后者则不解析 In 5 n Axis of Awesome In 6 n Axis of Awesome File
  • Django 管理器链接

    我想知道是否有可能 如果可以的话 如何 将多个管理器链接在一起以生成受两个单独管理器影响的查询集 我将解释我正在研究的具体示例 我有多个抽象模型类 用于为其他模型提供小型的特定功能 其中两个模型是DeleteMixin 和GlobalMix
  • 将 Keras 集成到 SKLearn 管道?

    我有一个 sklearn 管道 对异构数据类型 布尔 分类 数字 文本 执行特征工程 并想尝试使用神经网络作为我的学习算法来拟合模型 我遇到了输入数据形状的一些问题 我想知道我想做的事情是否可能 或者我是否应该尝试不同的方法 我尝试了几种不
  • 如何使用 python 定位和读取 Data Matrix 代码

    我正在尝试读取微管底部的数据矩阵条形码 我试过libdmtx http libdmtx sourceforge net 它有 python 绑定 当矩阵的点是方形时工作得相当好 但当矩阵的点是圆形时工作得更糟 如下所示 另一个复杂问题是在某

随机推荐

  • 在球体上使用多个纹理 [Three.js]

    是否可以在球体上加载多个纹理 我的意思是说有什么办法Three js将球体分割成n碎片 单独纹理它们并再次将这些碎片渲染为整个球体 我不想在球体上加载整个纹理 而是只渲染用户首先在屏幕上看到的那些部分 并且当用户旋转球体时 必须加载纹理的其
  • 在边框中间剪开

    我试图实现悬停时看起来像图像的边框 我不知道如何描述边界 但有什么方法可以实现这一点吗 text width 100px height 20px text align center text hover border 1px solid b
  • Blazor 中的轮询线程

    我正在使用 REST API 和 Web 界面构建 Blazor 应用程序 我还将有一个应用程序的监视部分 它将每秒从许多不同的数据源轮询数据 我在一个单独的类中创建了一个长时间运行的线程 它只是轮询我想要的数据 并且似乎工作正常 我使用的
  • 如何检查字典是否为空?

    我正在尝试检查字典是否为空 但它的行为不正常 它只是跳过并显示ONLINE除了显示消息之外没有任何其他内容 有什么想法吗 def isEmpty self dictionary for element in dictionary if el
  • iPod Touch 上的飞行模式——重新审视

    情况是这样的 我们有一个记录声音的应用程序 如果应用程序在第二代 iPod Touch 上运行且飞行模式关闭 则由于 iPod 的 WIFI 活动 录音中会出现周期性噪音 因此 我想检测我们是否正在第二代 iPod Touch 上运行 我知
  • 如何以另一个用户(la /netonly)身份启动 Internet Explorer 进程?

    我正在尝试从我们的 WPF 应用程序中以另一个用户身份启动 Internet Explorer 以便当我们的用户访问 内部 网站时 他们会通过集成 Windows 身份验证进行静默身份验证 我们不想以其他用户身份启动 iexplore ex
  • Android是如何定义屏幕分辨率的呢?

    在Android中 您可以通过适当命名res目录来为不同的手机属性定义不同的资源 我需要能够支持不同的布局480x800 and 480x854 我想我可以将一组资源存储在layout hdpi v4目录中 另一组资源存储在layout l
  • C:如何比较两个字符串? [复制]

    这个问题在这里已经有答案了 Edit 这是重复的 我已将其标记为重复 参见 问题 为什么 C 语言中 a a 所以我试图根据结构中的字段打印出特定的消息 该字段包含字符串 1 每当我跑步时printf s record fields 2 输
  • 在 Objective-C 方法中引用 BOOL 值

    这是代码的一小部分 interface BOOL isCarryingmallet implementation BOOL isCarryingWeapon return isCarryingMallet int getWeaponDama
  • 在“源/网络”选项卡中复制多个 URL

    是否可以在 Chrome 开发工具的 源 或 网络 选项卡中提取多个资源的 URL 当我想获取某个 URL 时single资源 我可以使用上下文菜单功能来完成复制链接地址 我可以从 网络 选项卡切换到此资源 反之亦然 但如果我需要获取以下
  • 正则表达式 - 从字符串中提取电话号码

    我需要从带有分隔符 波形符 的字符串中提取两个电话号码 棘手的部分是电话号码的格式可能会有所不同 字符串模式保持不变 但电话号码的格式可以是以下三种类型之一 1 4 digit extensions ex 1001 2 10 digit 5
  • Jenkins 持续集成服务器的作业特定 SVN 签出文件夹

    我刚刚设置了一个新的 Jenkins CI 服务器 这是我昨天刚安装的最新版本 我已经完成了几个工作正常的构建 我有几个不同的存储库 它可以从中提取和构建 其中大多数适用于 NET 项目等易于在任何地方构建的项目 因此只需在工作区文件夹中签
  • 带有 GoDaddy 证书的 HTTP SSL - 此服务器的证书链不完整

    一般来说 我从 GoDaddy 获得了 3 个文件 主证书文件 服务器私钥 捆绑文件 通过以下方式在我的 Go 服务器中配置了所有这些文件 cert err tls LoadX509KeyPair myalcoholist pem myal
  • 访问 Struts 2 中的所有用户会话

    我正在使用 JPA 构建 struts 2 应用程序 用户可以多次登录该应用程序 我想 用户能够在网格中查看他的所有会话 并可能突出显示当前会话 并且用户可以选择一个会话并终止它 管理员还应该能够查看所有登录的用户 还可以查看每个登录用户的
  • 如何更改元素的内部文本而不更改其子元素

    我有一个 html 元素 例如 div Change only me div but not me div div 但我只想更改第一个文本并保留子 div 不变 document getElementById el1 innerText c
  • Jquery 自动完成 utf-8 字符区分大小写

    我正在使用 jquery 自动完成插件来搜索一长串名称 它适用于所有拉丁语和英语字符 但对于土耳其语字符我遇到问题 因为搜索将区分大小写 例如 A and a将匹配包含以下内容的所有城市A or a and i不会匹配像这样的城市 stam
  • Flexbox 内的图像高度在 Chrome 中不起作用

    我有一个div using flexbox将其项目居中 里面这个div我有 3 个元素 其中之一是图像 div div div img src alt div div div container1 and container2有自己的身高
  • 尝试遮盖图像周围的圆圈不起作用

    我有一个图像 我试图在周围遮盖一个圆圈 使图像看起来是圆形的 这有点有效 但圆圈在顶部和底部达到一个点 profileImageView layer cornerRadius profileImageView frame size widt
  • Scala 案例类继承

    我有一个基于 Squeryl 的应用程序 我将模型定义为案例类 主要是因为我发现复制方法很方便 我有两个严格相关的模型 字段是相同的 很多操作是共同的 并且要存储在同一个DB表中 But有些行为仅在两种情况之一中有意义 或者在两种情况下都有
  • 使用 mlflow 提供用于评分的自定义 Python 模型

    我使用带有 mlflow 的 ML 软件生成的 Python 代码来读取数据帧 执行一些表操作并输出数据帧 我能够成功运行代码并将新数据帧保存为工件 但是 我无法使用 log model 记录模型 因为它不是我们训练和拟合的 LR 或分类器