zoukankan      html  css  js  c++  java
  • TensorFlow 函数

     一.TensorFlow随机数生成函数

    随机函数生成的数组每个数字都是一个随机数。根据不同的函数,随机数呈现不同的分布趋势:

    • tf.random_normal     正态分布。
    • tf.truncated_normal  正态分布,单如果随机出来的值便宜平均值超过2个标准差,那么这个数会被重新随机。
    • tf.random_uniform    均匀分布。
    • tf.random_gamma  Gamma分布。  

     tf.random_normal

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

    tf.truncated_normal

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

    tf.random_uniform

    tf.random_uniform(shape, minval=0.0, maxval=1.0, dtype=tf.float32, seed=None, name=None)

    对上面几个关键字的解释:

    • shape   :张量的形状,简单的解释就要生的n*m的数组。例如:[2,3]就是一个2*3的数组。
    • mean    :一个整数,正态分布的平均值。
    • stddev  :正态分布的标准差。
    • dtyle    :数据类型,通常使用tf.float32
    • seed    :(目前也没搞清楚,直接粘贴出来自己体会下吧)A Python integer. Used to create a random seed for the distribution. See set_random_seedfor behavior.
    • minval  :生成随机值范围的下限
    • maxval :生成随机值范围的上限

    二.TensorFlow常数生成函数

    • tf.zeros        产生全是0的数组
    • tf.ones         产生全是1的数组
    • tf.fill            产生一个全部为指定数字的数据
    • tf.constant   产生一个给定的常量

    示例:

    import tensorflow as tf

    a = tf.zeros([2,3],tf.float32)
    b = tf.ones([2,3],tf.float32)
    c = tf.fill([2,3],9.0)
    d = tf.constant([1.0,2.0,3.0])

    sess = tf.Session()

    print(sess.run(a))
    print(sess.run(b))
    print(sess.run(c))
    print(sess.run(d))

     
    

    输出:

    [[0,0,0],[0,0,0]]
    [[1,1,1],[1,1,1]]
    [[9,9,9],[9,9,9]]
    [1,2,3]

    三.TensorFlow中的优化器

    优化器是一种反向传播优化方法。

    定了优化器以后通过:sess.run(train)对算法中的Variables进行优化,是的计算结果与真实值的偏差减小。

    目前(2017-12)TensorFlow提供了8中优化器:

    • tf.train.GradientDescentOptimizer

    • tf.train.AdadeltaOptimizer 

    • tf.train.AdagradOptimizer

    • tf.train.AdagradDAOptimizer

    • tf.train.MomentumOptimizer 

    • tf.train.AdamOptimizer

    • tf.train.FtrlOptimizer

    • tf.train.RMSPropOptimizer

    我们后面会挑选几个常用的做详细介绍。

     

    tf.clip_by_value

    tf.clip_by_value(A, min, max):输入一个张量A,把A中的每一个元素的值都压缩在min和max之间。小于min的让它等于min,大于max的元素的值等于max。

    import tensorflow as tf;  
    import numpy as np;  
      
    A = np.array([[1,1,2,4], [3,4,8,5]])  
      
    with tf.Session() as sess:  
        print sess.run(tf.clip_by_value(A, 2, 5))  

    输出

    [[2 2 2 4]
     [3 4 5 5]]

    Tensorflow当前版本判断。并且根据当前版本选择执行方法。

    if int((tf.__version__).split('.')[1]) < 12 and int((tf.__version__).split('.')[0]) < 1:
        init = tf.initialize_all_variables()
    else:
        init = tf.global_variables_initializer()

    参考链接

    http://wiki.jikexueyuan.com/project/tensorflow-zh/resources/dims_types.html

    什么是张量

    http://blog.csdn.net/u014595019/article/details/52805444

    常用函数说明

  • 相关阅读:
    国外插画等形式美术网址
    jquery对联广告
    国外优秀PS网站
    web前端开发工程师
    有关HTML+CSS需注意的一些问题
    公积金账户余额
    什么是CSS Float?
    5款影楼后期制作软件
    国外优秀设计网站推荐
    jQuery跟随屏幕滚动的层
  • 原文地址:https://www.cnblogs.com/guolaomao/p/7911222.html
Copyright © 2011-2022 走看看