使用自定义签名定义保存 TF2 keras 模型

2023-11-27

我有一个 Keras(顺序)模型,可以使用 Tensorflow 1.13 中的自定义签名定义进行保存,如下所示:

from tensorflow.saved_model.utils import build_tensor_info
from tensorflow.saved_model.signature_def_utils import predict_signature_def, build_signature_def

model = Sequential() // with some layers

builder = tf.saved_model.builder.SavedModelBuilder(export_path)

score_signature = predict_signature_def(
    inputs={'waveform': model.input},
    outputs={'scores': model.output})

metadata = build_signature_def(
    outputs={'other_variable': build_tensor_info(tf.constant(1234, dtype=tf.int64))})

with tf.Session() as sess:
  sess.run(tf.global_variables_initializer())
  builder.add_meta_graph_and_variables(
      sess=sess,
      tags=[tf.saved_model.tag_constants.SERVING],
      signature_def_map={'score': score_signature, 'metadata': metadata})
  builder.save()

将模型迁移到 TF2 keras 很酷:),但我不知道如何使用与上面相同的签名保存模型。我应该使用新的吗tf.saved_model.save() or tf.keras.experimental.export_saved_model()?上面的代码在TF2中应该怎么写呢?

关键要求:

  • 该模型具有分数签名和元数据签名
  • 元数据签名包含 1 个或多个常量

解决方案是创建一个tf.Module每个签名定义都有函数:

class MyModule(tf.Module):
  def __init__(self, model, other_variable):
    self.model = model
    self._other_variable = other_variable

  @tf.function(input_signature=[tf.TensorSpec(shape=(None, None, 1), dtype=tf.float32)])
  def score(self, waveform):
    result = self.model(waveform)
    return { "scores": results }

  @tf.function(input_signature=[])
  def metadata(self):
    return { "other_variable": self._other_variable }

然后保存模块(不是模型):

module = MyModule(model, 1234)
tf.saved_model.save(module, export_path, signatures={ "score": module.score, "metadata": module.metadata })

在 TF2 上使用 Keras 模型进行测试。

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

使用自定义签名定义保存 TF2 keras 模型 的相关文章

  • 如何在Python中增加文件名

    我正在尝试保存大量需要分成不同文件的数据 如下所示 数据 1 dat 数据 2 dat 数据 3 dat 数据 4 dat 我如何在Python中实现这个 from itertools import count filename data
  • 如何在 python 3.x 中使用 string.replace()

    The string replace 在 python 3 x 上已弃用 这样做的新方法是什么 与 2 x 一样 使用str replace https docs python org library stdtypes html str r
  • 从 Robot Framework 访问 python 类的变量

    我有一个 python 文件 例如 Animals py 在里面我定义了 3 个不同的类 如下所示 Animals py class Animal listAnimal dog cat lt def init self Animal con
  • Python极坐标图:绘制与角度对应的值

    我正在尝试绘制以不同角度记录的传感器数据 import pandas as pd import matplotlib pyplot as plt create dataframe each row contains an angle and
  • 使用 pythonbrew 编译 Python 3.2 和 2.7 时出现问题

    我正在尝试使用构建多个版本的 python蟒蛇酿造 http pypi python org pypi pythonbrew 0 7 3 但我遇到了一些测试失败 这是在运行的虚拟机上 Ubuntu 8 04 32 位 当我使用时会发生这种情
  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • OpenCV Python cv2.mixChannels()

    我试图将其从 C 转换为 Python 但它给出了不同的色调结果 In C Transform it to HSV cvtColor src hsv CV BGR2HSV Use only the Hue value hue create
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 使用 matplotlib 绘制时间序列数据并仅在年初显示年份

    rcParams date autoformatter month b n Y 我正在使用 matpltolib 来绘制时间序列 如果我按上述方式设置 rcParams 则生成的图会在每个刻度处标记月份名称和年份 我怎样才能将其设置为仅在每
  • 如何使用 Ansible playbook 中的 service_facts 模块检查服务是否存在且未安装在服务器中?

    我用过service facts检查服务是否正在运行并启用 在某些服务器中 未安装特定的软件包 现在 我如何知道这个特定的软件包没有安装在该特定的服务器上service facts module 在 Ansible 剧本中 它显示以下错误
  • 是否可以忽略一行的pyright检查?

    我需要忽略一行的pyright 检查 有什么特别的评论吗 def create slog group SLogGroup data Optional dict None SLog insert one SLog group group da
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • 如何在Python中对类别进行加权随机抽样

    给定一个元组列表 其中每个元组都包含一个概率和一个项目 我想根据其概率对项目进行采样 例如 给出列表 3 a 4 b 3 c 我想在 40 的时间内对 b 进行采样 在 python 中执行此操作的规范方法是什么 我查看了 random 模
  • Fabric env.roledefs 未按预期运行

    On the 面料网站 http docs fabfile org en 1 10 usage execution html 给出这个例子 from fabric api import env env roledefs web hosts
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 对年龄列进行分组/分类

    我有一个数据框说df有一个柱子 Ages gt gt gt df Age 0 22 1 38 2 26 3 35 4 35 5 1 6 54 我想对这个年龄段进行分组并创建一个像这样的新专栏 If age gt 0 age lt 2 the
  • 解释 Python 中的数字范围

    在 Pylons Web 应用程序中 我需要获取一个字符串 例如 关于如何做到这一点有什么建议吗 我是 Python 新手 我还没有找到任何可以帮助解决此类问题的东西 该列表将是 1 2 3 45 46 48 49 50 51 77 使用
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from

