想要使用Tensorflow必须先要安装上这个,我用的是win10系统,之前也装了python环境

所以我就直接使用pip install tensorflow命令安装上就可以使用了。

想要使用tensorflow,就必须明白tensorflow:

1、使用图(graph)来表示计算任务。

2、在被称之为为会话(session)的上下文(context)中执行图。

3、使用tensor表示数据。

4、通过变量(Variable)维护状态。

5、使用feed和fetch可以为任意的操作赋值或者从其中获取数据。

tensorflow是一个编程系统,使用图来表示计算任务。途中的节点被称为op。一个op获得0个或多个tensor,执行计算,产生0个或多个tensor。每个tensor是一个类型化的多为数组。一个tensorflow图描述了计算的过程,为了进行计算,图必须在会话里被启动。会话将图的op分发到诸如cpu或gpu之类的设备上,同时提供执行op的方法。这些方法执行后,将产生的tensor返回。在Python中,返回的是numpy ndarray对象。

tensorflow程序通常被组织成一个构建和一个执行阶段。在构建阶段,op的执行步骤被描述成一个图。在执行阶段,使用会话执行执行图中的op。例如,通常在构建阶段创建一个图来表示和训练神经网络,然后在执行阶段反复执行图中的训练op。

构建图

tensorflow python库有一个默认图,op构造器可以为其增加节点。

下面我们来构建一个图,并执行它

import tensorflow as tf#建立computational graph
node1=tf.constant(3.,tf.float32)
node2=tf.constant(4.5)
tensor=tf.add(node1,node2)print(node1)
print(node2)#执行computational graph
session=tf.Session()
print(session.run(node1))
print(session.run(node2))
print(session.run(tensor))

session.close()

运行结果是这样的

由此可见我们创建node1与node2其实是创建了两个tensor结点,Session对象在使用完之后需要关闭以释放资源。除了显式的条用close外,也可以使用“with”代码块来自动完成关闭工作。

with tf.Session() as session:result=session.run(node1)print(redult)

在实现上,tensorflow将图形定义转换成分布式执行的操作,以充分利用可用的计算机资源。

交互式使用

文档中的Python示例使用一个会话Session来启动图,并调用Session.run()方法执行操作。为了便于使用注入IPython之类的Python交互环节,可以使用InteractiveSession代替Session类,使用Tensor.eval()和Operation.run()方法代替Session.run()。这样可以避免使用一个变量来持有会话。

#进入一个交互式Tensorflow会话
import tensorflow as tfsess=tf.InteractiveSession()x=tf.Variable([1.0,2.0])
a=tf.constant([3.0,3.0])#使用Operation.run()方法初始化x
x.initializer.run()#增加一个剪发op,从x减去a,运行减法结果,减去输出结果
sub=tf.sub(x,a)
print(sub.eval())

Tensor

tensorflow程序使用tensor数据结构来代表所有的数据,计算图中,操作间传递的数据都是tensor。你可以把tensorflow tensor看作是一个n维的数组或者列表。一个tensor包含一个静态类型rank,和一个shape。

变量

Variables变量维护图执行过程中的状态信息。下面的例子演示了如何使用变量实现一个简单的计数器。

import tensorflow as tf#创建一个变量,初始化维标量0
state=tf.Variable(0,name="counter")#创建一个op,其作用是使state增加1
one=tf.constant(1)
new_value=tf.add(state,one)
update=tf.assign(state,new_value)#启动图后变量不需经过初始化#首先必须增加一个初始化‘op’到图中
init_op=tf.initialize_all_variables()启动图,运行op
with tf.Session() as sess:sess.run(init_op)print(sess.run(state))for _ in range(3):sess.run(update)print(sess.run(state))

运行结果如下

代码中的assign()操作是图所描绘的表达式的一部分,正如add()操作一样,所以在调用run()执行表达式之前,不会进行真正执行的赋值操作。

我们通常会将一个统计模型中的参数表示为一组变量。例如,你可以将一个神经网络的权重作为某个变量存储在一个tensor中。在训练过程中,通过重复运行训练图,更新这个tensor。

Fetch

为了取回操作的输出内容,可以在使用Session对象的run()调用执行图时,传入一些tensor,这些tensor会帮助你取回结果。在之前我们只取回了单个节点state,但是你也可以取回多个tensor:

import tensorflow as tfinput1=tf.constant(3.0)
input2=tf.constant(2.0)
input3=tf.constant(5.0)
intermed=tf.add(input2,input3)
mul=tf.multiply(input1,intermed)#multiply(),两个数相乘

with tf.Session() as sess:result=sess.run([mul,intermed])print(result)

输出结果如下

需要获取多个tensor值,在op的依次运行中一起获得(而不是之歌去获取tensor)。也就是我们可以将两个节点和在一块输出。

feed

上述示例在计算图中引入了tensor,以常量或者变量的形式存储。Tensorflow还提供了feed机制,该机制可以临时替代图中的任意操作中的tensor可以对图中任何操作提交补丁,直接插入一个tensor。

feed使用一个tensor值临时,替换一个操作的输出结果。你可以提供feed数据作为run()调用的参数。feed旨在调用它的方法内有效,方法结束,feed就会小时。最常见的用例是将某些特殊的操作指定为“feed”操作,标记的方法是使用tf.placeholder()为这些操作创建占位符。

