tensorflow快速整体认识

本文详细介绍如何通过构造和执行计算图来进行数据处理。包括张量、变量、常量的定义及创建,计算图的构建和执行过程,以及初始化和更新变量的方法。

用法说明:

请类比管道构建来理解计算图的用法

构造阶段(construction phase):组装计算图(管道)

  • 计算图(graph):要组装的结构。由许多操作组成。
  • 操作(ops):接受(流入)零个或多个输入(液体),返回(流出)零个或多个输出。
  • 数据类型:主要分为张量(tensor)、变量(variable)和常量(constant)
    • 张量:多维array或list(管道中的液体)
      • 创建语句
tensor_name=tf.placeholder(type, shape, name)
    • 变量:在同一时刻对图中所有其他操作都保持静态的数据(管道中的阀门)
      • 创建语句
name_variable = tf.Variable(value, name)
    • 初始化语句
#个别变量
init_op=variable.initializer()
#所有变量
init_op=tf.initialize_all_variables()
#注意:init_op的类型是操作(ops),加载之前并不执行
    • 更新语句
update_op=tf.assign(variable to be updated, new_value)
    • 常量:无需初始化的变量
      • 创建语句
name_constant=tf.constant(value)


执行阶段(execution phase):使用计算图(获取液体)

  • 会话:执行(launch)构建的计算图。可选择执行设备:单个电脑的CPU、GPU,或电脑分布式甚至手机。
    • 创建语句
#常规
sess = tf.Session()
#交互
sess = tf.InteractiveSession()
#交互方式可用tensor.eval()获取值,ops.run()执行操作
#关闭
sess.close()
  • 执行操作:使用创建的会话执行操作
    • 执行语句
sess.run(op)
    • 送值(feed):输入操作的输入值(输入液体)
      • 语句
sess.run([output], feed_dict={input1:value1, input2:value1})
    • 取值(fetch):获取操作的输出值(得到液体)
      • 语句
#单值获取 
sess.run(one op)
#多值获取
sess.run([a list of ops])
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值