TensorFlow中一些常用的函数

一、tf.trainable_variables

返回所有 当前计算图中 在获取变量时未标记 trainable=False 的变量集合。【可用来更新所有参数时使用】

二、tf.control_dependencies(control_inputs):

此函数指定某些操作执行的依赖关系

返回一个控制依赖的上下文管理器,使用 with 关键字可以让在这个上下文环境中的操作都在 control_inputs 执行

1 with tf.control_dependencies([a, b]):
2     c = ....
3     d = ...

在执行完 a,b 操作之后,才能执行 c,d 操作。意思就是 c,d 操作依赖 a,b 操作

1 with tf.control_dependencies([train_step, variable_averages_op]):
2     train_op = tf.no_op(name='train')

tf.no_op():表示执行完 train_step, variable_averages_op 操作之后什么都不做

三、tf.group:

用于创造一个操作,可以将传入参数的所有操作进行分组,返回也是一个操作。

ops = tf.group(tensor1, tensor2,...)
其中*inputs是0个或者多个用于组合tensor,一旦ops完成了,那么传入的tensor1,tensor2,...等等都会完成了,经常用于组合一些训练节点,

tf.control_dependencies和tf.group两种机制可以用来实现一次完成多个操作。如以下两个程序是等价的:【为了一次实现train_step, variable_averages_op两个操作】

with tf.control_dependencies([train_step, variable_averages_op]):

        train_op = tf.no_op(name='train')

############################################

train_op = tf.group(train_step,variables_averages_op)

四、tf.cast()

cast(
    x,
    dtype,
    name=None
)

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

猜你喜欢

转载自www.cnblogs.com/Lee-yl/p/10034027.html