tensorflow 转张量类型为float_TensorFlow快速入门

TensorFlow是一个数值计算库,其中数据(Tensor,张量)在计算图中流动。数据在TensorFlow用被称为张量的n维数据表示。计算图由数据和数学操作符构成。
- 计算图中的节点代表数学操作符
- 计算图中的边代表操作符之间的张量
计算图(Graph)
在TensorFlow中,一个计算图表述了计算过程。当你创建计算图时,变量还没有值。只有你在会话(Session)中运行计算图,变量才有值。在我们正式使用TensorFlow之前,先将其导入。

计算图是TensorFlow的核心概念之一,每个计算/操作/变量都在计算图上机型。代码中发生的一切都在TensorFlow提供的默认计算图中进行。我们可以通过以下方式访问此图:
graph = tf.get_default_graph()
可以通过用graph.get_operations()
来查看所有的操作。

输出为空,因为我们并没有在计算图上添加任何东西。
或者,我们可以用
for op in graph.get_operations():print(op.name)
来查看默认计算图中所有操作的名字。当然,我们也可以同时创建多个计算图。
会话(Session)
一个计算图可以用来定义操作,但这些操作只能在会话中执行。计算图和会话可以分别独立创建。我们可以把计算图想成是施工图纸,而会话就是施工现场。
可以按照如下方式创建会话:
sess = tf.Session()
... your code ...
... your code ...
sess.close()
每次打开一个会话时,记住要关闭它。或者使用with
块,
with tf.Session() as sess:sess.run(f)
使用with
块的优点是:会话在with
块结束时会自动关闭。
张量(Tensor)
TensorFlow用张量来保存数据,有点像numpy用多维数组保存数据(还是不一样呢!)。
常量(Constant)
常量就意味着它的值不能变,我们可以按如下方式定义常量:

可以看到并不像在Python中,定义了一个常量就可以打印出其值。我们如果想要访问或者输出一个常量的值,必须要在会话中执行。

变量(Variable)
与常量不同,变量可以包含不同的值。但是,它需要由初始化操作进行初始化。对每个变量会很费力。TensorFlow提供了一次性初始化所有变量的机制:
init_op = tf.global_variables_initializer()
init_op
将会加到默认的TensorFlow计算图中。如果我们要访问变量,在其之前执行init_op
操作即可。

现在,我们再次尝试输出所有操作的名字:

占位符(Placeholder)
占位符是等待初始化/feed的张量。占位符用于训练数据,这些数据仅在代码在会话中运行时提供。给占位符的内容称为feed_dict。 Feed_dict是用于保存数据的键值对:

线性回归(Linear Regression)
接下来,我们用上述知识尝试做一个线性回归的任务。
可以先创建一些点,

定义两个占位符,用来feed数据(trainX
和trainY
):
X = tf.placeholder('float')
Y = tf.placeholder('float')
线性回归模型是y_model = w * x + b
,我们得通过模型计算得到w
和b
的值。初始化w
和b
的值为0。代价函数定义为(Y - y_model) ^ 2
。TensorFlow中包含了许多优化器可以用来计算并更新梯度以最小化某个代价函数。在这里,我们可以GradientDescentOptimizer
并设置学习速率为0.01。
w = tf.Variable(0.0, name='weight')
b = tf.Variable(0.0, name='bias')
y_model = tf.multiply(w, X) + bcost = tf.pow(Y - y_model, 2)
train_op = tf.train.GradientDescentOptimizer(0.01).minimize(cost)
现在已经定义好了计算图。为了进行计算,我们需要在会话中执行代码:
with tf.Session() as sess:sess.run(init_op)for i in range(100):for (x, y) in zip(trainX, trainY):sess.run(train_op, feed_dict={X:x, Y:y})print(sess.run(w), sess.run(b))
计算结果为:

可以得到下图:

参考
[1] https://cv-tricks.com/artificial-intelligence/deep-learning/deep-learning-frameworks/tensorflow-tutorial/
相关文章:

环境变量配置文件
环境变量配置文件 关于显示"bash5.2#"问题 由于是PS1没有设置成功,说明~/.bash_profile --> ~/.bashrc --> /etc/.bashrc的文件加载流程出错。 posted on 2016-04-06 12:50 大侠去哪儿 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.…

【译】CSS动画 vs JS动画
原文地址 目前有两个主流的方法在web上创建动画:使用CSS或JS。到底选择哪种方法来实现动画,完全取决于你的项目以及你想要达到的效果。 tips: 对于简单的只出现一次的过渡效果,可以采用CSS动画,比如切换UI元素的状态在需要高级的效…

