运行机制:张量tensor+计算图graphs
1.tensor张量表示数据:常量,变量
2.op:operation:四则运算等
本质:tf=tensor+计算图
tensor 数据
graphs 数据操作
session是执行的核心,交互过程
运算时需要插入的数据
3.变量
x=tf.Variable()
# 变量赋值
state=tf.Variable(0)
new_value=tf.add(state,1)
update=tf.assign(state,new_value)
# 变量初始化
init=tf.initialize_all_variables()
with tf.Session() as sess:
sess.run(init)
for i in range(5):
print(sess.run(update))
4.fetch
sess.run([x1,x2])
5.feed
sess.run(output,feed={input1:x1,input2:x2})
6.梯度下降法
# 定义损失函数
loss=tf.reduce_mean(tf.square(y_data_y))
# 定义优化器-->梯度优化
optimizer=tf.train.GradientDescentOptimizer(0.2)
# 通过优化器最小化损失函数
train=optimizer.minimize(loss)
# 循环train
with tf.Session() as sess:
for step in range(2000):
sess.run(train)
- tf.random.normal()
tf.random_normal()函数用于从“服从指定正态分布的序列”中随机取出指定个数的值。
tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
shape: 输出张量的形状,必选
mean: 正态分布的均值,默认为0
stddev: 正态分布的标准差,默认为1.0
dtype: 输出的类型,默认为tf.float32
seed: 随机数种子,是一个整数,当设置之后,每次生成的随机数都一样
name: 操作的名称
tf.arg_max()
tf.argmax(input,axis)根据axis取值的不同返回每行或者每列最大值的索引。
axis=0 返回每列
axis=1 返回每行tf.cast()
tf.cast()函数的作用是执行 tensorflow 中张量数据类型转换,比如读入的图片如果是int8类型的,一般在要在训练前把图像的数据格式转换为float32。
cast定义:
cast(x, dtype, name=None)
第一个参数 x: 待转换的数据(张量)
第二个参数 dtype: 目标数据类型
第三个参数 name: 可选参数,定义操作的名称
- tf.truncated_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None)
功能说明:产生截断正态分布随机数,取值范围【mean-2stddev,mean+2stddev】
参数列表:2020-03-30 18-36-49屏幕截图.png