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

检查ResNet50实例时触发TypeError,求问题原因及解决方法

问题分析与解决

你的两种写法都存在错误,导致触发TypeError,具体原因和修正方案如下:

错误原因拆解

  • 写法2的致命错误:keras.applications.ResNet50()是调用类创建了一个模型实例,但isinstance()的第二个参数必须是类型(如类本身)、类型元组或联合类型,不能传入实例对象,这直接违反了函数的参数要求。
  • 写法1的潜在问题:如果isinstance(model, ResNet50)也报错,说明你代码中的ResNet50变量并没有指向keras.applications.ResNet50这个类本身——可能是导入语句错误,或是后续代码把ResNet50变量覆盖成了实例对象。

正确写法

确保isinstance()的第二个参数传入类本身即可,有两种可靠方式:

  1. 先导入类再检查:
from keras.applications import ResNet50
model = ResNet50(weights='imagenet', include_top=False, pooling="avg")
# 正确检查
isinstance(model, ResNet50)
  1. 使用类的完整路径直接检查:
model = ResNet50(weights='imagenet', include_top=False, pooling="avg")
# 正确检查(注意不要加括号)
isinstance(model, keras.applications.ResNet50)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 08:07:49