tensorflow基本使用

理解tensorflow
  • 使用图(graph)来表示计算任务
  • 在被称为会话(session)的上下文(context)中执行图
  • 使用tensor(张量)表示数据
  • 通过变量(variable)维护状态
  • 使用feed和fetch可以为任意的操作(arbitrary operation)赋值或者从其中获取数据

tensorflow是一个编程系统,使用图来表示计算任务。图中的节点被称作op(opreation),op可以获得0个或多个tensor,产生0个或多个tensor。每个tensor是一个类型化的多维数组。
图描述了计算的过程。为了进行计算,图必须在会话中启动,会话负责将图中的op分发到CPU或GPU上进行计算,然后将产生的tensor返回。在python中,tensor就是numpy.ndarray对象。

tensorflow程序阶段

一般被组织成两个阶段:构建阶段和执行阶段

  • 构建阶段:op的执行顺序被描述成一个图
  • 执行阶段:使用会话执行图中的op
tensorflow使用实例
import tensorflow as tf  #导入tensorflow库
mat1 = tf.constant([[3.,3.]]) #创建一个1*2矩阵
mat2 = tf.constant([[2.],[2.]]) #创建一个2*1矩阵
product = tf.matmul(mat1,mat2)  #创建op执行两个矩阵的乘法
sess = tf.Session()  #启动默认图
res = sess.run(product)  #在默认图中执行op操作
print(res)  #输出乘积结果
sess.close()  #关闭session
交互式会话(interactivesession)

为了方便使用ipython之类的python交互环境,可以使用交互式会话来代替session。使用类似Tensor.run()和Operation.eval()来代替Session.run(),避免使用一个变量来持有会话。

import tensorflow as tf
sess = tf.InteractiveSession() #创建交互式对话
a = tf.Variable([1.0,2.0]) #创建变量数组
b = tf.constant([3.0,4.0]) #创建常量数组
sess.run(tf.global_variables_initializer()  #变量初始化
res = tf.add(a,b)  #创建加法操作
print(res,eval())  #执行操作并输出结果
Feed操作

Feed机制可以临时代替图中任意操作中的tensor,最常见的用例是使用tf.placeholder()创建占位符,相当于是作为图中的输入,然后使用Feed机制向图中占位符提供数据进行计算。

import tensorflow as tf
sess = tf.InteractiveSession()
input1 = tf.placeholder(tf.float32)#创建占位符
input2 = tf.placeholder(tf.float32)#创建占位符
res = tf.mul(input1,input2)#创建乘法操作
res.eval(feed_dict{input1:[7.],input2:[2.]}) #求值
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cachel wood

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值