python - tf.keras.layers.pop() 不起作用,但 tf.keras._layers.pop() 起作用
问题描述
我想弹出模型的最后一层。所以我使用tf.keras.layers.pop()
,但它不起作用。
base_model.summary()
base_model.layers.pop()
base_model.summary()
当我使用tf.keras._layers.pop()
时,它可以工作。
base_model.summary()
base_model._layers.pop()
base_model.summary()
我没有找到关于这种用法的文档。有人可以帮忙解释一下吗?
解决方案
我同意这令人困惑。原因是model.layers
返回图层列表的浅表副本,因此:
tldr 不用于model.layers.pop()
删除最后一层。相反,我们应该创建一个新模型,除了最后一层。也许是这样的:
new_model = tf.keras.models.Sequential(base_model.layers[:-1])
查看此github 问题以获取更多详细信息
推荐阅读
- python - 如何从 DataFrame,Python-3 中找到前 N 个最小值
- java - 需要更换
你是?[xxxrecipientFirstNamexxx]
和你是?{recipientFirstName}
- javascript - 单个字符串到数组 JavaScript
- multithreading - 多核多线程能否避免缓存未命中
- java - Spring Boot 插件需要 Gradle 4.10 或更高版本。当前版本是 Gradle 4.1
- java-8 - 杰克逊 - LocalDateTime 格式
- python - open3D中的RGB颜色问题
- javascript - 如何解决 TrackingPage.html:24 ERROR TypeError: Cannot read property 'unsubscribe' of undefined?
- c++ - 当您通过多个进程映射同一个大文件时会发生什么?
- javascript - 比较两个数组并将缺失元素加 0