当前位置: 首页 > article >正文

查看 tensorflow hub 模型文件信息

有时候,工程需要,我们可以使用他人训练好的模型进行推理。

方法1,在 你配置好的 tf 环境中,运行下述指令,会输出模型相关信息

saved_model_cli show --dir /home/ncut/code_garden/models_downloaded/mnist-tensorflow1-logits-v1 --all

这是我的模型信息:

或者使用 python脚本输出信息

import tensorflow as tf

# 替换成你的模型路径
model_path = "your/saved_model/path"

# 加载模型
loaded_model = tf.saved_model.load(model_path)

# 打印可用方法
print("\n=== 可用方法 ===")
print("可用的签名方法:", list(loaded_model.signatures.keys()))

# 获取默认的serving签名(通常是最重要的)
serving_fn = loaded_model.signatures["serving_default"]
print("\n=== 默认serving签名的输入/输出 ===")

# 打印输入信息
print("\n输入信息:")
for input_tensor in serving_fn.structured_input_signature[1].values():
    print(f"名称: {input_tensor.name}")
    print(f"数据类型: {input_tensor.dtype}")
    print(f"形状: {input_tensor.shape}")
    print("----------------------")

# 打印输出信息
print("\n输出信息:")
for output_tensor in serving_fn.structured_outputs.values():
    print(f"名称: {output_tensor.name}")
    print(f"数据类型: {output_tensor.dtype}")
    print(f"形状: {output_tensor.shape}")
    print("----------------------")

# 检查是否有其他可用方法
print("\n=== 其他可用方法检查 ===")
if hasattr(loaded_model, 'train'):
    print("检测到训练方法: model.train()")
else:
    print("没有找到显式的训练方法")

# 如果是Keras模型,尝试显示summary
try:
    print("\n=== Keras模型信息 ===")
    loaded_model.summary()
except AttributeError:
    print("\n该模型不是Keras模型或没有summary方法")

# 打印所有签名详细信息
print("\n=== 所有签名详细信息 ===")
for name, signature in loaded_model.signatures.items():
    print(f"\n签名名称: {name}")
    print("输入:", signature.inputs)
    print("输出:", signature.outputs)

还存在第三种方法,如果你模型的作者公布了文档,可以阅读文档,里面会有对模型的介绍说明。比如 tf hub 网站中的 BlazeFace 模型。

原文地址:https://blog.csdn.net/qq_64338302/article/details/146208201
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/586953.html

相关文章:

  • 深度学习大模型补充知识点
  • JAVA面试_进阶部分_dubbo负载均衡策略
  • 在1688平台上如何实现铺货和上传商品的自动化?
  • 浅谈AI落地之-加速训练
  • 模型蒸馏系列——开源项目
  • Mininet树形拓扑解析
  • 条件运算符
  • 洛谷 P1357 花园
  • c语言zixue
  • Java基础编程练习第31题-String类和StringBuffer类
  • 【八股文】ArrayList和LinkedList的区别
  • 【Python 语法】排序算法
  • 个人博客系统测试报告
  • C++程序设计语言笔记——抽象机制:模板
  • eclipse-mosquitt之docker部署安装与使用
  • 现在有分段、句子数量可能不一致的中英文文本,如何用python实现中英文对照翻译(即每行英文对应相应的中文)
  • MySQL事务及索引复习笔记
  • Qt从入门到入土(十) -数据库操作--SQLITE
  • JAVA EE(10)——线程安全——synchronized JUC(java.util.concurrent) 的常见类 线程安全的集合类
  • 机器学习编译器(二)