如何理解黑色素瘤预测代码中ResNet50的model.predict(img)作用?
关于Keras ResNet50中
model.predict(img)用作图像嵌入的解释 核心原因在于你使用的是设置了include_top=False的ResNet50模型,这个参数直接改变了模型的输出性质:
- 当
include_top=True时,ResNet50保留了原有的顶层全连接分类层,此时model.predict()会输出对应分类任务的概率分布(比如ImageNet的1000类预测概率),这就是你查到的“输出预测结果”的常规场景。 - 当
include_top=False时,模型被移除了顶层分类层,只保留了前面的卷积、池化等特征提取模块。此时调用model.predict(img),输出的不再是分类结果,而是输入图像经过特征提取后的高维特征向量(图像嵌入)——这个向量是图像的抽象特征表示,形状通常是(batch_size, feature_dim)(比如经过全局平均池化后得到的2048维向量,对应ResNet50的特征维度)。
教授的代码采用的是迁移学习思路:用预训练的ResNet50作为特征提取器,把原始图像转化为简洁且具有代表性的高维特征,再将这些特征输入给LogisticRegression这类轻量分类器,完成黑色素瘤预测的分类任务。
内容的提问来源于stack exchange,提问作者adrenaline245
相关产品推荐
相关产品推荐

