tensorflow学习——《基本用法》

最近尝试用DQN、DDQN算法时,发现tensorflow部分有点模糊,正好忙完了一段时间乱七八糟的事,静下来心重新完整的学一遍tensorflow

首先tensorflow是做图计算的

  • tf.constant:常量

  • tf.Variable:变量

  • tf.matmul:矩阵乘法

  • tf.Session() sess.run(arg):计算arg图的输出值

  • with tf.Session() as sess:在运行代码域后,关闭sess释放资源

  • with tf.device("/gpu:1"):通过第一个GPU进行计算

  •  "/cpu:0": 机器的 CPU.
     "/gpu:0": 机器的第一个 GPU, 如果有的话.
     "/gpu:1": 机器的第二个 GPU, 以此类推
    
  • Rank:张量(张量是有大小和多个方向的量)

数学实例 数学实例
0 纯量 (只有大小) s = 483
1 向量(大小和方向) v = [1.1, 2.2, 3.3]
2 矩阵(数据表) m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
3 3阶张量 (数据立体) t = [[[2], [4], [6]], [[8], [10], [12]], [[14], [16], [18]]]
n
  • Shape:形状
形状 维数 实例
0 [] 0_D 一个 0维张量. 一个纯量.
1 [D0] 1-D 一个1维张量的形式[5].
2 [D0, D1] 2-D 一个2维张量的形式[3,4].
3 [D0, D1, D2] 3-D 一个3维张量的形式[1,4,3].
n [D0, D1, … Dn] n-D 一个n维张量的形式[D0, D1, … Dn].
  • Type:数据类型
数据类型 Python 类型 描述
DT_FLOAT tf.float32 32 位浮点数.
DT_DOUBLE tf.float64 64 位浮点数.
DT_INT64 tf.int64 64 位有符号整型.
DT_INT32 tf.int32 32 位有符号整型.
DT_INT16 tf.int16 16 位有符号整型.
DT_INT8 tf.int8 8 位有符号整型.
DT_UINT8 tf.uint8 8 位无符号整型.
DT_STRING tf.string 可变长度的字节数组.每一个张量元素都是一个字节数组.
DT_BOOL tf.bool 布尔型.
DT_COMPLEX64 tf.complex64 由两个32位浮点数组成的复数:实数和虚数.
DT_QINT32 tf.qint32 用于量化Ops的32位有符号整型.
DT_QINT8 tf.qint8 用于量化Ops的8位有符号整型.
DT_QUINT8 tf.quint8 用于量化Ops的8位无符号整型.
import tensorflow as tf

# 创建一个常量 op, 产生一个 1x2 矩阵. 这个 op 被作为一个节点
# 加到默认图中.
#
# 构造器的返回值代表该常量 op 的返回值.
matrix1 = tf.constant([[3., 3.]])

# 创建另外一个常量 op, 产生一个 2x1 矩阵.
matrix2 = tf.constant([[2.],[2.]])

# 创建一个矩阵乘法 matmul op , 把 'matrix1' 和 'matrix2' 作为输入.
# 返回值 'product' 代表矩阵乘法的结果.
product = tf.matmul(matrix1, matrix2)

# 启动默认图.
sess = tf.Session()

# 调用 sess 的 'run()' 方法来执行矩阵乘法 op, 传入 'product' 作为该方法的参数. 
# 上面提到, 'product' 代表了矩阵乘法 op 的输出, 传入它是向方法表明, 我们希望取回
# 矩阵乘法 op 的输出.
#
# 整个执行过程是自动化的, 会话负责传递 op 所需的全部输入. op 通常是并发执行的.
# 
# 函数调用 'run(product)' 触发了图中三个 op (两个常量 op 和一个矩阵乘法 op) 的执行.
#
# 返回值 'result' 是一个 numpy `ndarray` 对象.
result = sess.run(product)
print result
# ==> [[ 12.]]

# 任务完成, 关闭会话.
sess.close()
发布了21 篇原创文章 · 获赞 3 · 访问量 9796

猜你喜欢

转载自blog.csdn.net/qq_27389705/article/details/90295963