Tensorflow学习笔记
  • Introduction
  • Tensorflow基础框架
    • 处理结构
    • 例子2
    • Session 会话控制
    • Variable 变量
    • Placeholder 传入值
    • 激励函数
  • 建造第一个神经网络
    • 添加层 def add_layer()
    • 建造神经网络
    • 结果可视化
    • Optimizer
    • Daterset
  • 可视化好助手Tensorboard
    • Tensorboard可视化好帮手1
    • Tensorboard 可视化好帮手 2
  • 高阶内容
    • Classification 分类学习
    • Dropout 解决 overfitting
    • CNN 卷积神经网络 1
    • CNN 卷积神经网络 2
    • Saver 保存读取
    • RNN LSTM 循环神经网络 (分类例子)
    • RNN LSTM (回归例子)
    • RNN LSTM (回归例子可视化)
    • 自编码Autoencoder(非监督学习)
    • scope 命名方法
    • Batch Normalization 批标准化
    • 用 Tensorflow 可视化梯度下降
Powered by GitBook
On this page
  • 定义卷积层的 weight bias
  • 定义 pooling

Was this helpful?

  1. 高阶内容

CNN 卷积神经网络 1

定义卷积层的 weight bias

mnist=input_data.read_data_sets('MNIST_data',one_hot=true)

输入shape,返回变量的参数。

tf.truncted_normal产生随机变量来进行初始化:

def weight_variable(shape): 
    inital=tf.truncted_normal(shape,stddev=0.1)
    return tf.Variable(initial)
def bias_variable(shape): 
    initial=tf.constant(0.1,shape=shape) 
    return tf.Variable(initial)

定义卷积

tf.nn.conv2d函数是tensoflow里面的二维的卷积函数,x是图片的所有参数,W是此卷积层的权重

步长strides的值:

strides[0]和strides[3]的两个1是默认值,中间两个1代表padding时在x方向运动一步,y方向运动一步

padding采用的方式是SAME

def conv2d(x,W):
    return tf.nn.conv2d(x,W,strides=[1,1,1,1],padding='SAME')

定义 pooling

采用池化pooling来稀疏化参数

一种是最大值池化,一种是平均值池化

池化的核函数大小为2x2,因此ksize=[1,2,2,1]:

def max_poo_2x2(x): 
    return tf.nn.max_pool(x,ksize=[1,2,2,1],strides=[1,2,2,1])
PreviousDropout 解决 overfittingNextCNN 卷积神经网络 2

Last updated 6 years ago

Was this helpful?