机器学习初学者的TensorFlow笔记
来源:互联网 发布:软件注册机 编辑:程序博客网 时间:2024/06/06 09:12
最近在自学机器学习相关知识,感觉Google出的TensorFlow有一定的发展前途,于是进行了解了一下
TensorFlow官方介绍汉化版:http://bigdata.rzaixian.com/tensorflowzh/publish/get_started/introduction/
Tf就像是一个动作构成的树,就像太极拳一样,你必须从一个动作开始添加动作,并形成一套动作,这些动作的组合形成一个运算的步骤,这一点跟面对过程语言很像,不过它是实际上创建图并围绕图运作的
写作Tf就是一个计算模型,你根据数据(比如在平面上给出一些点的坐标)和推导建模(比如假设用n次幂的线分割),建模完成后选择优化方法(所有的优化方法都已经提供,只需要选择相应的优化函数),在建模的时候,为了TF可以对后续的计算进行优化,并行等目的,所有的op都要用tf提供的op(比如tf.sub而不是“-”)
通常工作步骤:
1.创建常量或者变量
tf.constant([[3., 3.]])
tf.Variable(0, name="counter")
2.创建op图(也就是模型)
第一个op称为源 op
new_value = tf.add(state, one)
或者
state = tf.Variable(0, name="counter")
后面的op可以使用前面的op作为参数update = tf.assign(state, new_value)
product = tf.matmul(matrix1, matrix2)
比如最终变成这样
y = tf.nn.softmax(tf.matmul(x,W) + b)
3.选择模型优化的方法
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
4.启动图
默认图:
sess = tf.Session()
5.初始化
如果有变量,首先必须增加一个`初始化` op 到图中.
init_op = tf.initialize_all_variables()
6.启动图, 运行源 op
如果有变量:运行变量的初始化op
sess.run(init_op)
运行源 op
sess.run(state)
这将返回一个计算结果
7.继续运行 op, 更新源op进行训练
比如:(update见上面,是一个更新原函数的op)
sess.run(update)
print sess.run(state)
(运行的时候会输出结果)
8.通过获取节点fetch获取计算结果
可以同时获取多个所需节点
result = sess.run([mul, intermed])
9.插入节点feed
TensorFlow 还提供了 feed 机制, 该机制 可以临时替代图中的任意操作中的 tensor 可以对图中任何操作提交补丁, 直接插入一个 tensor.
print sess.run([output], feed_dict={input1:[7.], input2:[2.]})
10.任务完成, 关闭会话.
sess.close()
0 0
- 机器学习初学者的TensorFlow笔记
- TensorFlow之三 ----- 机器学习初学者的MNIST
- 【机器学习】Tensorflow学习笔记
- TensorFlow官方教程学习笔记之2-用于机器学习初学者学习的MNIST数据集(MNIST For ML Beginners)
- TensorFlow教程01:针对机器学习初学者的MNIST实验——MNIST介绍
- TensorFlow教程02:针对机器学习初学者的MNIST实验——Softmax回归
- TensorFlow教程04:针对机器学习初学者的MNIST实验——源码和运行结果
- [机器学习收藏] TensorFlow初学者必须了解的55个经典案例
- 机器学习笔记5:TensorFlow的了解与运行
- 机器学习笔记8:基于TensorFlow的数据预测
- 机器学习之TensorFlow框架学习笔记
- TensorFlow学习笔记(二十一) tensorflow机器学习模型
- TensorFlow学习笔记6——《面向机器智能的TensorFlow实践》StanfordDog例程修改记录
- TensorFlow笔记1-mnist机器学习教程
- 机器学习笔记二十三 TensorFlow
- TensorFlow教程03:针对机器学习初学者的MNIST实验——回归的实现、训练和模型评估
- 初学者学习机器学习的资料选择
- 机器学习未来的发展趋势、初学者怎样学习机器学习
- IOS微信分享功能简单实现
- Android:Umeng(友盟)消息推送(二)
- HDU2066:一个人的旅行(Dijkstra)
- R语言︱决策树族——随机森林算法
- Problem D: 猴子吃桃问题
- 机器学习初学者的TensorFlow笔记
- 插入排序算法(排序详解)
- 【prim】HDU1863畅通工程
- 专题三1010
- 验证自身水平的hadoop面试题
- vmare nat方式链接配置
- 【java】Commons.Configuration读取配置文件(xml/property)
- hdu 5358(尺取法)
- leetcode Counting Bits