机器学习实战2——Tensorflow初使用

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,则不限制大小

你可能感兴趣的:(机器学习实战2——Tensorflow初使用)