TensorFlow 入门(一)计算图,张量和会话

1.计算图
隔离张量和计算,同时管理张量和计算
函数
tf.get_default_graph获取当前默认计算图
tf.Graph生成新的计算图
变量的定义和使用如下:

import tensorflow as tf
g1=tf.Graph()
with g1.as_default():
    v=tf.get_variable(
        "v",shape=[2,2],initializer=tf.random_normal_initializer
    )
with tf.Session(graph=g1) as sess:
    tf.global_variables_initializer().run()
    with tf.variable_scope("",reuse=True):
        print(sess.run(tf.get_variable("v")))

tf.Graph.device()指定运行设备:

with g.device('/gpu:0'):
	result = a + b

在一个计算图中,通过集合管理资源。
tensorflow自动管理的5个集合:

集合 内容
tf.GraphKeys.VARIABLES 所有变量
tf.GraphKeys.TRAINABLE_VARIABLES 神经网络中的参数
tf.GraphKeys.SUMMARIES 日志生成的张量
tf.GraphKeys.MOVING_AVERAGE_VARIABLES 计算了滑动平均的变量

之后补充以下:
tf.GraphKeys.QUEUE_RUNNERS

2.张量tensor
在功能上看做多维数组,但区别于numpy的数组,其实是对Tensorflow中计算结果的引用
具有名字,维度,类型三个属性

属性 使用
名字 name= “v”
维度 shape=[1,1]
类型 dtype=实数2种,整数5种,布尔,复数2种

3.会话Session
用于执行运算,在所有计算完成后需要关闭
有两种常用方式:
方式一

with tf.Session() as sess:
    ...
    sess.run(...)

方式二:

sess=tf.Session()
sess.run(...)
sess.close()

你可能感兴趣的:(tensorflow)