没有合适的资源?快使用搜索试试~ 我知道了~
首页Keras 下搭建 CNN 和RNN
Keras 下搭建 CNN 和RNN
需积分: 48 811 浏览量
更新于2023-05-23
评论 1
收藏 188KB DOCX 举报
Keras 是一个兼容 Theano 和 Tensorflow 的神经网络高级包, 用它来组件一个神经网络更加快速, 几条语句就搞定了. 而且广泛的兼容性能使 在 Windows 和 MacOS 或者 Linux 上运行无阻碍。
资源详情
资源评论
资源推荐

Keras 下搭建 CNN 和 RNN
Keras 是一个兼容 Theano 和 Tensorow 的神经网络高
级包, 用它来组件一个神经网络更加快速, 几条语句就搞定了. 而
且广泛的兼容性能使 在 Windows 和 MacOS 或者 Linux 上运
行无阻碍。
对比一下用 Keras 搭建下面几个常用神经网络:
回归,RNN 回归,分类,CNN 分类, RNN 分类, 自编码分类
它们的步骤差不多是一样的:
[导入模块并创建数据],[建立模型],[定义优化器],[激活模型],[训
练模型],[检验模型],[可视化结果]
除了建立模型其它的步骤都大同小异。
模型代码网址:
https://github.com/MorvanZhou/tutorials/tree/master/
kerasTUT
超详细学习视频网址:
https://morvanzhou.github.io/tutorials/machine-
learning/keras/

1. 回归
对一组数据进行拟合,也就是寻求一条回归直线,如下图所示:
代码如下:
# build a neural network from
the 1st layer to the last layer
model = Sequential() model.add(Dense(output_dim=1,
input_dim=1))
代码剖析如下:
(1)用 Sequential 建立 model6
(2)用 model.add 添加神经层,添加的是 Dense 全连接神经
层。
参数有两个,一个是输入数据和输出数据的维度,本代码的例子
中 x 和 y 是一维的。如果需要添加下一个神经层的时候,不用再

定义输入的纬度,因为它默认就把前一层的输出作为当前层的输
入。在这个例子里,只需要一层就够了。
2. RNN 回归
用 sin 函数预测 cos 数据,就是 cos 数据可以用正弦函数来进行拟合。如
下图所示:
会用到 LSTM 这个神经网络。
代码如下:
model = Sequential()
# build a LSTM RNN
model.add(LSTM( 6 6

batch_input_shape=(BATCH_SIZE, TIME_STEPS,
INPUT_SIZE),
# Or: input_dim=INPUT_SIZE,
input_length=TIME_STEPS, 6 6output_dim=CELL_SIZE, 6
6return_sequences=True, # True: output at all steps.
False: output as last step. 6 6stateful=True, 6 6 6 6 6 6
# True: the ?nal state of batch1 is feed into the initial
state of batch2))
# add output
layermodel.add(TimeDistributed(Dense(OUTPUT_SIZE)))
adam = Adam(LR)
model.compile(optimizer=adam, 6 6 6 6 6 6 6
loss='mse',)
代码剖析如下:
(1)搭建模型,仍然用 Sequential。
(2)然后加入 LSTM 神经层。
batch_input_shape 就是在后面处理批量的训练数据时它的大
小是多少,有多少个时间点,每个时间点有多少个数据。
剩余15页未读,继续阅读



















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0