- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Tensorflow介绍;1. 掌握Tensorflow基本概念;1. Tensorflow介绍2. Tensorflow基本基本概念;TensorFlow? 是一个使用数据流图进行数值计算的开源软件库。图中的节点代表数学运算, 而图中的边则代表在这些节点之间传递的多维数组(张量)。这种灵活的架构可让您使用一个 API 将计算工作部署到桌面设备、服务器或者移动设备中的一个或多个 CPU 或 GPU。
TensorFlow 最初是由 Google 机器智能研究部门的 Google Brain 团队中的研究人员和工程师开发的,用于进行机器学习和深度神经网络研究, 但它是一个非常基础的系统,因此也可以应用于众多其他领域。
TensorFlow 可以灵活适应不同的使用规模,既支持探索性研究,也支持大规模生产用途。 TensorFlow目前最新的版本是1.4;我们推荐使用GPU运行tensorflow,因为GPU比CPU更适合张量的运算,效率成倍数提升。但是并不是每台设备都配备GPU,没有GPU的设备可以使用CPU版本。
Tensorflow支持多种语言的,推荐使用python做为API,因为它代码简洁,容易上手,最重要的是能混合其他DL库一块使用。
Tensorflow需要python 3.5以上的运行环境,如果没有请下载安装。安装有python环境的执行pip install tensorflow或者 pip install tensorflow-gpu 即可进行安装,安装过程会自动下载安装所需要的依赖库。
有线性代数与矩阵,概率论,多重积分,级数变换,信息论等工科基础。
了解前馈神经网络(BP),卷积神经网络(CNN),循环神经网络(RNN)算法。;Tensor(张量):张量是tensorflow核心的基本数据单元。?张量是一个多维数组。??
rank:张量的秩,就是张量的维数。?shape:描述张量的形状。计算方法:去掉中括号,逗号+1就是数组的值。数组的的长度是rank。举例:
[1., 2., 3.] # a rank 1 tensor; a vector with shape [3]
[[1., 2., 3.], [4., 5., 6.]] # a rank 2 tensor; a matrix with shape [2, 3]
[[[1., 2., 3.]], [[7., 8., 9.]]] # a rank 3 tensor with shape [2, 1, 3]
;
计算图是由一系列的tensorflow的操作组成,并且这些操作编配成计算图的节点。 站在计算图的角度,你可以认为tensorflow程序是有相对独立的两部分组成。 构建计算图、运行计算图。
node1 = tf.constant(3.0, dtype=tf.float32)
node2 = tf.constant(4.0)
print(node1, node2)
打印结果:
Tensor(Const:0, shape=(), dtype=float32)
Tensor(Const_1:0, shape=(), dtype=float32);Session:囊括tensorflow运行时候的状态,运行控制。
sess = tf.Session()
print(sess.run([node1, node2]))
结果:[3.0, 4.0]
我们当然可以写出更复杂的计算图。
from __future__ import print_function
node3 = tf.add(node1, node2)
print(node3:, node3)
print(sess.run(node3):, sess.run(node3))
打印出两行:
node3: Tensor(Add:0, shape=(), dtype=float32)
sess.run(node3): 7.0;placeholders:在计算图中,能够接受额外输入,通常情况下,提供的值晚于定义。
a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
adder_node = a + b 以上三行代码,很像一个函数,或者是lambda表达式。我们可以通过feed_dict参数
去填充一些具体的值。
print(sess.run(adder_node, {a: 3, b: 4.5}))
print(sess.run(adder_node, {a: [1, 3], b: [2, 4]}))
输出结果:
7.5 [ 3. 7.];Variables :是在模型训练中,允许修改的量。相同的输入,通过修改变量
文档评论(0)