tensorflow入门笔记(1)

1.tensorflow 中的基本概念

1.1 计算图
计算图是Tensorflow中最基本的一个概念,TF中所有计算都会被转化为计算图上的节点。
Tensorflow是一个通过计算图的形式来表述计算的编程系统,每一个计算都是计算图上的一个节点,节点之间的边描述了计算的依赖关系。
在Tensorflow程序中,系统会自动维护一个默认的计算图,通过 tf.get_default_graph 函数可获取当前默认的计算图。

#判断张量a所属计算图是否为默认计算图,输出为True
import tensorflow as tf
a=tf.constant([1.3,2.1],name="a")
b=tf.constant([1.3,2.1],name="a")
result=a+b
print(a.graph is tf.get_default_graph())

TF支持通过tf.Graph函数生成新的计算图。不同计算图上张量和运算都不共享。

import tensorflow as tf
g1 = tf.Graph()
# 在计算图g1中定义变量"v",初始值为0
# tf.zeros_initializer()(shape= [1])为新版tensorflow写法,与教材上有所区别

with g1.as_default():
    v = tf.get_variable(
        "v", initializer=tf.zeros_initializer()(shape= [1]))

with tf.Session(graph=g1) as sess:
    # tf.initialize_all_variables().run() 是必须的
    tf.initialize_all_variables().run()
    with tf.variable_scope("", reuse=True):
        # 在g1中变量v值为0,输出为0
        print(sess.run(tf.get_variable("v")))

张量在TF中并不直接采用数组的形式,只是对TF中运算结果的引用。在张量中并没有保存数字,而是保存如果得到数字的计算过程。以向量加法为例子,运行如下代码,并无加法的结果,而会得到对结果的一个引用,

import tensorflow as tf
a=tf.constant([1.3,2.1],name="a")
b=tf.constant([1.3,2.1],name="a")
result=a+b
print(result)
#输出为Tensor("add:0", shape=(2,), dtype=float32)

补充:张量的维度
对于一个张量A,如果shape=[2,2],表示该张量有两个维度,第一个维度元素个数为2,第二个维度元素个数也为2
例如 [[1,2],[3,4]]


1.2会话(session)
会话拥有并管理TF程序运行时的所有资源。
TF可以通过python的上下文管理器来使用会话。

with tf.Session as sess:
    sess.run(.....)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值