You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计TensorFlow Hub加载的目标检测模型的参数数量

方案可行性说明

将hub.KerasLayer嵌入tf.keras.Sequential构建的模型中,完全可以实现调用summary()查看参数的需求,你之前第二种方法返回空权重列表,是因为KerasLayer未完成初始化:没有指定输入形状、也没有传入实际输入的情况下,层的权重不会被加载。

具体实现代码

import tensorflow as tf
import tensorflow_hub as hub

# 构建Sequential模型
model = tf.keras.Sequential([
    # 需指定input_shape匹配模型要求的输入尺寸,ssd_mobilenet_v2要求输入为[batch, 320, 320, 3]的uint8张量
    hub.KerasLayer("https://tfhub.dev/tensorflow/ssd_mobilenet_v2/2", input_shape=(320, 320, 3), dtype=tf.uint8)
])

# 直接调用summary即可查看参数统计
model.summary()

# 如需单独统计权重数量/总参数量,可调用以下代码
print("权重张量个数:", len(model.weights))
total_params = sum(tf.size(w).numpy() for w in model.weights)
print("总参数量:", total_params)

原有方法的优化补充

你第一种方法获取的是权重张量的个数,不是总参数量,每个张量内部包含多个参数值,可直接通过以下代码计算总参数量,结果和Kerassummary()输出一致:

hub_model = hub.load("https://tfhub.dev/tensorflow/ssd_mobilenet_v2/2")
variables = hub_model.signatures['serving_default'].variables
total_params = sum(tf.size(var).numpy() for var in variables)
print("总参数量:", total_params)

内容的提问来源于stack exchange,提问作者Davide Brattelli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:54:05