TensorFlow基本使用

2018-10-14  本文已影响0人  Simple_isBeauty

一、TensorFlow计算模型——计算图

计算图的概念

计算图的使用

import tensorflow as tf
a = tf.constant([1.0, 2,0], name="a")
b = tf.constant([2.0, 3.0], name="b")
result = a + b
print(a.graph is tf.get_default_graph())
import tensorflow as tf
g1 = tf.Graph()
with g1.as_default():
    #在计算图g1中定义变量“v”,并设置初始值为0
    v = tf.grt_variable(
        "v", initializeer=tf.zeros_initializeer(shape=[1]))
#在计算图g1中读取变量“v”的取值
with  tf.Session(graph=g1) as sess:
    tf.initialize_all_variables().run()
    with tf.variable_scopr("", reuse=True):
        #在计算图g1中,变量v取值0,所以下面这行输出[0.]
        print(sess.run(tf.get_variable("V")))
g = tf.Graph()
with g.device('/gpu:0'):
    result = a + b

二、TensofFlow数据模型——张量

张量的概念

import tensorflow as tf
# tf.constant 是一个计算,这个计算的结果为一个张量,保存在变量a中
a = tf.constant([1.0, 2.0], name="a")
b = tf.constant([2.0, 3.0], name="b")
result = a + b
print result
···
输出:
Tensor("add:0", shape=(2, ), dtype=float32)
···

张量的使用

#使用张量记录中间结果
a = tf.constant([1.0, 2.0], name="a")
b = tf.constant([2.0, 3.0], name="b")
reslut = a + b
#直接计算向量的和,可读性差,无法查看中间状态
result = a = tf.constant([1.0, 2.0], name="a") + tf.constant([2.0, 3.0], name="b")

三、TensorFlow运行模型——会话

#创建一个会话
sess = session()
#使用这个会话得到运算结果
sess.run(...)
#关闭会话使得本次运行中的资源得到释放
sess.close()
#创建一个会话,通过Python中的上下文管理器来管理这个会话
with tf.Session() as sess:
    #使用这个会话来计算关系的结果
    sess.sun(...)
#不需要在调用“Session.close()”函数来关闭会话
#当上下文退出时会话关闭和资源释放也自动完成了
sess = tf.Session()
with sess.as_default():
    print(result.eval())

以下代码也可以完成相同的功能

sess = tf.Session()

#下面两个命令有相同的功能
print(sess.run(result))
print(result.eval(session=sess))
sess = tf.InteractiveSession()
print(result.eval())
sess.close()
config = tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)
sess1 = tf.InteractiveSession(config=config)
sess2 = tf.Session(config=config)
上一篇下一篇

猜你喜欢

热点阅读