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总结的主要内容,如果未能解决你的问题,请参考以下文章