Tensorflow中的库函数

1.函数:

tf.placeholder(
dtype,
shape=None,
name=None
 )

参数:
dtype:数据类型。常用的是tf.float32,tf.float64等数值类型
shape:数据形状。默认是None,就是一维值,也可以是多维(比如[2,3], [None, 3]表示列是3,行不定)
name:名称
释义:
占位
作用:
Tensorflow的设计理念称之为计算流图,在编写程序时,首先构筑整个系统的graph,代码并不会直接生效,这一点和python的其他数值计算库(如Numpy等)不同,graph为静态的,类似于docker中的镜像。然后,在实际的运行时,启动一个session,程序才会真正的运行。这样做的好处就是:避免反复地切换底层程序实际运行的上下文,tensorflow帮你优化整个系统的代码。我们知道,很多python程序的底层为C语言或者其他语言,执行一行脚本,就要切换一次,是有成本的,tensorflow通过计算流图的方式,帮你优化整个session需要执行的代码,还是很有优势的。
所以placeholder()函数是在神经网络构建graph的时候在模型中的占位,此时并没有把要输入的数据传入模型,它只会分配必要的内存。等建立session,在会话中,运行模型的时候通过feed_dict()函数向占位符喂入数据。
转载:
https://blog.csdn.net/kdongyi/article/details/82343712

2.函数:

tf.reshape(
tensor, 
shape, 
name=None
)

释义:
将张量 tensor 的形状改为 shape,shape为一个列表。
注意:
shape 设置为 -1 的位置,表示函数自动进行计算这一维的大小,只能存在一个 -1。

3.函数:

tf.truncated_normal(
shape, 
mean, 
stddev
)

释义:
截断的产生正态分布的随机数,即随机数与均值的差值若大于两倍的标准差,则重新生成。
参数:
shape,生成张量的维度
mean,均值
stddev,标准差

4.函数:

tf.Variable(
initializer, 
name
)

参数:
initializer,初始化参数,可以有tf.random_normal,tf.constant,tf.constant等
name,变量的名字
释义:
保存和更新神经网络中的参数。

5.函数:

tf.nn.conv2d (
input,
filter,
strides, 
padding, 
use_cudnn_on_gpu=None, 
data_format=None,
name=None
)

参数:
a.input : 输入的要做卷积的图片,要求为一个张量,
shape: [ batch, in_height, in_weight, in_channel ],其中batch为图片的数量,in_height 为图片高度,in_weight 为图片宽度,in_channel 为图片的通道数,灰度图该值为1,彩色图为3。

b.filter: 卷积核,要求也是一个张量,shape为 [ filter_height, filter_weight, in_channel, out_channels ],其中 filter_height 为卷积核高度,filter_weight 为卷积核宽度,in_channel 是图像通道数 ,和 input 的 in_channel 要保持一致,out_channel 是卷积核个数。

c.strides: 卷积时在图像每一维的步长,这是一个一维的向量,[ 1, strides, strides, 1],第一位和最后一位固定必须是1。(代表步长,其值可以直接默认一个数,也可以是一个四维数如[1,2,1,1],则其意思是水平方向卷积步长为第二个参数2,垂直方向步长为1.)

d.padding: string类型,值为“SAME” 和 “VALID”,表示的是卷积的形式,是否考虑边界。”SAME”是考虑边界,不足的时候用0去填充周围,”VALID”则不考虑

e.use_cudnn_on_gpu: bool类型,是否使用cudnn加速,默认为true
释义:
卷积操作

6.函数:

tf.nn.relu(
tensor,
weights
)

释义:
激活函数
作用:
将大于0的数保持不变,小于0的数置为0。

7.函数:

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

参数:
x:输入,一般为全连接网络的输入
keep_prob:float类型,设置神经元(元素)被选中的概率,在初始化时keep_prob是一个占位符, keep_prob = tf.placeholder(tf.float32) 。tensorflow在run时设置keep_prob具体的值。

noise_shape : 一个1维的int32张量,代表了随机产生“保留/丢弃”标志的shape。
seed : 整形变量,随机数种子。
name:指定该操作的名字
注意:
train的时候才是dropout起作用的时候,设置0<keep_prob<1,
dev和test的时候不应该让dropout起作用,设置 keep_prob=1.0
作用:
一般用在全连接层,为了防止或减轻过拟合而使用的函数。

8.函数:

tf.matmul(A,B)

释义:
矩阵相乘

9.函数:

reduce_mean(input_tensor,
            axis=None,
            keep_dims=False,
            name=None,
            reduction_indices=None)

参数:
input_tensor: 输入的待降维的tensor;
axis: 指定的轴,如果不指定,则计算所有元素的均值;
keep_dims:是否降维度,设置为True,输出的结果保持输入tensor的形状,设置为False,输出结果会降低维度;

