tensorflow学习笔记-tensorflow基础框架

TensorFlow计算图

张量(Tensor)

  • 张量分为:零阶张量、一阶张量、二阶张量
    零阶张量:纯量或标量,也就是一个数值。比如 [1]。
    一阶张量:向量,比如[1, 2, 3]
    二阶张量: 矩阵,比如[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    以此类推,还有三阶,三维的。。。

TensorFlow计算图

TensorFlow采用节点和线组成的数据流,整个数据流图描述了计算任务。每个节点op可以接受多个tensor的输入,也可以产生多个tensor的输出。每条线表示节点之间的张量tensor。
1. 定义数据源流图
2. 张量会不断在数据流图中的一个节点flow到另一个节点。
TensorFlow计算图
这里写图片描述

Session

Session是TensorFlow为了控制和输出文件的执行语句
sess.run(): 执行前面定义的结果

import tensorflow as tf

matrix1 = tf.constant([[3,3]])   #一行两列的矩阵
matrix2 = tf.constant([[2]
                       ,[2]])
product = tf.matmul(matrix1, matrix2)
#method 1
sess = tf.Session()
result = sess.run(product)
print(result)
sess.close()
# [[12]]
#method 2
with tf.Session() as sess:   #with会自动执行当前对象的清理工作
    result2 = sess.run(product)
    print(result2)
# [[12]]

Variable

  • TensorFlow定义了某字符串是变量,其才是变量
state = tf.Variable(0, name='counter')  #定义state的初值为0, 名称为counter
  • 在TensorFlow设定变量后,必须初始化
init = tf.initialize_all_variables()
  • 激活变量
sess = tf.Session()
sess.run(init)     #run init后,变量才被初始化

Placeholder 传入值

placeholder占位符,暂时存储变量
首先初始化placeholder对象后,用

sess.run(***, feed_dict = {input: **}) 

示例如下:

import tensorflow as tf
input1 = tf.placeholder(tf.float32)   #给placeholder的类型
input2 = tf.placeholder(tf.float32)

output = tf.multiply(input1, input2)
with tf.Session() as sess:
    result = sess.run(output, feed_dict = {input1:[7.] , input2:[2.]})  #给placeholder传入值
    print(result)

猜你喜欢

转载自blog.csdn.net/fisherming/article/details/80036304
今日推荐