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

无法加载TensorFlow保存模型:请求解决Kaggle视网膜CNN模型加载问题

模型加载问题解决方案

一、解决full_retina_model.h5加载报错bad marshal data

可能原因及处理方式

  • 文件损坏:重新下载模型文件,确认文件大小与原资源一致,避免下载中断导致文件不完整。
  • 版本兼容问题:原模型保存时使用的TensorFlow/Keras版本与本地环境差异过大。
    1. 查看原Kaggle项目的环境版本,调整本地环境匹配;
    2. 尝试跳过编译加载(若模型包含自定义层,需先定义对应层类):
import tensorflow as tf
from tensorflow.keras.models import load_model

model = load_model('./full_retina_model.h5', compile=False)

二、解决retina_weights.best.hdf5加载报错

权重文件仅保存模型参数,未包含网络结构,必须先构建与原模型完全一致的结构,再加载权重。原模型基于InceptionV3构建,复现结构后加载权重的代码如下:

import tensorflow as tf
from tensorflow.keras.applications import InceptionV3
from tensorflow.keras.layers import Dense, GlobalAveragePooling2D
from tensorflow.keras.models import Model

# 复现原模型结构
base_model = InceptionV3(weights='imagenet', include_top=False, input_shape=(299, 299, 3))
x = base_model.output
x = GlobalAveragePooling2D()(x)
x = Dense(1024, activation='relu')(x)
# 视网膜病变为5分类任务(等级0-4)
predictions = Dense(5, activation='softmax')(x)

model = Model(inputs=base_model.input, outputs=predictions)

# 加载权重
model.load_weights('./retina_weights.best.hdf5')

若原模型结构有调整,需从原Kaggle notebook中复制完整的模型构建代码,确保结构完全匹配。

内容的提问来源于stack exchange,提问作者Sathvik K S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 03:05:33