tensorflow - 如何使用 CNN 层应用高级激活层?
问题描述
我尝试将 ReLU 和 PReLU 与 CNN 层一起应用来比较结果,并尝试了以下代码:
使用 ReLU:
model.add(Conv1D(filters, kernel_size, activation='relu'))
使用 PReLU:
model.add(Conv1D(filters, kernel_size))
model.add(PReLU())
Conv1D 层是否使用 PReLU 作为激活函数?
我怀疑是因为我打印了模型摘要,它显示了具有不同数量参数的 CNN 和 PReLU 之间的单独层,同时具有 ReLU 函数的 CNN 层它们在同一层中。
如果我使用了错误的代码,我该如何更正它?
解决方案
根据keras 文档
这将是等效的
model.add(Dense(64))
model.add(Activation('tanh'))
对这个
model.add(Dense(64, activation='tanh'))
不知道为什么一定要用高级激活函数作为层,而 PReLu 可以和 CNN 一起使用,完全没有问题。
推荐阅读
- javascript - 如何在不丢失输入数据的情况下更新 url
- r - 使用 r 中的 rnorm 函数为变量赋值
- python - 在大文本文件 python 上查找
- pandas - 使用 groupby() 从后面进行累积乘法
- python - 为什么以不同的方式生成数组会导致代码不同部分的大量加速?
- javascript - ES8 和 ES9 中的 jshint 指的是什么?
- r - 错误 1:从 JavaScript 动态生成 Web 抓取时下标越界
- openssl - 在 OpenSSL 命令行工具中为自定义扩展创建自己的 ASN.1 模块
- jquery - 将导航栏品牌和链接与 Bootstrap 4 中的页面内容对齐
- node.js - 如何通过 nodejs express 应用程序调用 API 获取 png 图像