五分钟带你入门TensorFlow
本文是《人人都能学人工智能-TensorFlow系列》文章的第一篇,这个系列会对TensorFlow的基础使用,SoftMax,交叉熵,Dropout,CNN,LSTM和NLP等内容进行系列介绍,尽量使用通俗的语言,让更多的人都能了解人工智能,了解TensorFlow。
TensorFlow是Google开源的一款人工智能学习系统。为什么叫这个名字呢?Tensor的意思是张量,代表N维数组;Flow的意思是流,代表基于数据流图的计算。把N维数字从流图的一端流动到另一端的过程,就是人工智能神经网络进行分析和处理的过程。
话说在Android占领了移动端后,Google开源了TensorFlow,希望占领AI端。TF的特点是可以支持多种设备,大到GPU、CPU,小到平板和手机都可以跑起来TF。而且TF的使用很方便,几行代码就能开始跑模型,这让神经网络的入门变得非常简单。
本文是第一篇,都是最基础的内容,老手可以略过
一、TensorFlow的安装
在开始写代码之前,咱们先得把TensorFlow安装到电脑上。这里有两种方法,一是一个一个手动命令行安装,二是批量的图形化界面安装。
先看手动安装,我们安装好TensorFlow和upyter Notebook就可以了。
1)安装TensorFlow
Windows上:
安装CPU版本:管理员模式打开命令行,输入命令:pip install tensorflow
安装GPU版本:管理员模式打开命令行,输入命令:pip install tensorflow-gpu
Linux上:
命令和上面一样,如果你使用的是Python3点几的版本,那么安装命令为:
安装CPU版本:输入命令:pip3 install tensorflow
安装GPU版本:输入命令:pip3 install tensorflow-gpu
如果提示没有安装pip,mac的同学可以先通过命令安装pip:
1 命令行输入:curlhttps://bootstrap.pypa.io/ez_setup.py-o - | sudo python
2 命令行输入:sudo easy_install pip
2)安装Jupyter Notebook
这是一个交互式的笔记本,你可以理解为一个比较漂亮和简洁的编辑器。可以很方便地创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。一般用与做数据清理和转换,数值模拟,统计建模,机器学习等等。
输入命令:pip install jupyter
前面的方法是自己手动一个一个安装,其实已经有人帮我们做了一个大集合,不需要再一个一个手动安装了,下面介绍图形界面的批量安装方式:
1)安装Anaconda。Anaconda是什么?如果你把TensorFlow看做火箭筒,那么Anaconda就是军火库,里面有各种的科学计算,机器学习的Python工具库。在官网下载后,直接安装,然后打开Anaconda,就可以看到下面的页面:
2)点到第二行的Environments,可以看到很多的工具包,搜索TensorFlow,勾选上,然后点击Apply,进行安装就可以了。如果以后还需要其他的工具包,也可以在里面找到,勾选上进行安装。
OK,安装教程到此告一段落。有了jupyter和tensorflow,我们就可以开始基础的运算了。
二、TensorFlow的基础运算
在搞神经网络之前,先让我们把TensorFlow的基本运算,也就是加减乘除搞清楚。
首先,TensorFlow有几个概念需要进行明确:
1 图(Graph):用来表示计算任务,也就我们要做的一些操作。
2 会话(Session):建立会话,此时会生成一张空图;在会话中添加节点和边,形成一张图,一个会话可以有多个图,通过执行这些图得到结果。如果把每个图看做一个车床,那会话就是一个车间,里面有若干个车床,用来把数据生产成结果。
3 Tensor:用来表示数据,是我们的原料。
4 变量(Variable):用来记录一些数据和状态,是我们的容器。
5 feed和fetch:可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据。相当于一些铲子,可以操作数据。
形象的比喻是:把会话看做车间,图看做车床,里面用Tensor做原料,变量做容器,feed和fetch做铲子,把数据加工成我们的结果。
2.1 创建图和运行图:
下面我们创建一个图,并在Session中执行它,不用担心看不懂,每句代码都会注释,只有有编程基础,都能OK:
上面就是用TensorFlow进行了一个最简单的矩阵乘法。
2.2 创建一个变量,并用for循环对变量进行赋值操作
可以看到,除了变量创建稍微麻烦一些和必须建立session来运行,其他的操作基本和普通Python一样。
2.3 通过feed设置placeholder的值
有的时候,我们会在声明变量的时候不赋值,计算的时候才进行赋值,这个时候feed就派上用场了
到这里,恭喜你,已经成功入门TensorFlow~ 是不是觉得太简单?好像和深度学习毛线关系都没有嘛。不要急,下一篇文章和大家一起用TensorFlow做一个简单的用神经网络来做手写图片识别的实战。
想第一时间看到下一篇实战文章?抓紧订阅吧~~~
作者:AI二师兄
链接:https://www.jianshu.com/p/2ea7a0632239
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
五分钟带你入门TensorFlow相关推荐
- C语言入门非常简单!神级程序员五分钟带你入门!这就是学习效率
很多小伙伴都老是会碰到疑问,其实还是基础没打扎实,这些题如果你不看答案你能知道多少呢?如果还有很多不知道就证明基础没打扎实,如果你还在入门纠结,如果你还在苦恼怎么入门!小编有个建议,可以加小编弄的一个 ...
- 五分钟学会python函数_五分钟带你搞懂python 迭代器与生成器
前言 大家周末好,今天给大家带来的是Python当中生成器和迭代器的使用. 我当初第一次学到迭代器和生成器的时候,并没有太在意,只是觉得这是一种新的获取数据的方法.对于获取数据的方法而言,我们会一种就 ...
- c++ map用法_Python专题——五分钟带你了解map、reduce和filter
点击上方蓝字,和我一起学技术.今天是Python专题第6篇文章,给大家介绍的是Python当中三个非常神奇的方法:map.reduce和filter.不知道大家看到map和reduce的时候有没有什么 ...
- 8分钟带你入门人工智能,互联网大厂都在用的高能AI算法
哈喽,大家好,我是 Jack. 不少小伙伴问我,互联网大厂都在用哪些算法?有哪些算法值得学习? 这次,我做了一个视频,又剪了两周多,速度有点慢,但内容绝对充实. 主要是盘点一些互联网巨头,都在使用的人 ...
- Android 3分钟带你入门开发测试
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/-TW7p3z3vJ3GJw7X9u7dVg 作者:Zhu Yifei 作为一名合格的开发人员, ...
- a*算法matlab代码_10分钟带你入门MATLAB
10分钟带你快速入门MATLABhttps://www.zhihu.com/video/1234089282815188992 前一段时间我发现有些小伙伴MATLAB基础比较薄弱,今天我来让各位小 ...
- 15分钟带你入门sklearn与机器学习——分类算法篇
作者 | 何从庆 本文转载自AI算法之心(ID:AIHeartForYou) [导读]众所周知,Scikit-learn(以前称为scikits.learn)是一个用于Python编程语言的免费软件机 ...
- 干货:五分钟带你看懂NestedScrolling嵌套滑动机制
Android NestedScrolling嵌套滑动机制 Android在发布5.0之后加入了嵌套滑动机制NestedScrolling,为嵌套滑动提供了更方便的处理方案.在此对嵌套滑动机制进行详细 ...
- 15 分钟带你入门 sklearn 与机器学习(分类算法篇)
众所周知,Scikit-learn(以前称为scikits.learn)是一个用于Python编程语言的免费软件机器学习库.它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度增强,k-me ...
最新文章
- 在C#中SendMessage和PostMessage的参数传递
- 脸书员工都在VR上工作了,你还等什么?
- html 右侧滚动条,html中去掉textarea右侧滚动条和右下角拖拽
- 腾讯TEG团队打造轻量级数据可视化工具——小马BI【强烈推荐大数据行业学习】
- 中缀表达式转后缀表达式 java_中缀表达式转后缀表达式并计算结果Java实现
- “Hello, my first blog”------第一篇博客的仪式感
- 如何解决Ubuntu桥接模式无法联网
- 语音广播服务器,智慧校园语音广播说明(二)
- 换种方式实现3级联动
- 一个前端面试官的自白:Connecting the Dots
- 联想Y470 非虚拟机安装苹果Mac OS X Mavericks 10.9.1教程详解(文字+图片),通俗易懂亲自动手——序列四之重启系统,系统设置
- Python量化交易平台开发教程系列5-底层接口对接
- 2021年全球与中国油管线轴行业市场规模及发展前景分析
- Altium Designer 18PCBLogo制作
- .chm格式文件如何阅读
- 北京晚报:谷歌中国访问量陡增
- 神经网络——机器学习基础
- vs2015下pthread的使用
- git撤销的相关操作
- stable-diffusion-webui部署