name: 操作的名称;
reduction_indices:在以前版本中用来指定轴,已弃用;
释义:
计算张量tensor沿着指定的数轴(tensor的某一维度)上的的平均值,主要用作降维或者计算tensor(图像)的平均值。

10.函数

tf.nn.softmax_cross_entropy_with_logits(
	logits, 
	labels, 
	name=None
)

参数:
logits:就是神经网络最后一层的输出,如果有batch的话,它的大小就是[batchsize,num_classes],单样本的话,大小就是num_classes

labels:实际的标签,大小同上

11.函数:

tf.train.AdamOptimizer

参数:
learning_rate:张量或浮点值。学习速率
beta1:一个浮点值或一个常量浮点张量。一阶矩估计的指数衰减率
beta2:一个浮点值或一个常量浮点张量。二阶矩估计的指数衰减率
epsilon:数值稳定性的一个小常数
use_locking:如果True,要使用lock进行更新操作
name:应用梯度时为了创建操作的可选名称。默认为“Adam”

释义:
是一个寻找全局最优点的优化算法,引入了二次方梯度校正

12.函数:

tf.argmax(
input,
axis=None,
name=None,
dimension=None,
output_type=tf.int64
)

参数:
input:输入矩阵
axis:默认为None
axis=0:按列寻找最大值
axis=1:按行寻找最大值
name:默认为None
dimension:默认为None
output_type:默认类型为int64
释义:
返回最大的那个数值所在的下标(第一个参数是矩阵,第二个参数是0或者1。0表示的是按列比较返回最大值的索引,1表示按行比较返回最大值的索引)
input为向量时,返回最大数值的索引;
input为矩阵时,返回每一行或每一列最大数值的矩阵。

13.函数:

tf.equal(
x, y
)  

释义:
判断x, y是否相等,相等返回true,不相等false

14.函数:

tf.cast(
x, 
dtype, 
name=None
)

参数:
x,输入张量
dtype,转换数据类型
name,名称
释义:
数据类型转换

15.函数:

tf.train.Saver() 

释义:
saver = tf.train.Saver()
saver.save(sess, ‘路径 + 模型文件名’)
保存和加载模型

16.函数:

tf.global_variables_initializer()

释义:
含有tf.Variable的环境下,因为tf中建立的变量是没有初始化的,也就是在debug时还不是一个tensor量,而是一个Variable变量类型

19.函数:

Tensor.eval()

参数:
在一个Seesion里面“评估”tensor的值(其实就是计算),首先执行之前的所有必要的操作来产生这个计算这个tensor需要的输入,然后通过这些输入产生这个tensor。在激发tensor.eval()这个函数之前,tensor的图必须已经投入到session里面,或者一个默认的session是有效的,或者显式指定session.

feed_dict:一个字典,用来表示tensor被feed的值(联系placeholder一起看)
session:(可选) 用来计算(evaluate)这个tensor的session.要是没有指定的话,那么就会使用默认的session。
释义:
eval() 其实就是tf.Tensor的Session.run() 的另外一种写法

20.函数:

tensor.eval()

释义:
eval() 其实就是tf.Tensor的Session.run() 的另外一种写法
注意:
每次使用 eval 和 run时,都会执行整个计算图。

21.函数:

tf.one_hot(
    indices,输入
    depth,张量维度
    on_value=None,#默认为1
    off_value=None,#默认为0
    axis=None,
    dtype=None,
    name=None)
    返回一个one-hot张量。

22.函数:

	tf.cast(x,dtype,name):数据类型转换

23.函数:

tf.reduce(
	input_tensor,
    axis=None,
    keepdims=None,
    name=None,
    reduction_indices=None,
    keep_dims=None
    )
input_tensor: 输入待求和的tensor;
axis: 指定的维,如果不指定,则计算所有元素的总和;
keepdims:是否保持原有张量的维度,设置为True,输出的结果保持输入tensor的形状,设置为False,输出结果会降低维度;
name: 操作的名称;
reduction_indices:在以前版本中用来指定轴,已弃用;
keep_dims:在以前版本中用来设置是否保持原张量的维度,已弃用;

24.函数:

tf.log(x)---> y=log(x)

返回一个张量,与 x具有相同的类型.

25.函数:

tf.get_collection(
			 key,
			scope=None)
从一个集合中取出变量。
获取key集合中的所有元素,返回一个列表。列表的顺序依变量放入集合中的先后而定。
scope为可选参数,表示的是名称空间(名称域),如果指定,就返回名称域中所有放入‘key’的变量的列表,不指定则返回所有变量。

26.函数:

tf.boolean_mask(
				tensor, :被过滤的元素列表或数组
				mask, 一堆 bool 值,它的维度不一定等于 tensor
				name="boolean_mask",
				 axis=None)
				 tensor

作用:通过布尔值过滤。

27.函数:

28.函数:
后续不断更新… …

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值