TensorFlow1

TensorFlow

Tensorflow是一个开源软件库,它使用数据流图的形式进行数值计算。

什么是数据流图(Data Flow Graph)

图片描述

  • 节点(Nodes):表示数学运算操作符
  • 边(Edges):用于传送节点之间的多维数组,即张量。

安装TensorFlow

  • CPU版本:pip install --upgrade tensorflow
  • GPU版本:pip install --upgrade tensorflow-gpu

检查安装以及版本

>>> import tensorflow as tf
>>> tf.__version__
'1.3.0'

利用TensorFlow打印‘Hello World!’

# 创建一个constant运算符(op)
# 这个op,作为一个node,添加到graph中
hello = tf.constant('Hello, TensorFlow!')

# 启动TF进程(session)
sess = tf.Session()

# 运行op,并输出结果
print(sess.run(hello))
b'Hello, TensorFlow!'

b'String': 'b'表示字节符。

计算图(Computational Graph)

图片描述

# 1.使用TensorFlow运算符op搭建graph
node1 = tf.constant(3.0, tf.float32)
node2 = tf.constant(4.0)
node3 = tf.add(node1, node2)

# 2.丢入数据,并运行graph:sess.run(op)
# 3.自动更新graph中的变量并返回
sess = tf.Session()
print('sess.run(node1, node2):', sess.run([node1, node2]))
print('sess.run(node3):', sess.run(node3))
sess.run(node1, node2): [3.0, 4.0]
sess.run(node3): 7.0

TensorFlow运行机制

  • 1.使用TensorFlow运算符op搭建graph
  • 2.丢入数据,并运行graph:sess.run(op)
  • 3.自动更新graph中的变量并返回值

图片描述

占位符(Placeholder)

# 1.使用TensorFlow运算符op搭建graph
a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
adder_node = tf.add(a, b)

# 2.丢入数据,并运行graph:sess.run(op, feed_dict{x: x_data})
# 3.自动更新graph中的变量并返回值
print(sess.run(adder_node, feed_dict={a: 3, b: 4.5}))
print(sess.run(adder_node, feed_dict={a: [1, 3], b: [2, 4]}))
7.5
[3. 7.]

TensorFlow机制

  • 1.使用TensorFlow运算符op搭建graph
  • 2.丢入数据,并运行graph:sess.run(op, feed_dict{x: x_data})
  • 3.自动更新graph中的变量并返回值

图片描述

万物皆张量(Everything is Tensor)

Tensors

3    # rank为0的张量,即shape为[]的表量
[1., 2., 3.]    # rank为1的张量;shape为[3]的向量
[[1., 2., 3.], [4., 5., 6.]]    # rank为2的张量;shape为[2, 3]的矩阵
[[[1., 2., 3.]], [[7., 8., 9.]]]    # rank为3的张量,形状为[2, 1, 3]

张量的阶、形状和类型

Tersor Ranks, Shapes, and Types

阶(Ranks)
秩/阶数学名称Python实例
0标量s = 483
1向量v = [1., 2., 3.]
2矩阵m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
33-Tensort = [[[2], [4], [6]], [[8], [10], [12]], [[14], [16], [18]]]
nn-Tensor...
形状(Shapes)
RankShape维数示例
0[]0-D0维Tensor; 标量
1[D0]1-D形状为[5]的1维张量
2[D0, D1]2-D形状为[3, 4]的2维张量
3[D0, D1, D2]3-D形状为[1, 4, 3]的3维张量
n[D0, D1, ..., Dn-1]n-D形状为[D0, D1, ..., Dn-1]的n维张量
类型(Types)
数据类型Python数据类型描述
FLOATtf.float3232位浮点型
DOUBLEtf.float6464位浮点型
INT8tf.int8有符号8位整型
INT16tf.int16有符号16位整型
INT32tf.int32有符号32位整型
INT64tf.int64有符号64位整型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值