1.1tensorflow编程思想与基本结构

python是一个脚本语言,它的运算速度较C、C++来说慢了很多很多,所以如果要执行开销非常大的操作(比如大型矩阵乘法),一般都是转到python之外,使用其他语言来完成。但是,从其他语言转回到python的这个操作仍然是耗费时间的,如果这种转来转去的操作经常发生,也会大大影响程序的运行速度。所以tensorflow索性只使用python这门语言对计算的过程进行描述,待描述完毕之后统一放到python之外使用其他语言进行。

这个统一描述的过程就是tensorflow的编程体系:图(graph)、节点(operation)和张量(tensor)。

图就是整个计算过程所依托的白纸,计算过程的每一个环节都是一个op(即operation,以下均用op代指节点),在整个图中流动的数据用矩阵来表示,矩阵在tensorflow中被称为tensor(张量)。

每一个op只有两种类型:纯数据和纯操作

# 纯数据
op1 = tf.constant([[1, 2], [3, 4]])
op2 = tf.constant([[1, 2], [3, 4]])
# 纯操作
op3 = tf.matmul(op1, op2)

纯操作有tensorflow的各种内置类型,比如matmul(矩阵乘法)、mul(乘法)等等;
纯数据也有tensorflow提供的各种类型,包括:
常量constant、
变量(要赋初值但是在计算过程中可能会根据你的想法进行变化)Variable
占位符(在计算过程中实时输入的数据)placeholder等等。

注意Variable由于其特殊性(即在运算过程中系统可以自行改变这个数据的值),需要在计算之前进行初始化:sess.run(tf.initialize_all_variables())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值