## tf.Variable(??) 创建tf变量
## tf.matmul(w,x) 矩阵乘法
w = tf.Variable([[0.5,1.0]]) x = tf.Variable([[2.0],[1.0]]) y = tf.matmul(w, x) init_op = tf.global_variables_initializer() with tf.Session() as sess: sess.run(init_op) print (y.eval()) #tf中显示变量值需加.eval
>> [[ 2.]]
## tf.zeros(shape, dtype) 创建全零阵
tf.zeros([3, 4], int32) ==> [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
## tf.zeros_like(tensor) 创建矩阵tensor同维的全零阵
# ‘tensor‘ is [[1, 2, 3], [4, 5, 6]] tf.zeros_like(tensor) ==> [[0, 0, 0], [0, 0, 0]]
## tf.ones(shape,dtype) 创建全1阵
tf.ones([2, 3], int32) ==> [[1, 1, 1], [1, 1, 1]]
## tf.ones_like(tensor) 创建tensor同维的全1阵
# ‘tensor‘ is [[1, 2, 3], [4, 5, 6]] tf.ones_like(tensor) ==> [[1, 1, 1], [1, 1, 1]]
## tf.constant(? ?) 创建常量
# Constant 1-D Tensor populated with value list. tensor = tf.constant([1, 2, 3, 4, 5, 6, 7]) => [1 2 3 4 5 6 7]
# Constant 2-D tensor populated with scalar value -1. tensor = tf.constant(-1.0, shape=[2, 3]) => [[-1. -1. -1.][-1. -1. -1.]]
## tf.linspace (10.0, 12.0, 3, name="linspace") 创建等差数列
tf.linspace(10.0, 12.0, 3, name="linspace") => [ 10.0 11.0 12.0]
## tf.range(start, limit, delta) 创建等差数列start->limit 步长delta
tf.range(start, limit, delta) ==> [3, 6, 9, 12, 15]
## tf.random_uniform(shape[], -1.0, 1.0) 创建[-1,1]内的随机数矩阵
## tf.random_normal(shape, mean=-1, stddev=4) 创建随机数矩阵 服从mean=-1,stddev=4的高斯分布
## tf.random_shuffle(c) 洗牌,打乱矩阵c
norm = tf.random_normal([2, 3], mean=-1, stddev=4) # Shuffle the first dimension of a tensor c = tf.constant([[1, 2], [3, 4], [5, 6]]) shuff = tf.random_shuffle(c) # Each time we run these ops, different results are generated sess = tf.Session() print (sess.run(norm)) print (sess.run(shuff))
>>[[-0.30886292 3.11809683 3.29861784] [-7.09597015 -1.89811802 1.75282788]] [[3 4] [5 6] [1 2]]
## tf.add(a,b) 创建a+b的计算图
## tf.assign(a, b) 创建a=b的计算图
state = tf.Variable(0) new_value = tf.add(state, tf.constant(1)) update = tf.assign(state, new_value) with tf.Session() as sess: sess.run(tf.global_variables_initializer()) print(sess.run(state)) for _ in range(3): sess.run(update) print(sess.run(state))
>>0 1 2 3
## tf.train.Saver() 保存训练模型
#tf.train.Saver w = tf.Variable([[0.5,1.0]]) x = tf.Variable([[2.0],[1.0]]) y = tf.matmul(w, x) init_op = tf.global_variables_initializer() saver = tf.train.Saver() with tf.Session() as sess: sess.run(init_op) # Do some work with the model. # Save the variables to disk. save_path = saver.save(sess, "C://tensorflow//model//test") print ("Model saved in file: ", save_path)
>>Model saved in file: C://tensorflow//model//test
## tf.convert_to_tensor(a) 将a转换为tensorflow张量
import numpy as np a = np.zeros((3,3)) ta = tf.convert_to_tensor(a) with tf.Session() as sess: print(sess.run(ta))
>>[[ 0. 0. 0.] [ 0. 0. 0.] [ 0. 0. 0.]]
## tf.placeholder(dtype, shape=None, name=None) 创建占位符
input1 = tf.placeholder(tf.float32) input2 = tf.placeholder(tf.float32) output = tf.mul(input1, input2) with tf.Session() as sess: print(sess.run([output], feed_dict={input1:[7.], input2:[2.]})) #需要以字典方式赋值
》[[ 0. 0. 0.] [ 0. 0. 0.] [ 0. 0. 0.]]
## tf.square(a) 求a的平方
## tf.reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None) 求平均值
## tf.reduce_max(input_tensor, reduction_indices=None, keep_dims=False, name=None) 求最大值
## tf.reduce_sum(input_tensor, reduction_indices=None, keep_dims=False, name=None) 求和
参数1--input_tensor:待求值的tensor。
参数2--reduction_indices:在哪一维上求解。
## tf.boolean_mask(a,b)
tensorflow 里的一个函数,在做目标检测(YOLO)时常常用到。
其中b一般是bool型的n维向量,若a.shape=[3,3,3] b.shape=[3,3]
则 tf.boolean_mask(a,b) 将使a (m维)矩阵仅保留与b中“True”元素同下标的部分,并将结果展开到m-1维。
例:应用在YOLO算法中返回所有检测到的各类目标(车辆、行人、交通标志等)的位置信息(bx,by,bh,bw)
a = np.random.randn(3, 3,3) b = np.max(a,-1) c= b >0.5 print("a="+str(a)) print("b="+str(b)) print("c="+str(c)) with tf.Session() as sess: d=tf.boolean_mask(a,c) print("d="+str(d.eval(session=sess)))
>> a=[[[-1.25508127 1.76972539 0.21302597] [-0.2757053 -0.28133549 -0.50394556] [-0.70784415 0.52658374 -3.04217963]] [[ 0.63942957 -0.76669861 -0.2002611 ] [-0.38026374 0.42007134 -1.08306957] [ 0.30786828 1.80906798 -0.44145949]] [[ 0.22965498 -0.23677034 0.24160667] [ 0.3967085 1.70004822 -0.19343556] [ 0.18405488 -0.95646895 -0.5863234 ]]] b=[[ 1.76972539 -0.2757053 0.52658374] [ 0.63942957 0.42007134 1.80906798] [ 0.24160667 1.70004822 0.18405488]] c=[[ True False True] [ True False True] [False True False]] d=[[-1.25508127 1.76972539 0.21302597] [-0.70784415 0.52658374 -3.04217963] [ 0.63942957 -0.76669861 -0.2002611 ] [ 0.30786828 1.80906798 -0.44145949] [ 0.3967085 1.70004822 -0.19343556]]
## tf.train.GradientDescentOptimizer(learining_rate).minimize(loss) 梯度下降优化器
learning_rate = 学习率
loss = 系统成本函数
## tf.global_variables_initializer() 全局变量初始函数
## tf.train.SummaryWriter("./tmp", sess.graph) 生成tensorflow 可视化图表并保存到路径
时间: 2024-10-08 09:21:19