python - 定义 CNN 模型的架构
问题描述
您好,我现在正在使用 Keras 训练 CNN,但我需要定义模型,添加不同的层来转换我的 80x60 图像。我已经编写了下一件事:
model = Sequential()
model.add(Conv2D(5, kernel_size=(5, 5),activation='linear',input_shape=(80,60,1),padding='same'))
model.add(LeakyReLU(alpha=0.1))
model.add(MaxPooling2D((2, 2),padding='same'))
model.add(Conv2D(5, (5, 5), activation='linear',padding='same'))
model.add(LeakyReLU(alpha=0.1))
model.add(MaxPooling2D(pool_size=(2, 2),padding='same'))
model.add(Conv2D(5, (5, 5), activation='linear',padding='same'))
model.add(LeakyReLU(alpha=0.1))
model.add(MaxPooling2D(pool_size=(2, 2),padding='same'))
model.add(Flatten())
model.add(Dense(100, activation='linear'))
model.add(Dense(1, activation='linear'))
这是我一直在跟踪的图像来编码它。我的代码正确吗? CNN 层
解决方案
您的模型图: 此 模型的正确代码是:
model = Sequential()
model.add(Conv2D(5, kernel_size=(5, 5),activation='relu',input_shape=(80,60,1),padding='same'))
model.add(MaxPooling2D((2, 2),padding='same'))
model.add(Conv2D(5, (5, 5), activation='relu',padding='same'))
model.add(MaxPooling2D(pool_size=(2, 2),padding='same'))
model.add(Conv2D(5, (5, 5), activation='relu',padding='same'))
model.add(MaxPooling2D(pool_size=(2, 2),padding='same'))
model.add(Conv2D(5, (5, 5), activation='relu',padding='same'))
model.add(Flatten())
model.add(Dense(100, activation='linear'))
model.add(Dense(1, activation='linear'))
图像显示了ReLU
激活功能,但您使用LeakyReLU
了,我更正了它。
而且,最后会有另一层Conv2D
,你错过了。
推荐阅读
- python - Python Matplotlib LEGEND 自定义
- java - 具有动态匹配器和角色的 Spring Boot 安全配置
- c# - 一种从输入数组创建位图的更快方法,而不是使用 for 循环和 SetPixel()
- python - 增加帧数会减少opencv videowriter中视频的持续时间?
- python - 我需要一个 SQL 表来更新 Unit #,而不是在检测到 Unit 已存在时创建新条目
- r - 根据特定条件从两列制作频率表
- typescript-decorator - Angular 中的自定义类装饰器 - 对上述代码的理解
- python - 从网页中提取隐藏的电子邮件
- php - php重定向到另一个页面显示错误的结果
- python - 如何根据我替换的单词数创建一个计数器?