随机推荐

  • HTML 默认链接颜色

    我想用 CSS 将某些元素的颜色设置为默认链接颜色 a href That color a is the same as span style color link that span 有办法做到这一点吗 本网站不会更改默认浏览器的链接颜色
  • 将 one-hot 编码数据帧列转换为一列

    在 pandas 数据框中 one hot 编码向量以列的形式出现 即 Rows A B C D E 0 0 0 0 1 0 1 0 0 1 0 0 2 0 1 0 0 0 3 0 0 0 1 0 4 1 0 0 0 0 4 0 0 0 0
  • 使用回形针调整默认图像大小时遇到​​问题

    我希望能够调整与回形针一起使用的默认个人资料图像的大小 这是我的模型中的代码 has attached file photo styles gt tiny gt 25x25 thumbnail gt 100x100 small gt 150
  • 使用 phpmailer 发送异步电子邮件

    是否可以使用 phpmailer 发送异步电子邮件 普通邮件发送代码片段如下 mail gt Send PHP 等待 Send 返回结果 然后再继续 是否可以让 phpmailer 立即返回结果 而无需等待真正的电子邮件发送例程完成 201
  • PreparedStatement很慢,但是手动查询很快

    我有一个来自框架的准备好的声明 如下所示 SELECT OH ORDER ID MAX OS STATUS DATETIME FROM public ORDER HEADER OH public ORDER STATUS OS WHERE
  • 在 Eclipse 中附加 jar 的源

    我添加了一个Student jar进入我的Build Path在我的日食中这样 右键单击项目 gt BuildPath gt 配置构建 路径 gt 库 gt 添加外部罐子 有一个类名为StudentTest in Student jar文件
  • 从实体框架连接字符串创建 DataContext?

    我试图在我的代码中进行此调用 string conn ConfigurationManager ConnectionStrings MyDBEntities ConnectionString DataContext context new
  • HTML DTD - 有什么意义? [复制]

    这个问题在这里已经有答案了 可能的重复 html 中有哪些不同的文档类型以及它们的含义是什么 由于对 Web 开发的某些方面相当缺乏经验 我总是更关注后端而不是前端 任何人都可以告诉我他们的想法 我是否应该担心网页开头所做的 DOCTYPE
  • 通过网页抓取提取 JavaScript 变量值

    对于一个公司项目 我需要使用 PHP 和 JavaScript 包括 jQuery 创建一个网络抓取应用程序 该应用程序将从客户网站的每个页面中提取特定数据 抓取应用程序需要为每个页面获取两种类型的数据 1 确定是否存在具有特定 ID 的某
  • 如何通过 AWS API Gateway 将多个 Cognito 用户池用于单个端点?

    我最近实现了一个 API 网关作为具有单个代理端点的代理 我使用 Cognito 作为授权机制 只要我只有一个用户池 一切都很好 我想要实现的是能够允许来自不同用户池的用户 但在AWS控制台中我似乎只能选择一种Cognito机制 而该机制只
  • Google Datastore 综合索引问题

    我遇到以下异常 Exception in thread main com google cloud datastore DatastoreException no matching index found recommended index
  • 获取所有维基百科信息框模板和使用它们的所有页面

    给定一个维基百科页面 例如维基百科 堆栈溢出通常会有信息框 主要位于页面顶部的右侧 截图示例 DBPedia 将所有这些属性列为 RDF 三元组 您可以在以下位置查看示例DBPedia 堆栈溢出 在那里你可以看到该房产dbpprop wik
  • asp.net core razor页面支持删除和放置请求

    最近 我读到有关 asp net core razor 页面中的请求处理的内容 它说它支持head使用约定的请求 public void OnHead 它工作得很好 然后我也尝试使用相同的约定进行删除 public void OnDelet
  • 删除尾部斜杠

    我想处理没有尾部斜杠的页面 所以现在我希望带有尾部斜杠的 URL 重定向 使用 htaccess 到不带尾部斜杠的相同 URL 我有两个 htaccess 文件
  • 错误:未处理的异常:'package:flutter/src/widgets/navigator.dart':断言失败:第 2845 行 pos 18:'!navigator._debugLocked':不是 true [关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我面临一个问题Unhandled Exception package flutter src widgets navigator dart Failed assertion line 28
  • 替换Python中字符串的一部分?

    我使用正则表达式从网页获取字符串 部分字符串可能包含我想用其他内容替换的内容 怎么可能做到这一点 我的代码是这样的 例如 stuff Big and small if stuff find and 1 make stuff Big smal
  • 主题:忙等待 - 空 While 循环 [重复]

    这个问题在这里已经有答案了 在大学的课程中 我们了解到Threads并使用 忙等待 方法作为示例Car等待在一个TrafficLight 对于此任务 我们构建三个类 TrafficLight implements Runnable Car
  • 如何在一个会话中发送多封电子邮件?

    我想要向不同的收件人发送数千封不同的电子邮件 并且想要打开与我的 SMTP 的连接并保留它 我希望这比重新打开 ervy 邮件的连接更快 我想使用 Apache Commons Email 但如果需要的话可以回退到 Java Mail AP
  • python-vlc 不会启动播放器

    好的 开始吧 我正在尝试播放在线视频 我得到了网址 如下所示 http fsi stanford edu sites default files video 4 mp4它不是我将在我的应用程序中使用的东西 但它只是一个示例文件 阅读 pyt
  • 使用自定义签名定义保存 TF2 keras 模型

    我有一个 Keras 顺序 模型 可以使用 Tensorflow 1 13 中的自定义签名定义进行保存 如下所示 from tensorflow saved model utils import build tensor info from