tensorflow基础知识----常用API总结

Posted 岳飞传

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow基础知识----常用API总结相关的知识,希望对你有一定的参考价值。

1. session

  • tf.InteractiveSession():它能让你在运行图的时候,插入一些计算图,这些计算图是由某些操作(operations)构成的。这对于工作在交互式环境中的人们来说非常便利,比如使用IPython。
# 进入一个交互式 TensorFlow 会话.
import tensorflow as tf
sess = tf.InteractiveSession()


x = tf.Variable([1.0, 2.0])
a = tf.constant([3.0, 3.0])


# 使用初始化器 initializer op 的 run() 方法初始化 'x' 
x.initializer.run()


# 增加一个减法 sub op, 从 'x' 减去 'a'. 运行减法 op, 输出结果 
sub = tf.sub(x, a)
print sub.eval()
  • tf.Session():需要在启动session之前构建整个计算图,然后启动该计算图。
c = tf.constant(...)  
sess = tf.Session()  
with sess.as_default():  
  print c.eval()  
# ...  
with sess.as_default():  
  print c.eval()  
sess.close()  
  • 区别:意思就是在我们使用tf.InteractiveSession()来构建会话的时候,我们可以先构建一个session然后再定义操作(operation),如果我们使用tf.Session()来构建会话我们需要在会话构建之前定义好全部的操作(operation)然后再构建会话。

2. tf.argmax()以及axis解析

tf.argmax就是返回最大的那个数值所在的下标

tf.argmax
def argmax(input,
           axis=None,
           name=None,
           dimension=None,
           output_type=dtypes.int64)
numpy.argmax(a, axis=None, out=None) 
返回沿轴axis最大值的索引。

Parameters: 
input: array_like,数组
axis : int, 可选,默认情况下,索引的是平铺的数组,否则沿指定的轴。 
out : array, 可选 如果提供,结果以合适的形状和类型被插入到此数组中。 

Returns: 
index_array : ndarray of ints 
索引数组。它具有与a.shape相同的形状,其中axis被移除。  

tf.argmax() 与 numpy.argmax() 方法的用法是一致的

axis = 0 的时候返回每一列最大值的位置索引
axis = 1 的时候返回每一行最大值的位置索引
axis = 2、3、4 …,即为多维张量时,同理推断

import tensorflow as tf
import numpy as np

a = np.array([[1,2,3],[2,3,4],[6,7,8],[9,3,8]])

sess = tf.InteractiveSession()

print(a)
#[[1 2 3]
# [2 3 4]
# [6 7 8]
# [9 3 8]]
print(tf.argmax(a,0).eval())
#[3 2 2]
print(tf.argmax(a,1).eval())
#[2 2 2 0]

3. tf.cast()

cast(x, dtype, name=None)
将x的数据格式转化成dtype.例如,原来x的数据格式是bool,
那么将其转化成float以后,就能够将其转化成0和1的序列。反之也可以

a = tf.Variable([1,0,0,1,1])
b = tf.cast(a,dtype=tf.bool)
sess = tf.Session()
sess.run(tf.initialize_all_variables())
print(sess.run(b))
#[ True False False  True  True]

4. tf.reduce_mean()

tensorflow中有一类在tensor的某一维度上求值的函数

求最大值
tf.reduce_max(input_tensor, reduction_indices=None, keep_dims=False, name=None)

求平均值
tf.reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)

参数1–input_tensor:待求值的tensor。

参数2–reduction_indices:在哪一维上求解。

参数(3)(4)可忽略

举例说明:


# 'x' is [[1., 2.]
#         [3., 4.]]
x是一个2维数组,分别调用reduce_*函数如下:
首先求平均值:


tf.reduce_mean(x) ==> 2.5 #如果不指定第二个参数,那么就在所有的元素中取平均值
tf.reduce_mean(x, 0) ==> [2.,  3.] #指定第二个参数为0,则第一维的元素取平均值,即每一列求平均值
tf.reduce_mean(x, 1) ==> [1.5,  3.5] #
指定第二个参数为1,则第二维的元素取平均值,即每一行求平均值

以上是关于tensorflow基础知识----常用API总结的主要内容,如果未能解决你的问题,请参考以下文章

4TensorFlow基础常用API与变量作用域

Tensorflow之MNIST的最佳实践思路总结

TensorFlow图像处理API

repostJavascript操作DOM常用API总结

分享知识-快乐自己:Java常用API总结

Javascript操作DOM常用API总结