TensorFlow学习笔记(一):TF基本操作

一.TensorFlow基本执行流程如下:

使用图 (graph) 来表示计算任务.

在被称之为 会话 (Session) 的上下文 (context) 中执行图.

使用 tensor 表示数据.

通过 变量 (Variable) 维护状态.

使用 feed 和 fetch 可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据

二.详细介绍

1.op:

op为图中的节点,每一个op获得来自其他op产生并传递的0个或多个tensor,执行计算后,产生0个或多个tensor。

2.tensor:

tensor的汉语翻译是张量,张量概念是矢量概念的推广,矢量是一阶张量。张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数。在tensorflow中用tensor作为数据结构。

在tensorflow中用tensor数据结构来代表所有数据结构。op之间传递的数据都是tensor

其中tensor有三个属性:Rank(阶),Shap(形状),Type(数据类型)

① Rank
这里写图片描述
简单的来说就是有几层方括号就是几阶tensor
②Shape
这里写图片描述
方括号中有几个元素,就是几维
③Type
Type可以为一个张量指定下列数据类型中的任意一个类型:
这里写图片描述

3.构建图
创建源op,源op无任何的输入,例如常量(constant)。源op的输出被当做其他与该op连接的op的输入。

import tensorflow as tf
matrix2=tf.constant([[2.],[2.])
matrix1=tf.constant([3.,3.])
product=tf.matmul(matrix1,matrix2)

上述代码创建了2*1的矩阵matrix2 和 1×2的矩阵matrix1。product位两矩阵的乘。

4.在会话(Session)中启动图
method 1:

sess=tf.Session()
result=sess.run(product)
print(result)
sess.close()

method 2:

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

5.通过变量(Variable)维护状态
①创建变量,初始化为标量0

state=tf.Variable(0,name='counter')

②创建一个op,其作用是使变量加1

one=tf.constant(1)
new_value=tf.add(state,one)
update=tf.assign(state,new_value)

代码中 assign() 操作是图所描绘的表达式的一部分,是用来更新模型中变量的值的。 正如 add() 操作一样. 所以在调用 run() 执行表达式之前, 它并不会真正执行赋值操作。

③启动图后,变量必须先初始化op

init_op=tf.global_variables_initializer()

④启动图,运行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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值