TensorFlow介绍之TF数据流图

本文介绍了TensorFlow的基本概念,包括数据流图的构建和执行。通过一个简单的加法运算案例,展示了如何在TensorFlow中创建张量、操作节点以及使用会话执行图。还解释了TensorFlow程序的构建阶段和执行阶段,并强调了图和会话在其中的作用。同时,文章提供了处理 TensorFlow 警告和日志的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TensorFlow介绍之TF数据流图

1. TF数据流图

1.1案例:TensorFlow实现一个加法运算

示例代码:

def tensorflow_demo():
    """
    通过简单案例来了解tensorflow的基础结构
    :return: None
    """
    # 一、原生python实现加法运算
    a = 10
    b = 20
    c = a + b
    print("原生Python实现加法运算方法1:\n", c)
    def add(a, b):
        return a + b
    sum = add(a, b)
    print("原生python实现加法运算方法2:\n", sum)

    # 二、tensorflow实现加法运算
    a_t = tf.constant(10)
    b_t = tf.constant(20)
    # 不提倡直接运用这种符号运算符进行计算
    # 更常用tensorflow提供的函数进行计算
    # c_t = a_t + b_t
    c_t = tf.add(a_t, b_t)
    print("tensorflow实现加法运算:\n", c_t)
    # 如何让计算结果出现?
    # 开启会话
    with tf.Session() as sess:
        sum_t = sess.run(c_t)
        print("在sess当中的sum_t:\n", sum_t)

    return None

注意问题:警告指出你的CPU支持AVX运算加速了线性代数计算,即点积,矩阵乘法,卷积等。可以从源代码安装TensorFlow来编译,当然也可以选择关闭

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'

查看tensorflow版本:

import tensorflow as tf

print(tf.__version__)

示例代码:

import tensorflow as tf

a = tf.constant(10)
b = tf.constant(20)

# c = a + b
c = tf.add(a, b)
print(c)

运行结果:

此时并没有出现相加得到的和,需要建立一个会话。

示例代码:

import tensorflow as tf

a = tf.constant(10)
b = tf.constant(20)

# c = a + b
c = tf.add(a, b)

with tf.Session() as sess:
    sum_t = sess.run(c)
    print('a+b=', sum_t)

解决如下:

import tensorflow.compat.v1 as tf

a = tf.constant(10)
b = tf.constant(20)

# c = a + b
c = tf.add(a, b)

with tf.Session() as sess:
    sum_t = sess.run(c)
    print('a+b=', sum_t)

最终解决:

import tensorflow.compat.v1 as tf

tf.disable_v2_behavior()

a = tf.constant(10)
b = tf.constant(20)

# c = a + b
c = tf.add(a, b)

with tf.Session() as sess:
    sum_t = sess.run(c)
    print('a+b=', sum_t)

接下来去掉报红的日志信息:

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import tensorflow.compat.v1 as tf

tf.disable_v2_behavior()

a = tf.constant(10)
b = tf.constant(20)

# c = a + b
c = tf.add(a, b)

with tf.Session() as sess:
    sum_t = sess.run(c)
    print('a+b=', sum_t)

1.2 TensorFlow结构分析

TensorFlow 程序通常被组织成一个构建图阶段和一个执行图阶段。

在构建阶段,数据与操作的执行步骤被描述成一个图。

在执行阶段,使用会话执行构建好的图中的操作。

  • 图和会话 :
    • 图:这是 TensorFlow 将计算表示为指令之间的依赖关系的一种表示法
    • 会话:TensorFlow 跨一个或多个本地或远程设备运行数据流图的机制
  • 张量:TensorFlow 中的基本数据对象    【可以理解为numpy中的数组】
  • 节点:提供图当中执行的操作   【图中 的一些运算机制】

1.3 数据流图介绍

TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源框架。

节点(Operation)在图中表示数学操作,线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值