TensorFlow基础知识

TensorFlow是一个采用数据流图(data flow graph),用于数值计算的开源软件库。

编程方式

        Tensorflow完全采用符号式编程,将图的定义和图的运算完全分开。一般是先定义各种变量,然后建立一个数据流图,在数据流图中规定各个变量之间的计算关系,最后需要对数据流图进行编译,但是此时的数据流图还是一个空壳,里面没有任何时间数据,只有把需要的输入放进后,才能在整个模型中形成数据流,从而输出值。

import tensorflow as tf
t = tf.add(8, 9)
print(t)

控制台输出
在这里插入图片描述
        运算都要放到图中,而图的运行只放生在会话(session)中。开启会话后,就可以用数据取填充节点,进行运算;关闭会话后,就不能进行计算了。

import tensorflow as tf
#创建图
t = tf.add(8, 9)
#创建会话
with tf.Session() as session:
    #启动后进行计算
    result = session.run(t)
print(t)
print(result)

控制台输出
在这里插入图片描述

编程语法

        TensorFlow是指“张量的流动”。TensorFlow的数据流图是由节点(node)和边(edge)组成的有向无环图(directed acycline graph, DAG)。TensorFlow由Tensor和Flow两部分组成,Tensor(张量)代表了数据流图中的边,而Flow(流动)这个动作就代表了数据流图中节点所做的操作。这里由有很多基本概念,官方文档都有介绍。

import tensorflow as tf

#创建一个变量,初始化为标量2.0
scale = tf.Variable(2.0, name="scale")
#创建一个常量张量
age = tf.constant(10.0)
#创建替代任意操作的张量
input = tf.placeholder(tf.float32)
output = tf.multiply(scale * age, input)
with tf.Session() as session:
    #初始化变量
    init = tf.global_variables_initializer()
    session.run(init)
    print (session.run([output], feed_dict={input:[7.]}))

在这里插入图片描述

备注

        在所有计算完成之后,需要明确调用Session.close函数来关闭会话并释放资源。但是当程序因为异常而退出时,关闭会话的函数可能就不会被执行从而导致资源泄漏。为了解决异常退出时资源释放的问题,Tensorflow可以通过Python的上下文管理器来使用会话。

with tf.Session() as session:
    #使用创建好的会话来计算结果
    session.run(...)
    #不需要调用“Session.close()函数来关闭会话”
    #当上下文退出时会话关闭和资源释放也自动完成
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值