python - 如何删除 Inception 模型的最后一层
问题描述
嗨,我关注了 Github 上关于删除预训练模型的最后一层的论坛。但是它对我不起作用;也许我做错了什么
我正在关注这个,这是我的代码。我以为我要做model.layers[-2].output
的就是,但它告诉我AttributeError: 'Tensor' object has no attribute 'summary'
import tensorflow as tf
import tensorflow.keras as keras
import tensorflow.keras.backend as K
import numpy as np
from tensorflow.keras.layers import Dense, Input, Layer
from tensorflow.keras.models import Model
from tensorflow.keras.applications.inception_v3 import InceptionV3
model = InceptionV3()
print(model.summary())
modele = model.layers[-2].output
print(modele.summary())
解决方案
modele 变量只是一层。你所要做的:
model = InceptionV3()
print(model.summary())
output = model.layers[-2].output
modele = Model(inputs = model.input, outputs = output)
print(modele.summary())
推荐阅读
- go - 引用一个指向结构的指针并克隆它
- java - 通过 id 投射查找视图是多余的
- javascript - 如何在javascript中解析字符串语句?
- facebook - 如何在不使用命令行的情况下强制我的所有 facebook 令牌过期?
- android - 编译项目给出失败的处理清单
- php - Wordpress 入队样式依赖加载乱序
- php - 首先和最后替换空间
- python - 使用变量索引 Pandas DataFrame
- ios - 由于未捕获的异常“NSRangeException”而终止应用程序。libc++abi.dylib:以 NSException 类型的未捕获异常终止
- python - 如何使用 df.update 更新 pandas 中另一个系列的某些行