deep-learning - 添加我自己的密集层后,vgg16 模型的可训练参数发生了变化
问题描述
vgg16_model = tf.keras.applications.vgg16.VGG16()
模型=顺序()
对于 vgg16_model.layers[:-1] 中的层:
model.add(layer)
model.summary() #最后一个dense layer被移除到现在
对于 model.layers 中的层:
layer.trainable=False #for transfer learning i have freeze the layers
model.add(密集(2,激活='softmax'))
model.summary() #现在当我添加密集层时,模型的可训练参数会改变
解决方案
在第一步中,您生成一个具有 134,260,554 个参数的网络。
这些参数都设置为不可训练。然后在模型中添加一个包含两个神经元的层。这会为模型添加 2*4096 + 2 = 8194(权重 + 偏差)参数。这些参数是可训练的。这就是摘要显示的内容。
推荐阅读
- c++ - C ++读取文件搜索该文件中的内容
- r - 如何从需要在 r 中交互的网页中抓取文本
- vba - Excel VBA匹配特定列中的所有单元格
- ruby-on-rails - bundle exec rails 生成不工作
- javascript - jsPDF保存到服务器端
- tensorflow - 低准确率 - 迁移学习 + 瓶颈 keras-tensorflow (resnet50)
- javascript - Javascript 样式显示无法正常工作
- java - 返回的节点不是 DOM 元素
- java-7 - 可以暂时覆盖equals方法吗?
- machine-learning - LSTM,模式和噪声间隙