问题二:相关性怎么引入?
在大数据处理的时候总是会有说,现今科学技术的发展使得我们使用样本取代总体的时代过去了。在新的时代我们使用的是足够多的接近于总体的大的数据。在这个大的数据里面,我们没有办法具体数据具体的分析。因为它足够的大。 因此引入了相关性的概念&#x…

【UE5】虚幻引擎5中的VFX游戏特效制作学习教程
从零开始学习虚幻引擎5中的实时VFX。 你会学到什么 了解如何创建实时效果 通过创造效果来学习Niagara 了解Niagara是如何运作的 为游戏创造各种各样的效果。 创造风格化的火 创建风格化的爆炸 创造能量球 MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz 语…

HDOJ 1236 排名(练耐心题)
Problem Description 今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑 每题的分值,所以并不是最后的排名。给定录取分数线,请你写程序找出最后通过分数线的 考生,并将他们的成绩按…

python跟java 效率_对比平台--Java与Python之间的性能差异
ava Performance和Python之间的主要区别 以下是描述Java Performance和Python之间的区别的要点列表: 以下是Java性能与Python之间的主要区别,我们在决定应该选择哪种语言之前必须进行分析和评估。 Java是一种编译语言,而Python是一种解释语言…
你听说过反摩尔定律吗?
相信很多人听说过摩尔定律,但是你听说过反摩尔定律吗? 可能你会以为反摩尔定律就是与摩尔定律相反的定律,甚至认为这两个定律相互矛盾,那你就大错特错了,其实两种定律可以说是针对同一种现象的不同说法。 摩尔定律是…

