我和Tensorflow的美丽邂逅——定义添加层的函数

在今天的博文中,我们先完成构建神经网络中很重要的一步:添加层
我们打算写一个函数来添加层,当你的神经网络有多个隐藏层时,使用函数来添加它们将会十分方便

  1. 第一步:
def add_layer(inputs, input_size, output_size, activation_function = None):......
  • 第一个参数inputs:输入的数据
  • 二个参数input_size:前一层的维度,也就是前一层的神经元数量,对于输入层而言,如果输入数据只有一个
  • 第三个参数output_size:该层的维度,也就是该层的神经元数量
  • 第四个参数activation_function:激活函数,默认值为None,也就是使用线性函数
  1. 第二步:处理权重和偏置
def add_layer(inputs, input_size, output_size, activation_function = None):Weights = tf.Variable(tf.random_normal([input_size, output_size]))biases = tf.Variable(tf.zeros([1, output_size] + 0.1)    #偏置最好不为0,所以我们给他加个0.1......
  1. 第三步:先表示线性关系
def add_layer(inputs, input_size, output_size, activation_function = None):Weights = tf.Variable(tf.random_normal([input_size, output_size]))biases = tf.Variable(tf.zeros([1, output_size] + 0.1)Wx_plus_b = tf.matmul(inputs, Weights) + biases
  1. 第四步:处理激活函数的问题
def add_layer(inputs, input_size, output_size, activation_function = None):Weights = tf.Variable(tf.random_normal([input_size, output_size]))biases = tf.Variable(tf.zeros([1, output_size] + 0.1)Wx_plus_b = tf.matmul(inputs, Weights) + biases   #特别注意矩阵乘法的顺序if activation_function == None:   #若没有激活函数,那么就是线性关系outputs = Wx_plus_belse:outputs = activation_function(Wx_plus_b)   #如果有激活函数就把他套上return outputs


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部