人工智能之Tensorflow程序结构

TensorFlow作为分布式机器学习平台,主要架构如下:

网络层:远程过程调用(gRPC)和远程直接数据存取(RDMA)作为网络层,主要负责传递神经网络算法参数
设备层:CPU、GPU等设备,主要负责神经网络算法中具体的运算操作
运行时核心:为Tensorflow中算法操作的具体实现,如卷积操作、激活操作等。

  • 分布运行时:主机(Master)用于构建子图,切割子图为多个分片,不同子图分片运行在不同的设备上。Master还负责分发子图切片到Worker。Worker在设备上调度执行子图操作,并负责向其他执行器发送和接收图操作的运行结果。

API: API 把TensorFlow分割为前端和后端,前端 (Python/C++/Java Client/Go)基于API触发TensorFlow后端程序运行。
训练库和推理库:是模型训练和推导 的库函数,为用户开发应用模型使用。

TensorFlow的数据流图是由节点和边组成的有向无环图Tensor代表数据流图中的Flow代表数据流图中节点所做的操作

TensorFlow将程序分为两个独立的部分:

  1. 定义并构建神经网络结构图:包括激活函数定义、损失函数定义、分类模型定义等。
  2. 执行神经网络模型,包括数据集输入、初始赋值及通过会话编译运行等。

示例如下:

(1)定义各种张量结构的变量,然后建立一个数据流图,在数据流图中规定各个变量之间的计算关系,最后对数据流图进行编译,编译之后把需要计算的输入放进去,形成数据流,从而形成输出值

python 复制代码
import tensorflow as tf
t=tf.add(8,9)
print(t) 
#数据流图中节点对应的是一个API中操作,并没有真正去运行

(2)TensorFlow涉及的运算都要放在图中,而图的运行只发生在会话中,开启会话后,就可以用数据去填充节点,进行运算,关闭会话后就不能进行计算。

会话提供了操作运行和Tensor求值的环境。

python 复制代码
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
#创建图
one=tf.constant([1.0,2.0])
two=tf.constant([3.0,4.0])
oper=one*two

#创建会话
sess=tf.compat.v1.Session()
#计算oper
print(sess.run(oper))
sess.close()

神经完了结构图的定义和执行分开设计,所以TensorFlow能够多平台工作以并行执行。

相关推荐
HackTorjan几秒前
AI驱动的制品库高效管理:智能分类、自动化追踪与全生命周期优化
linux·人工智能·分类·自动化
迷途酱6 分钟前
RAG 从零到一:用 Python 给大模型接上你的私有知识库
python
X.AI6667 分钟前
小米 MiMo‑V2.5‑Pro 上手体验:一款能硬刚 GPT‑5.4 的国产大模型有多强?
人工智能·gpt·开源
我叫黑大帅8 分钟前
受保护的海报图片读取方案 - 在不公开静态资源目录下如何获取静态资源
后端·python·面试
peterfei8 分钟前
一个 Tauri + Rust AI 编辑器是怎么同时适配 5 家 AI 大厂的?IfAI v0.4.3 架构拆解
人工智能·算法·架构
思绪无限8 分钟前
YOLOv5至YOLOv12升级:农作物害虫检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·python·深度学习·目标检测·计算机视觉·yolov12·农作物害虫检测
Java猿_10 分钟前
【无标题】
人工智能
smileNicky13 分钟前
Spring AI系列之集成 Milvus 构建 RAG 智能问答系统
人工智能·spring·milvus
QYR_Jodie15 分钟前
2026-2032期间,全球陶瓷餐具和玻璃器皿市场年复合增长率(CAGR)为2.9%
大数据·人工智能
一只AI打工虾的自我修养18 分钟前
开源大模型本地部署:Ollama vs LocalClaw 选型指南
人工智能·开源