Tensorflow的一些亮点:
1.可以运行在windows,Linux,macOS和移动设备上
2.提供了TF .Learn的API来兼容Scikit-Learn
3.提供了TF-Slim的API来简化神经网络的构建、训练和评估
4.在Tensorflow之上,独立构建了一些高级API,比如Keras和Pretty Tensor
5.通过他的API,可以用C++来实现高性能操作
6.自动微分:他会自动计算你定义的成本函数的梯度
7.提供TensorBoard的可视化工具
8.Google还启动了一个叫做TensorFlow计算图的云服务
Tensorflow变量初始化:
sess = tf.Session()
sess.run(x.initializer)
result = sess.run(f)
sess.close()
or:
with tf.Session() as sess:
x.initializer.run()
result = f.eval()
or:
init = tf.global_variables_initializer()
with tf.Session() as sess:
init.run()
result = f.eval()
or:
sess = tf.InteractiveSession() #InteractiveSession在创建时会自己设置为默认会话,因此无需使用with,但是需要close
init.run()
result = f.eval()
sess.close()
使用自动微分(反向autodiff):gradients()适用于多输入少输出(例如神经网络)
gradients = tf.gradients(mse,[theta])[0]
mse:操作符,对某个变量求导
[theta];参数列表,需要求导的变量
使用优化器:
optimazer = tf.train.GradientDescentOptimizer(learning_rate = learning_rate)
GradientDescentOptimizer可以改为其他的优化器类型
training_opt = optimizer.minimize(mse)
占位符:placeholder()
在定义时不进行任何的操作,在运行时,需要传递一个feed_dict来指定其值。可以在定义时用shape=()指定大小,如果shape=None,则不限制大小