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

常用函数说明

原文地址:https://www.cnblogs.com/guolaomao/p/7911222.html