当前位置: 首页 > news >正文

人工智能之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)定义各种张量结构的变量,然后建立一个数据流图,在数据流图中规定各个变量之间的计算关系,最后对数据流图进行编译,编译之后把需要计算的输入放进去,形成数据流,从而形成输出值

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

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

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

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能够多平台工作以并行执行。
在这里插入图片描述

相关文章:

  • 信息安全计划
  • hive中如何取交集并集和差集
  • ES项目应用
  • 用html编写的小广告板
  • MongoDB之MongoDBConnectorBI安装与使用
  • 算法【线性表的查找-顺序查找】
  • 4核8g服务器能支持多少人访问?
  • 二次供水物联网:HiWoo Cloud助力城市水务管理升级
  • 七、ChatGPT为什么会被热炒?
  • Elasticsearch从入门到精通-01认识Elasticsearch
  • 东芝工控机维修东芝电脑PC机维修FA3100A
  • R语言在数据分析中的应用案例
  • Python数据处理(三)-txt文件指定数据提取并可视化作图
  • Java架构师之路八、安全技术:Web安全、网络安全、系统安全、数据安全等
  • 为什么ChatGPT预训练能非常好地捕捉语言的普遍特征和模式
  • exif信息对照
  • Java 最常见的 200+ 面试题:面试必备
  • JavaScript对象详解
  • MYSQL 的 IF 函数
  • PhantomJS 安装
  • PHP 7 修改了什么呢 -- 2
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 创建一种深思熟虑的文化
  • 第2章 网络文档
  • 对象管理器(defineProperty)学习笔记
  • 关于 Cirru Editor 存储格式
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 物联网链路协议
  • 责任链模式的两种实现
  • 【云吞铺子】性能抖动剖析(二)
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • 选择阿里云数据库HBase版十大理由
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • (C++17) std算法之执行策略 execution
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (附源码)计算机毕业设计大学生兼职系统
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (四)图像的%2线性拉伸
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .Net 8.0 新的变化
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET gRPC 和RESTful简单对比
  • .Net 高效开发之不可错过的实用工具
  • .Net 应用中使用dot trace进行性能诊断
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .NET项目中存在多个web.config文件时的加载顺序
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • @取消转义
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • [AIGC] Redis基础命令集详细介绍