Tensorflow学习与应用四

来源:互联网 发布:dns 默认端口 编辑:程序博客网 时间:2024/06/05 05:19

总结一下今天的学习过程

1,又一次理解了CNN的基本原理:卷积层操作、池化层操作

传统的神经网络缺点:权值太多,计算量太大;需要大量的样本进行训练

CNN通过感受野和权值共享(局部映射神经元)减少了神经网络需要训练的参数

卷积核、卷积窗口、特征图、滤波器、采样

池化层的三种操作:max-pooling、mean-pooling、随机池化

same padding

valid padding

2,理解RNN(循环神经网络、递归神经网络)的基本原理,与BP神经网络的区别为有反馈回路,同样也有梯度消失的问题

加入LSTM(long short term memory)防止梯度消失

在自然语言、语音等有很大的前景


简单来说今天就抄了两个代码

卷积神经网络应用于mnist数据集分类

感觉:Dropout 率 0.8左右,训练次数30左右

递归神经网络lstm-RNN-mnist数据集

第二个有点不顺利

#注意:

#不然会报lstm_cell变量已存在
#ValueError: Variable rnn/basic_lstm_cell/kernel already exists, disallowed. Did you mean to set reuse=True in VarScope? Originally defined at:
tf.reset_default_graph()

#注意:
    #tensorflow版本低于12时,加上core_rnn_cell函数
    #lstm_cell = tf.contrib.rnn.core_rnn_cell.BasicLSTMCell(lstm_size)
    #tensorflow版本为12时,省去core_rnn_cell函数
    lstm_cell = tf.contrib.rnn.BasicLSTMCell(lstm_size)

平静的一天 明天加油

原创粉丝点击