Tensorflow之基本概念

TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

  1. 使用图(graph)来表示计算任务。
  2. 在被称之为会话(Session)的上下文种执行图。
  3. 使用tensor表示数据。
  4. 通过变量(Variable)维护状态。
  5. 使用feed和fetch可以为任意的操作赋值或者从中获取数据。
    Tensorflow是开源的人工智能软件库,使用图(graphs)来表示计算任务,图中的节点(nodes)称之为op(mathematical operations),一个op获得0个或多个Tensor,执行计算,产生0个或多个Tensor。边表示多维数据数组(张量)在节点之间流通,Tensor看作是一个N维的数组或列表。图必须在会话(Session)里被启动。
    图片来自:https://www.tensorflow.org/
    在一个会话中执行graph1和graph2:

在这里插入图片描述
下面通过程序看看tensorflow的基本使用:

import tensorflow as tf
# 创建一个常量 op
m1 = tf.constant([[3,3]])
# 创建一个常量 op
m2 = tf.constant([[2],[3]])
# 创建一个矩阵乘法op,把m1和m2传入
product = tf.matmul(m1,m2) #得到一个1X1的tensor
# 定义一个会话,启动默认图
sess = tf.Session()
# 使用sess的run方法来执行矩阵乘法op
# run(product)触发了图中3个op
result = sess.run(product)
sess.close() # output = 15

另一种定义会话的方法:

with tf.Session() as sess:
	result = see.run(product)

tensorflow变量定义,变量定义后值可变而维度不可变。在神经网络中,变量一般可作为储存权重和其他信息的矩阵

x = tf.Varaible([1,2])

tensorflow占位符:占位符并没有初始值,只会分配必要的内存。在会话中,占位符可以使用 feed_dict 进行数据的feed。
feed_dict 是一个字典,在字典中需要给出每一个用到的占位符的取值。在训练神经网络时需要每次提供一个批量的训练样本,如果每次迭代选取的数据要通过常量表示,那么 TensorFlow 的计算图会非常大。因为每增加一个常量,TensorFlow 都会在计算图中增加一个结点。所以说拥有几百万次迭代的神经网络会拥有极其庞大的计算图,而占位符却可以解决这一点,它只会拥有占位符这一个结点。

在这里插入图片描述

在tensorflow中Everything is Tensor:
在这里插入图片描述
Tensor的类型:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
TensorFlow Mechanics
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值