import tensorflow as tfinput1=tf.placeholder(tf.float32)
input2=tf.placeholder(tf.float32)
output=tf.multiply(input1,input2)with tf.Session() as sess:print(sess.run([output],feed_dict={input1:[7.],input2:[2.]}))

输出的结果是这样的

转载于:https://www.cnblogs.com/fromzore/p/10122108.html

Tensorflow初入门相关推荐

  1. 视频教程-深度学习与TensorFlow 2入门实战-深度学习

    深度学习与TensorFlow 2入门实战 新加坡国立大学研究员 龙良曲 ¥399.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP订阅课程,领取优惠,最少立减5 ...

  2. 少走弯路:强烈推荐的TensorFlow快速入门资料(可下载)

    (图片付费下载自视觉中国) 作者 | 黄海广 来源 | 机器学习初学者(ID: ai-start-com) 知识更新非常快,需要一直学习才能跟上时代进步,举个例子:吴恩达老师在深度学习课上讲的Tens ...

  3. Tensorflow快速入门2--实现手写数字识别

    Tensorflow快速入门2–实现手写数字识别 环境:  虚拟机ubuntun16.0.4  Tensorflow 版本:0.12.0(仅使用cpu下) Tensorflow安装见:  http:/ ...

  4. 学python有哪些用途-初入门学习python有哪些用途?

    python是人工智能的重要编程语言,无论发展前景还是就业方向,不可限量.更重要的是python还是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.那么初入门学习python有哪些用途呢 ...

  5. tensorflow从入门到精通100讲(七)-TensorFlow房价预估使用Keras快速构建模型

    前言 这篇文章承接上一篇tensorflow从入门到精通100讲(二)-IRIS数据集应用实战 https://wenyusuran.blog.csdn.net/article/details/107 ...

  6. TensorFlow官方入门实操课程-一个神经元的网络(线性曲线预测)

    基于如下的课程进行的学习记录 TensorFlow官方入门实操课程 #设置显卡内存使用率,根据使用率占用 import os os.environ["TF_FORCE_GPU_ALLOW_G ...

  7. 带你少走弯路:强烈推荐的TensorFlow快速入门资料和翻译(可下载)

    知识更新非常快,需要一直学习才能跟上时代进步,举个例子:吴恩达老师在深度学习课上讲的TensorFlow使用,这个肯定是他近几年才学的,因为谷歌开源了TensorFlow也就很短的时间. 吴恩达老师以 ...

  8. 1_RabbitMQ初入门入门Hello消费者+生产者

    文章目录 1_RabbitMQ初入门 1.RabbitMQ的介绍 1.工作原理&发送/接收消息的流程 2. 为什么要使用消息队列? 3.使用了消息队列有什么缺点? 2.安装RabbitMQ 3 ...

  9. Java入门基础及面试100题--初入门

    Java入门基础及面试100题 注:适合应届毕业生或java初入门者 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程, ...

最新文章

  1. html左浮动不管用图片往下放,html - 如何在HTML / CSS中水平对齐图像(浮动和显示内联块不起作用) - 堆栈内存溢出...
  2. django model对象修改_从0到1搭建个人博客-Django(三)
  3. 2018年蓝桥杯C++B;乘积尾零(拆分法)
  4. HDR概念 (二十八)
  5. pandas rolling方法_Pandas处理时间序列数据的20个关键知识点
  6. Harmony OS — DatePicker日期选择器
  7. 数论知识(2)-------------欧拉函数
  8. C++/C学习笔记(二)
  9. 64位java_java64位
  10. CSS中文字体如宋体/微软雅黑的英文名称写法
  11. 爱站网关键词挖掘查询工具-批量网站关键词挖掘导出软件免费下载
  12. 重庆邮电大学 计算机学院导师,宋秀丽_重庆邮电大学研究生导师信息
  13. xshell命令大全编译c语言,Xshell脚本——make命令
  14. Centos7下为nvidia显卡安装驱动
  15. 基金使用计划 数学建模 matlab,基金使用计划(数学建模).ppt
  16. CSS峰会亮点直击,大咖共议产业上云的安全“最优解”
  17. 27个机器学习图表,帮你作弊一般飞速成长!
  18. 文本分类 决策树 python_NLTK学习笔记(六):利用机器学习进行文本分类
  19. JS获取input框用户输入信息作为数组存储传输给后台数据库操作存储方法
  20. 有关衬衫领:你所不知的各种“秘密”_第1页_福布斯中文网

热门文章

  1. Using Swift with Cocoa and Objective-C(Swift 2.0版):开始--基础设置-备
  2. ACM 整数划分(四)
  3. 香蕉派开源硬件 Banana PI
  4. TCP/IP网络编程(2)
  5. android统一错误ui展示,Android UI异常分析
  6. java linux 格式化磁盘,Linux添加新硬盘、分区、格式化、自动挂载
  7. oracle ora-14404,分区表的分区表空间不同引起的删除表空间错误
  8. java geoprocessor_ArcGIS GeoEvent Processor for Server 安裝與配置 (僅適用於壓縮安裝包)...
  9. Linux刚刚安装完anaconda,启动anaconda-navigator
  10. Float Protocol将于5月7日至10日进行FLOAT代币创世发布