文档章节

TensorFlow 人工智能引擎 入门教程之一 基本概念以及理解

zhuyuping
 zhuyuping
发布于 2016/04/14 17:45
字数 1172
阅读 30669
收藏 27

首先大家看2 张图片   在0.8版本时候已经支持分布式了 ,所以未来的发展 方面 人工智能的趋势 不可挡,而且个人也是非常喜欢caffe 以及 tensorFlow 的我创业 用的就用到了它。

   



       下面我们来讲一下 学习tensorFlow要了解的基础知识。 

 首先安装方面 很简单 

      

  

ubuntu 下  pip install 这里 知识安装普通的0.5版本,如果需要最新版 看github上最新的0.8版本

安装好了 就可以开始使用了 

      首先 1.tensorflow  = tensor + flow = ndarray + dag图(网络)

也就是说 通过 每一个 有向图 dag 把每一步操作op 连接起来  传递 输入 输出都是一个nd array 多维数组(numpy) 然后在tensorFlow的回话中进行计算操作,

      1.占位符

       

x = tf.placeholder(tf.float32, [None, 10])
y = tf.placeholder("float")
z = tf.placeholder(tf.int32)

  占位符表示当OP 操作进行时候传递进来的过程,,也就是 feed 喂养 给予操作,所以 需要外部传递过来,比如训练图像时候

  X 为图像数据 Y为图像标签,这样的时候 X Y 都是来自训练测试数据,所以前面需要定义2个用来传递的占位符来传递X Y 

  feed 需要传递 python中的 tuple元祖 feed_dict={x: xdata, y: ydata} ,当执行op操作时候 feed传入替换 ,执行完后销毁

  

   这里上面 第二个参数 shape 表示约束维度  比如 shape=(1024,1024) 就是约束为1024 行 1024列的二维数组 

   如果shape=(None,1024) None 是python中的空值 ,表示 可以任何维度行的 1024列的二维数组

   2.变量 

     在tensorFlow 一些随时用来计算 变化 操作 共享的量, 我们知道OP 操作 在python传递的是ndarray多维数组 C++中就是tensorFlow的tensor类,多维数组在tensorFlow表示就是变量 

  

 w = tf.Variable(0.0, name="weights")
 b=  tf.Variable (tf.zeros([100]),name="bias")

  Variable第一个参数 表示 初始化的值 ,比如w 初始化为0 这样 w 在后面的过程中会一直变化,下次可能获取w时候是w=xxx 某个值,在tensorFlow中这种 可以通过fetch 也就是当需要获得 传递 某个最新的w 时候 可以 session.run([w]) ,这时候   传递的w 就是每次最新变化的最新的w

   如果有时候需要常量 使用

   

 k = tf.constant(3.0) #表示定义一个值为3.0的常量

       

   3.Session 回话

     TensorFlow  通过回话 进行 连接 操作 执行所有的op(操作)形成一个有向图,进行执行运行 图计算 graph compute

     每一个回话 的 只要有变量存在的情况 网络图  第一个bottom都是 initop 也就是初始化变量

    

init = tf.initialize_all_variables()
with tf.Session() as session:
   session.run(init)#1.第一个图的节点op   
   session.run(googlenet)#2.第二个图的节点op 1-2-n
   sess.close()#释放资源

类似于ipython一样 有交互式 的

InteractiveSession交互式回话session

 

sess = tf.InteractiveSession()

  





TensorFlow =  tensor (多维数组) + flow (graph 图 op)  session回话上下文管理   variable == tensor(多维数据变量)

placeholder == 外部传入的参数变量  

下面看看官方文档上的一个例子

 这里numpy 其实 tensor 二维数组就是numpy中的ndarrary

 tf.random_uniform 可以见api手册 就是随机的生成均匀分布的 一些-1 1 之间的shape 为1 2的二维数组

