文档章节

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

zhuyuping
 zhuyuping
发布于 2016/04/14 17:45
字数 1172
阅读 28374
收藏 27
点赞 7
评论 0

首先大家看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
粉丝 303
博文 35
码字总数 51047
作品 0
徐汇
程序员
【干货】史上最全的Tensorflow学习资源汇总,速藏!

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

技术小能手 ⋅ 04/16 ⋅ 0

2018 AI、机器学习、深度学习与 Tensorflow 相关优秀书籍、课程、示例链接集锦

DataScienceAI Book Links | 机器学习、深度学习与自然语言处理领域推荐的书籍列表 人工智能、深度学习与 Tensorflow 相关书籍、课程、示例列表是笔者 Awesome Links 系列的一部分;对于其他...

王下邀月熊 ⋅ 05/21 ⋅ 0

送书&优惠丨对深度学习感兴趣的你,不了解这些就太OUT了!

点击上方“程序人生”,选择“置顶公众号” 第一时间关注程序猿(媛)身边的故事 TensorFlow是什么? TensorFlow的前身是谷歌大脑(google brain)团队研发的DistBelief。自创建以来,它便被...

csdnsevenn ⋅ 05/03 ⋅ 0

喜大普奔!TensorFlow中文社区论坛 (测试版) 发布上线!

昨天,TensorFlow与 Caicloud (才云) 联合发起和创建的 TensorFlow 中文社区论坛测试版(https://www.tensorflowers.cn) 正式上线与大家见面! 论坛目前包括以下板块: TensorFlow 技术问答:你...

j2iayu7y ⋅ 04/18 ⋅ 0

2018年6个最佳的免费在线人工智能课程!

  【IT168 资讯】围绕人工智能(AI)、自动化和认知系统的原则和实践中,无论您的业务领域、专业知识或专业如何,都有可能变得越来越有价值。      幸运的是,今天的你不需要花费几年时间...

it168网站 ⋅ 04/23 ⋅ 0

NLP 领域的 C 位课程!斯坦福 CS224d 中英字幕版重磅上线

今日,斯坦福大学「CS224d:深度自然语言处理课程」中英字幕版重磅上线! 本次翻译的 CS224d (2016-2017)课程视频为斯坦官方开源最新版本,由斯坦福大学教授、 Salesforce 的首席科学家 Ri...

雷锋字幕组 ⋅ 05/16 ⋅ 0

tensorflow(一) 介绍及基本操作

一、tensorflow介绍 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,T...

missayaaa ⋅ 04/23 ⋅ 0

开发者福利:TensorFlow 中文社区论坛测试版正式上线

雷锋网(公众号:雷锋网) AI 研习社消息,4 月 13 日,谷歌与 Caicloud (才云) 联合发起和创建的 TensorFlow 中文社区论坛测试版(https://www.tensorflowers.cn)正式上线。 从谷歌发布 Tens...

思颖 ⋅ 04/13 ⋅ 0

TensorFlow人工智能引擎入门教程所有目录

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

zhuyuping ⋅ 2016/04/22 ⋅ 6

TensorFlow应用实战-15-强化学习常用环境

使用TensorFlow开发会开赛车的AI 进行游戏领域 第一个我们使用了 RNN 和 LSTM 开发作曲智能应用。 深度卷积的生成对抗网络,帮我们开发能够制图的AI DeepMind 的 AlphaGo 围棋人工智能 Alph...

天涯明月笙 ⋅ 06/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部