前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习(1)---Tensorflow基础概念

深度学习(1)---Tensorflow基础概念

作者头像
Python进击者
发布2019-09-17 15:17:33
3430
发布2019-09-17 15:17:33
举报
文章被收录于专栏:JAVAandPython君

1

/ Tensorflow介绍/

- TensorFlow™ 是一个开放源代码软件库,用于进行高性能数值计算• 借助其灵活的架构,用户可以轻松地将计算工作部署到多种平台(CPU、GPU、TPU)和设备(桌面设备、服务器集群、移动设备、边缘设备等)

- TensorFlow™ 最初是由 Google Brain 团队(隶属于 Google 的 AI 部门)中的研究人员和工程师开发的,可为机器学习和深度学习提供强力

2

/ tensorflow里的helloworld /

我们学习每一门语言基本都是从Hello world起步,tensorflow也不例外:

代码语言:javascript
复制
import tensorflow as tf
# 下面两句是防止警告信息
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
# 创建一个常值运算,将作为一个节点加入到默认计算图中
hello = tf.constant("Hello world!")

# 创建一个TF对话
sess = tf.Session()

# 运行并获取结果
print(sess.run(hello))

# 输出结果:
b'Hello world!'

3

/ TensorFlow计算模型 – 计算图 /

1.tensorflow的基本概念

TensorFlow = Tensor + Flow

  • Tensor-- 张量 - 数据结构:多维数组
  • Flow --流计算模型:张量之间通过计算而转换的过程
  • TensorFlow是一个通过计算图的形式表述计算的编程系统每一个计算都是计算图上的一个节点,节点之间的边描述了计算之间的关系。

2.计算图(数据流图)的概念

计算图是一个有向图(有向图即为有箭头的图像)

由以下内容构成:

• 一组节点,每个节点都代表一个操作,是一种运算

• 一组有向边,每条边代表节点之间的关系(数据传递和控制依赖)

Tensorflow有两种边:

• 常规边(实线):代表数据依赖关系。一个节点的运算输出成为另一个节点的输入,两个节点之间有tensor流动(值传递)

• 特殊边(虚线):不携带值,表示两个节点之间的控制相关性。比如,happens-before关系,源节点必须在目的节点执行前完成执行

3.计算图的一个小栗子

代码语言:javascript
复制
import tensorflow as tf

# 一个简单的计算图
node1 = tf.constant(3.0, tf.float32, name="node1")
node2 = tf.constant(4.0, tf.float32, name="node1")
node3 = tf.add(node1, node2)
print(node3)
print(node1)
print(node2)

分别打印出来:

代码语言:javascript
复制
Tensor("Add:0", shape=(), dtype=float32)
Tensor("node1:0", shape=(), dtype=float32)
Tensor("node1_1:0", shape=(), dtype=float32)

输出的是一个张量结构,而不是一个值

4.计算图的执行

代码语言:javascript
复制
node1 = tf.constant(3.0, tf.float32, name="node1")
node2 = tf.constant(4.0, tf.float32, name="node1")
node3 = tf.add(node1, node2)

# 可以通过创建会话session来执行数据操作
sess = tf.Session()

print("node1的值:",sess.run(node1))

print("node2的值:",sess.run(node2))

print("node3的值:",sess.run(node3)) 

sess.close()

输出结果:

代码语言:javascript
复制
node1的值: 3.0
node2的值: 4.0
node3的值: 7.0

通过session我们可以真正执行这个计算图

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-02-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python进击者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.tensorflow的基本概念
  • 2.计算图(数据流图)的概念
  • 3.计算图的一个小栗子
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档