tensorflow(三)

JM 2019-12-22

1.placeholder

 一个数据占位符,用于在构建一个算法时留出一个位置,然后在run时填入数据。

x = tf.placeholder(tf.float32)
y = tf.placeholder(tf.float32)

z = x*y
with tf.Session() as sess:
    print(sess.run(z,feed_dict={x:3.0,y:2.0}))

2.variable

存储节点作为数据流图中的有状态节点,其主要作用是在多次执行相同数据流图时存储特定的参数,如深度学习或机器学习的模型参数。对于无状态节点,其输出由输入张量和节点操作共同确定,对于有状态节点

如存储节点,其输出还会受到节点内部保存的状态值影响。

x = tf.placeholder(tf.float32)
W = tf.Variable(1.0)
b = tf.Variable(1.0)

y = W*x + b
with tf.Session() as sess:
    tf.global_variables_initializer().run()
    fetch = y.eval(feed_dict={x:3.0})
    print(fetch)

3.Session

tensorflow所有的操作必须在会话中执行,所有计算任务都由它分发到其连接的执行引擎完成。

会话分为普通会话和交互式会话。

普通会话的典型使用流程,创建会话,运行会话,关闭会话

交互式会话,为用户提供类似shell的交互式编程环境,交互式会话在创建是将自己注册为默认会话,在普通会话中如果要执行张量的eval或op的run必须借助with,交互式会话中不需要。

a = tf.constant(5.0)
b = tf.constant(6.0)
c = a*b

sess = tf.InteractiveSession()
print(c.eval())
sess.close()

二、优化器

1.损失函数与优化算法

损失函数分为平方损失函数,交叉熵损失函数,指数损失函数

tensorflow(三)

 优化算法

tensorflow(三)

tensorflow提供的优化器

Adadelta,Adagrad,Adagrad Dual Averaging,Adam,Ftrl,Gradient Descent,Momentum,Proximal Adagrad,Proximal Gradient Descent,Rmsprop,Synchronize Replicas

 

相关推荐