GradientDescentOptimizer 表示训练时候使用梯度下降来优化 ,还有很多优化策略。

   


 这一章都是基础概念 。后面 可能 要去工作了,时间不是那么有空,周末 可能 有空才会更新 ,后面章节我们来使用 tensorFow 来定一个 深度学习网络DNN 以及 卷积神经网络CNN .我创业 就到了TensorFlow  所以放心 tensorFlow 我还是比较了解的至少可以熟练使用吧,也许很多地方有些不足,请见谅 下面我们使用运行 测试 看看。

这里 提一下 就是因为上面有中文,所以在前面加上coding 让他utf-8 这是python基础知识

  

 运行结果

 

© 著作权归作者所有

共有 人打赏支持
zhuyuping
粉丝 305
博文 36
码字总数 51047
作品 0
徐汇
程序员
私信 提问
TensorFlow人工智能引擎入门教程所有目录

TensorFlow 人工智能引擎 入门教程之一 基本概念以及理解 TensorFlow人工智能引擎入门教程之二 CNN卷积神经网络的基本定义理解。 TensorFlow人工智能引擎入门教程之三 实现一个自创的CNN卷积...

zhuyuping
2016/04/22
22K
6
【干货】史上最全的Tensorflow学习资源汇总,速藏!

一 、Tensorflow教程资源: 1)适合初学者的Tensorflow教程和代码示例:(https://github.com/aymericdamien/TensorFlow-Examples)该教程不光提供了一些经典的数据集,更是从实现最简单的“Hel...

技术小能手
2018/04/16
0
0
英语不行?你可以试试TensorFlow官方中文版教程

机器之心编辑,参与:思源。 现在 TensorFlow 有官方中文版教程啦,以前的英文版 Tutorials 有了对应的中文翻译。各位还在 TensorFlow 门前徘徊的开发者们,现在可以对着中文教程学习各种流行...

机器之心
2018/11/19
0
0
Tensorflow 官方版教程中文版

2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源,同日,极客学院组织在线TensorFlow中文文档翻译。一个月后,30章文档全部翻译校对完成,上线并提供电子书下载,该文档的上线为...

极客Wiki
2015/12/15
189.8K
7
重磅!首届人工智能本科专业研讨会举办,这个学校已招收第一批本科生

国务院印发了《新一代人工智能发展规划》,要求“完善人工智能领域学科布局,设立人工智能专业”。 教育部印发了《高等学校人工智能创新行动计划》,要求“对照国家和区域产业需求布点人工智...

异步社区
2018/09/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Quartz监听器Listerner

概述 Quartz的监听器用于当任务调度中你所关注事件发生时,能够及时获取这一事件的通知。Quartz监听器主要有JobListener、TriggerListener、SchedulerListener三种,顾名思义,分别表示任务、...

大笨象会跳舞吧
20分钟前
3
0
Call exception, tries=10, retries=35, started=38348 ms ago, cancelled=false, msg=pc-node1 row

写hbase的问题,2019-01-18 23:23:28,082 | INFO | [hconnection-0x6431d54d-shared--pool2-t5] | Call exception, tries=10, retries=35, started=38348 ms ago, cancelled=false, msg=p......

stys35
23分钟前
2
0
docker 安装portainer、gogs、redis、mongodb、es、rabbitmq、mysql、jenkins、harbor

1、准备三台虚拟机ip如下 编号 Ip 1 192.168.100.101 2 192.168.100.102 3 192.168.100.103 2、镜像应用编排 192.168.100.101 主要安装系统运维相关服务 192.168.100.102 主要安装mysql、mon...

北岩
33分钟前
4
0
storm 提交任务报SocketException错误及解决办法

提交任务爆错: org.apache.storm.thrift.transport.TTransportException: java.net.SocketException: Broken pipe (Write failed) ..... Caused by: org.apache.storm.thrift.transport.TTr......

jingshishengxu
37分钟前
1
0
值得收藏:一份非常完整的MySQL规范

一、数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命...

Java干货分享
47分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部