《Java从入门到精通》第九章学习笔记
第9章 类的高级特性 一、抽象类 抽象类只声明方法的存在,不能被实例化,就是说抽象类不能创建其对象,在定义抽象类时要在class前面加上abstract关键字。 1 /*定义一个抽象类Fruit,并定义其抽象方法2 *在其子类中实现该抽象方法3 …
Python中的super()函数
多路继承的问题 描述: 解决这样的问题Python中可以使用super() super()函数有点: (1)在父类中可以直接的调用未绑定的方法 (2)在确保所有的父类的构造方…

【UE5教程】影棚拍摄于虚拟场景合成制作流程学习
用虚幻引擎预算虚拟生产5 你会学到什么 使用虚幻引擎5进行虚拟生产 使用虚幻引擎5的独立虚拟制作 用虚幻引擎预算虚拟生产5 用虚幻引擎5进行穷人虚拟生产 用虚幻引擎5进行自制虚拟制作 虚幻引擎5独立虚拟制作 带虚幻引擎5的复合绿屏 虚拟生产导论 面向初学者的虚拟生产 MP4 |视…

java面试题:分布式和微服务的区别
分布式架构解决的是如何将一个大的系统划分为多个业务模块这些业务模块会分别部署到不同的机器上,通过接口进行数据交互的问题。微服务是指很小的服务,可以小到只完成一个功能,这个服务可以单独部署运行,不同服务之间通过rpc调用。分布式架构是将一个大的系统划分为多个业务模块,这些业务模块会分别部署到不同的机器上,通过接口进行数据交互。微服务架构是架构设计方式,是设计层面的东西,一般考虑如何将系统从逻辑上进行拆分,也就是垂直拆分。分布式系统是部署层面的东西,即强调物理层面的组成,即系统的各子系统部署在不同计算机上。

python安装成功的图标_ubuntu下:安装anaconda、环境配置、软件图标的创建、成功启动anaconda图形界面...
Ubuntu安装anaconda常见的四大问题:目录1、介绍2、安装anaconda3、环境配置4、软件图标的创建5、成功启动anaconda图形界面1、介绍先介绍一下anaconda和python的关系:初学者所安装的python2/3只是python的环境,没有python的工具包&a…

jQuery和dom的相互转换
1.将DOM对象转换成jQuery对象 $div $(objDom); 2.将jQuery对象转换成DOM对象 objDom $(objJqeury).get(0); 3.判断一个元素是否存在于页面 jQuery方法: $("#id").length >0:代表存在于页面 0:不存在页面 4.取另一个页面中存在的元素 …

VScode的撤销操作的快捷键
撤销刚才的操作:CtrlZ 恢复刚才的操作:CtrlShiftZ

IOS初级:UIAlertController
- (IBAction)signOutAction:(id)sender {//初始化,StyleActionSheet是对话框的样式UIAlertController *alert [UIAlertController alertControllerWithTitle:"是否注销?" message:"真的要注销吗" preferredStyle:UIAlertControllerStyleActionSheet];//添…

1976年图灵奖
获奖原因: 在1959年发表的论文“有限自动机及其判定问题”中提出了非确定性有限状态自动机这一概念。 图灵奖引用: 授 予 MichaelO. Rabin与DanaSteward Scott图灵奖以表彰合作撰写的研究论文“有限自动机与其判定性问题”。在该研究论文中,…

UE4蓝图无代码编程游戏开发技能学习教程
在虚幻引擎4中创建、设计和开发自己的游戏,无需编码 你会学到什么 虚幻引擎4中使用蓝图的游戏开发(无代码编程) 使用行业标准方法的游戏设计 使用Maya进行三维设计 在本课程中创建您的第一个游戏 Game Development Essentials with Unreal Engine 4 Blueprints M…

“睡眠猴子”团队项目及成员介绍
“睡眠猴子”团队项目及成员介绍 咳咳……软件工程这门课最终还是来到了团队开发的部分,我们宿舍三只经过一下午的讨论和需求分析决定做一款名叫“睡眠猴子”的安卓版手机软件,具体的项目功能和团队介绍如下: 一、“睡眠猴子”开发团队介绍&a…

python代码编写规范_python初学者-代码规范
一、编程规范 1.缩进(代码块) 类定义、函数定义、选择结构、循环结构、with块、行尾的冒号表示缩进的开始。 python程序是依靠代码块的缩进来体现代码之间的逻辑关系,缩进结束就表示一个代码块结束。 同一个级别的代码块的缩进量必须相同。 一…

程序出现 ld returned 1 exit status的解决办法之一
把正在运行的窗口关闭

基于自然的灵感算法--元启发式
问题一:自然赋予的元启发式优化算法的分类 自然赋予的元启发式算法(模拟生物或者物理的现象去解决问题)有三大类也就是:基于进化,基于物理的,基于群体的 基于进化的主要是受达尔文的物种进化理论的启发&a…

三维地形制作软件 World Machine 基础入门学习教程
《World Machine课程》涵盖了你需要的一切,让你有一个坚实的基础来构建自己的高质量的电影或视频游戏地形。 你会学到什么 为渲染或游戏开发创建高分辨率、高细节的地形。 基于World Machine蒙版和着色设备的纹理地形。 获得哪个节点达到预期结果的信心。 组装宏以…

python编写脚本方法_【Python】教你一步步编写banner获取脚本
Hello 各位小伙伴们大家好,周末过的愉快吗? 刚好最近学习了使用python编写banner获取脚本,今天就跟大家一起一步一步再学习一遍吧。 Part.1 说明篇 什么是banner? banner可以理解为我们连上服务器后,服务器响应的第一条…

Linux内核分析——可执行程序的装载
链接的过程 首先运行C预处理器cpp,将C的源程序(a.c)翻译成ASCII码的中间文件(a.i)接着C编译器ccl,将a.i翻译成ASCII汇编语言文件a.s接着运行汇编器as,将a.s翻译成可重定位的目标文件a.o最终完全链接成可执行文件a.out目标文件 目标文件有三种…

c语言中external,static关键字用法
static用法: 在C中,static主要定义全局静态变量、定义局部静态变量、定义静态函数。 1、定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点。 a.在全局区分配内存。 b.如…

男神女神配——alpha阶段总结
一、需求分析 虽然公共社交网络系统能够满足大多数高校校园用户在校园网络社交的需求,但是针对校园学习、工作和文化生活等方面的支持以及学校个性化需求方面却存在不足。利用电子校务平台的数据,设计了与真实校园环境和活动紧密结合,包含具有…

正向代理和反向代理??
(5 条消息)正向代理 反向代理 本质区别? - 知乎 https://www.zhihu.com/question/36412304/answer/76804314 正向代理,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代…

虚幻引擎5(UE5)实时VFX游戏特效制作入门到精通
UE5 Niagara学习教程 课程获取:虚幻引擎5(UE5)实时VFX游戏特效制作入门到精通-云桥网 你会学到什么 我将通过创建各种各样的实时效果来教你虚幻引擎中强大的粒子系统。 我们将从简单的基础知识开始,然后逐渐地,我们将…

share extension 不显示_你所不知道的网红小酒馆Helens
当夜幕降临后,Helens小酒馆显示出她真正的魅力约上你的好友,来Helens体验一次穿越异国的饮酒之旅吧由美、中、泰设计师倾力打造,有着浓郁的东南亚异域style。木质的桌椅、精美的木雕装饰,每个细节都可以感受到不同文化的碰撞。别样…

怎么将jenkins打包后的war自动部署到jetty上?
1,使用maven的cargo插件,实现远程部署 (官网描述地址:https://codehaus-cargo.github.io/cargo/JettyRemoteDeployer.html) Maven中添加配置文件: Type: 可选参数有remote(远程部署的模式&#…