zoukankan      html  css  js  c++  java
  • 手写体识别中用到的Tensorflow函数复习

    tf.truncated_normal(shape, stddev=0.1)

    从截断的正态分布中输出随机值。
    生成的值服从具有指定平均值和标准偏差的正态分布,如果生成的值大于平均值2个标准偏差的值则丢弃重新选择。

    参数:
    shape: 一维的张量,也是输出的张量。
    mean: 正态分布的均值。
    stddev: 正态分布的标准差。
    dtype: 输出的类型。
    seed: 一个整数,当设置之后,每次生成的随机数都一样。
    name: 操作的名字。

    tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

    从正态分布中输出随机值。

    参数:
    shape: 一维的张量,也是输出的张量。
    mean: 正态分布的均值。
    stddev: 正态分布的标准差。
    dtype: 输出的类型。
    seed: 一个整数,当设置之后,每次生成的随机数都一样。
    name: 操作的名字。

    tf.constant(0.1, shape=shape)

    constant是TensorFlow的常量节点,通过constant方法创建,其是计算图(Computational Graph)中的起始节点,是传入数据。

    参数:
    value:初始值,必填,必须是一个张量(1或[1,2,3]或[[1,2,3],[2,2,3]]或......)
    dtype:数据类型,选填,默认为value的数据类型,传入参数为tensorflow下的枚举值(float32,float64.......)
    shape:数据形状,选填,默认为value的shape,设置时不得比value小,可以比value阶数、维度更高,超过部分按value提供最后一个数字填充,

    tf.nn.relu(features, name=None)

    计算激活函数relu,即max(features, 0)。即将矩阵中每行的非最大值置0.并且返回和feature一样的形状的tensor。

    参数:
    features: tensor类型,必须是这些类型:A Tensor. float32, float64, int32, int64, uint8, int16, int8, uint16, half.
    name: :操作名称(可选)

    tf.nn.conv2d(x, W_conv1, strides=[1, 1, 1, 1], padding='SAME')

    卷积函数,

    参数:
    输入(input): [batch, in_height, in_width, in_channels]
    过滤器/卷积核(filter / kernel):[filter_height, filter_width, in_channels, out_channels]

    步长(Strides): [1, stride, stride, 1]
    描述:过滤器移动的步长,第一位和第四位一般恒定为1,第二位指水平移动时候的步长,第三位指垂直移动的步长。strides = [1, stride, stride, 1].

    padding: A string from: "SAME", "VALID"
    描述:Valid: 用过滤器在输入的矩阵中按步长移动时候,会把最后的不足部分的列和行抛弃;Same:先在输入矩阵上下各加个值为0的行,在左右各加个个值为0的列,也就是用0把原先的矩阵包裹一层,然后在移动的时候如果输入矩阵的列或者行长度不够,就用0来补齐。具体可以看另一篇文章:Padding:SAME和VALID详释

    返回:
    Tensor,即Feature Map,格式为shape [batch, height, width, channels]

    https://www.cnblogs.com/qggg/p/6832342.html

    tf.nn.max_pool(value, ksize, strides, padding, name=None)

    最大值池化

    参数:
    value:需要池化的输入,一般池化层接在卷积层后面,所以输入通常是feature map,依然是[batch, height, width, channels]这样的shape
    ksize:池化窗口的大小,取一个四维向量,一般是[1, height, width, 1],因为我们不想在batch和channels上做池化,所以这两个维度设为了1
    strides:和卷积类似,窗口在每一个维度上滑动的步长,一般也是[1, stride,stride, 1]
    padding:和卷积类似,可以取'VALID' 或者'SAME'

    返回:
    Tensor, shape为[batch, height, width, channels]

    https://www.2cto.com/kf/201612/572952.html

    tf.nn.dropout(x, keep_prob, noise_shape=None, seed=None, name=None)

    根据给出的keep_prob参数,将输入tensor x按比例输出。

    参数:
    x :输入tensor
    keep_prob : float类型,每个元素被保留下来的概率
    noise_shape : 一个1维的int32张量,代表了随机产生“保留/丢弃”标志的shape。
    seed : 整形变量,随机数种子。
    name : 名字,没啥用。

    https://www.cnblogs.com/qggg/p/6849881.html

    tf.argmax(vector, 1)

    返回最大的那个数值所在的下标

    返回的是vector中的最大值的索引号,如果vector是一个向量,那就返回一个值,如果是一个矩阵,那就返回一个向量,这个向量的每一个维度都是相对应矩阵行的最大值元素的索引号。

    https://blog.csdn.net/uestc_c2_403/article/details/72232807

    github

  • 相关阅读:
    @property @synthesize的含义以及误区。
    OC中类的扩展介绍
    Thinking in Java第三、四章学习笔记----操作符与控制执行流程
    LeetCode之Easy篇 ——(12)Integer to Roman
    LeetCode之Easy篇 ——(9)Palindrome Number
    LeetCode之Easy篇 ——(7)Reverse Integer
    LeetCode之Easy篇 ——(1)Two Sum
    Java关键字汇总
    Thinking in Java 第二章学习笔记----一切都是对象
    php文件上传原理详解
  • 原文地址:https://www.cnblogs.com/bincoding/p/8922286.html
Copyright © 2011-2022 走看看