rnn循环神经网络 python,keras搭建神经网络
这篇文章主要为大家介绍了大蟒神经网络使用克拉斯构建RNN网络训练,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪溴
目录
Keras中构建RNN的重要函数1、简单RNN2、模型。训练_批量全部代码
Keras中构建RNN的重要函数
1、SimpleRNN
简单神经网络用于在克拉斯中构建普通的简单RNN层,在使用前需要进口。
从keras .层导入简单神经网络
在实际使用时,需要用到几个参数。
model.add(
简单网络(
batch_input_shape=(BATCH_SIZE,TIME_STEPS,INPUT_SIZE),
输出尺寸=单元尺寸,
)
)
其中,批处理_输入_形状代表RNN输入数据的形状,形状的内容分别是每一次训练使用的批处理,时间步长表示这个RNN按顺序输入的时间点的数量,输入大小表示每一个时间点的输入数据大小。
单元格_大小代表训练每一个时间点的神经元数量。
2、model.train_on_batch
与之前的训练美国有线电视新闻网网络和普通分类网络不同,RNN网络在建立时就规定了批处理输入形状,所以训练的时候也需要一定量一定量的传入训练数据。
模型。批量训练在使用前需要对数据进行处理。获取指定一批大小的训练集。
X _ BATCH=X _ train[index _ start : index _ start BATCH _ SIZE,]
Y _ BATCH=Y _ train[index _ start : index _ start BATCH _ SIZE,]
索引_开始=批处理大小
具体训练过程如下:
对于范围(500):内的我
X _ BATCH=X _ train[index _ start : index _ start BATCH _ SIZE,]
Y _ BATCH=Y _ train[index _ start : index _ start BATCH _ SIZE,]
索引_开始=批处理大小
成本=model.train_on_batch(X_batch,Y_batch)
如果index _ start=X _ train。形状[0]:
index_start=0
如果i0==0:
## acc
成本,准确性=模型。评估(X _测试,Y _测试,批量大小=50)
## W,b=model.layers[0].获取权重()
打印("精确度:",精确度)
x=X_test[1].整形(1,28,28)
全部代码
这是一个RNN神经网络的例子,用于识别手写体。
将数组作为铭牌导入
从keras.models导入序列
从keras .层导入SimpleRNN,激活,密集##全连接层
从keras.datasets导入手写数字识别
从keras.utils导入np_utils
优化程序导入圣经》和《古兰经》传统中)亚当(人类第一人的名字
时间步长=28
INPUT_SIZE=28
批处理大小=50
index_start=0
OUTPUT_SIZE=10
单元格大小=75
LR=1e-3
(X_train,Y_train),(X_test,Y_test)=mnist.load_data()
X火车=X火车。形状(-1,28,28)/255
X _测试=X _测试。形状(-1,28,28)/255
Y _ train=NP _ utils。to _ categorial(Y _ train,num_classes=10)
Y _ test=NP _ utils。to _ categorial(Y _ test,num_classes=10)
模型=顺序()
# conv1
model.add(
简单网络(
batch_input_shape=(BATCH_SIZE,TIME_STEPS,INPUT_SIZE),
输出尺寸=单元尺寸,
)
)
model.add(Dense(OUTPUT_SIZE))
model.add(激活( softmax ))
亚当=亚当(LR)
##编译
模型。编译(loss= category _ cross entropy ,optimizer=adam,metrics=[accuracy])
#塔林
对于范围(500):内的我
X _ BATCH=X _ train[index _ start : index _ start BATCH _ SIZE,]
Y _ BATCH=Y _ train[index _ start : index _ start BATCH _ SIZE,]
索引_开始=批处理大小
成本=model.train_on_batch(X_batch,Y_batch)
如果index _ start=X _ train。形状[0]:
index_start=0
如果i0==0:
## acc
成本,准确性=模型。评估(X _测试,Y _测试,批量大小=50)
## W,b=model.layers[0].获取权重()
打印("精确度:",精确度)
实验结果为:
10000/10000[==============================]-1s 147 us/步
精确度58680 .58686868686
…………………………
10000/10000[==============================]-1s 112 us/步
准确度58660 .58686868686
10000/10000[==============================]-1s 109 us/步
准确度58680 .58686868686
10000/10000[==============================]-1s 114 us/步
精确度58680 .58686868686
10000/10000[==============================]-1s 112 us/步
精确度58680 . 58686868686
10000/10000[==============================]-1s 113 us/步
准确度58680 . 58686868686
10000/10000[==============================]-1s 116 us/步
10000/10000[==============================]-1s 112 us/步
准确度58680 . 58686868686
10000/10000[==============================]-1s 111 us/步
精确度58680 . 58686868686
10000/10000[==============================]-1s 114 us/步
准确度58680 . 58686868686
10000/10000[==============================]-1s 115 us/步
准确度58680 . 58686868686
以上是利用Keras通过python神经网络构建RNN训练的详细内容。更多关于Keras构建RNN培训的信息,请关注风行IT软件开发工作室的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。