Tensorflow 学习笔记 - 常用 API

CNN API

Tensorflow 提供了一些内置的API实现了CNN网络结构中的卷积,池化,全连接网络等运算操作。

  • tf.nn.conv2d(input,filter, strides, padding, data_format=’NHWC’)
    完成CNN卷积运算,其中:

    input: 4-D 的Tensor, 每个dimension的意思由data_format指定,默认是[batch, Height, Width, Channel]。batch表示有多少个这样的sample。Height/Width是图片的高度/宽度,Channel决定了图片是灰度图还是彩色图。若是灰度图就只有一个 [Height, Width]的2维矩阵,若是彩色图则有3个这样的矩阵,每个矩阵分别表示像素R/G/B的值。

    filter: 有时也称之为kernel。这个filter也是一个4-D的Tensor,每个dimension分别表示 [filter_height, filter_width, in_channels, out_channels]。通常地称[filter_height, filter_width, in_channels]为单个filter的size,而且filter_height, filter_width一般为奇数并且相等。in_channel必须跟input参数中的Channel相等,卷积运算时,从input中取一个大小为[filter_height, filter_width, in_channels]的slice window跟 单个filter做卷积运算。out_channels表示有多少个这样的filter。因为filter一般用于特征的抽取,所以out_channels决定了卷积层最终输出的channel(depth)。

    strides: 4-D的Tensor, 表示在对input做卷积运算时,在每个dimension上的步长。跟input参数一样,每个dimension的顺序由data_format决定。通常地在Height, Width上步长为1或者2,而batch, Channel的步长设置为1。

    padding: “SAME” 或者 “Valid”。Same表示卷积层的输出的height/width 跟input层的height/width相同。Valid表示no padding则由公式 (heightfilter_heigth)/stride_height+1 (width也是一样)。

    更多细节请看这里 Reference


  • tf.nn.max_pool(value, ksize = [1,f,f,1], strides = [1,s,s,1], padding = ‘SAME’, data_format=’NHWC’)
    池化运算。
    value: 4-D的tensor, 一般地就是上面conv2d的输出,具体每个dimension的意义跟conv2d的input参数一样
    ksize: 定义slice window的大小,它会在输入参数中选择跟slice window想同大小的window,并取其中的最大值。

  • tf.contrib.layers.flatten(P)
    对于输入的P,将每一个example展开为1-D的Tensor, 但是依然保留batch-size。它返回一个[batch_size, k]的Tensor。通常在CNN的最后一步连接到Fully Connected 的网络之前会将其展开,例如CNN的conv层输出的tensor的shape为[batch_size, height, width, channel], 刚展开会就是[batch_size, height * width * channel]。

激活函数

  • tf.nn.relu(Z1)
  • tf.sigmoid
  • tf.tanh

随机数生成相关API

  • tf.random_uniform(shape, minval=0, maxval=None, dtype=tf.float32, seed=None, name=None)
    生成介于[minval, maxval)的服从均匀分布的随机数,比如:
    tf.random_uniform(shape=(3, 4), minval = 0, maxval=1)

  • tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
    生成服从正态分布的随机数


Loss Function for Classification

  • tf.nn.softmax_cross_entropy_with_logits(labels= y , logits=z^)

  • tf.nn.sigmoid_cross_entropy_with_logits(labels= y , logits=z^)
    compute Loss of all training examples with this formula:
    loss = y * -log(sigmoid( z^ )) + (1 - y) * -log(1 - sigmoid( z^ ))

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值