get tf.shape(a)和a.get_shape()比较
- 相同:都可以得到tensor a的尺寸
- 不同:· tf.shape()中a 数据的类型可以是tensor, list, array
返回的是一个tensor时。要想知道是多少,必须通过sess.run()
- a.get_shape()中a的数据类型只能是tensor,且返回的是一个元组(tuple)
tensor.get_shape()返回的是元组,不能放到sess.run()里面,这个里面只
能放operation和tensor
a.get_shape().as_list() 返回一个元组,需要通过as_list()的操作转换成list.
tf.add_to_collection():把变量放入一个集合,把很多变量变成一个列表
tf.get_collection(): 从一个集合中取出全部变量,是一个列表
tf.add_n: 把一个列表的东西都依次加起来
Python的global语句使用
Python中定义函数时,若想在函数内部对函数外的变量进行操作,就需要在函数内部声明其为global。
tf.constant_initializer()也可以简写为tf.Constant()
初始化为常数,这个非常有用,通常偏置项就是用它初始化的。
tf.argmax(values,axis): 返回values在axis维度最大值的索引
tf. reduce_max(values,axis): 返回values在axis维度的最大值,结果维度为values的维
度-1,且shape为去掉axis之后values的shape,顺序不变。
tf.assign(A, new_number): 这个函数的功能主要是把A的值变为new_number
tf.assign(A, B): 通过增加B来更新A的值,即A = A + B
tf.ceil(x, name=None) x张量,上述操作返回不小于 x 的元素最小整数.
tf.control_dependencies(control_inputs)用法解析:
tf.control_dependencies(control_inputs):
ops
表示首先执行control_inputs表示的OP
再执行 依赖于此OP的ops
例如:
import numpy as np
import tensorflow as tf
x = tf.Variable(0)
x_add_1 = tf.assign_add(x, 1) #
with tf.control_dependencies([x_add_1]):
y = x + 2
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for _ in range(5):
print(sess.run(y))
3 4 5 6 7
tf.identity(input,name=None) 返回一个具有相同形状张量和内容作为输入;
hasattr(object, name) 用于判断对象(前者) 是否包含对应的属性(后者)。
object -- 对象。
name -- 字符串,属性名。
如果对象有该属性返回 True,否则返回 False。
class Coordinate:
x = 10 # 包含属性x,y,z三个属性
y = -5
z = 0
point1 = Coordinate()
print(hasattr(point1, 'x'))
print(hasattr(point1, 'y'))
print(hasattr(point1, 'z'))
print(hasattr(point1, 'no')) # 没有该属性
执行结果:
True
True
True
False
注意tf.cast()强制类型转换的规则
import tensorflow as tf
x1 = 1.3
x2 = 1.8
x3= -1.9
x4 =-0.5
with tf.Session() as sess:
print(sess.run(tf.cast(x1,tf.int32)))
print(sess.run(tf.cast(x2,tf.int32)))
print(sess.run(tf.cast(x3,tf.int32)))
print(sess.run(tf.cast(x4,tf.int32)))
执行结果: 1 1 -1 0
总而言之,tf.cast()强制转换为整数时,只保留整数部分,小数部分舍弃。这样当x>0时,数字变小;当x<0数字变大
tf.clip_by_value(A, min, max)
输入一个张量A,把A中的每一个元素的值都压缩在min和max之间。小于min的让它等于min,大于max的元素的值等于max。