【深度学习 | 核心概念】那些深度学习路上必经的核心概念,确定不来看看? (四)

举报
计算机魔术师 发表于 2023/09/18 16:39:49 2023/09/18
【摘要】 🤵‍♂️ 个人主页: @AI_magician📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)【深度学习 | 核心概念】那些深度学习路上必经的核心概念,确定不来看看? (四) 作者: ...

在这里插入图片描述

🤵‍♂️ 个人主页: @AI_magician
📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。
👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍
🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)

在这里插入图片描述

【深度学习 | 核心概念】那些深度学习路上必经的核心概念,确定不来看看? (四)
作者: 计算机魔术师
版本: 1.0 ( 2023.9.18 )

摘要: 本系列旨在普及那些深度学习路上必经的核心概念,文章内容都是博主用心学习收集所写,欢迎大家三联支持!本系列会一直更新,核心概念系列会一直更新!欢迎大家订阅

该文章收录专栏
[✨— 《深入解析机器学习:从原理到应用的全面指南》 —✨]

Static GraphEager Execution 概念

在TensorFlow 1中,静态图(Static Graph)是一种表示计算流程的概念。它使用**数据流图(Data Flow Graph)**来描述计算任务,其中节点表示操作(operations),边表示数据流动。

具体而言,在TensorFlow 1中,你需要先定义一个计算图,并将所有操作和变量添加到该图中。然后,通过运行会话(Session)来执行这个静态图。这种方式使得 TensorFlow 可以对整个计算过程进行优化和编译,并允许并行执行多个操作。(C++引擎)

相比之下,在TensorFlow 2中引入了 Eager Execution (即即时执行)。Eager Execution 是一种命令式编程环境,可以立即评估操作并返回结果。与静态图不同的是,在 Eager Execution 模式下,每条语句都会被立即执行,并且可以实时查看结果。(Python,性能收到影响,下一节的@tf.function便是解决改性能问题的)

Eager Execution 的好处包括更直观的代码编写、更容易调试、更灵活地处理控制流等。它消除了在 TensorFlow 1 中构建和运行静态图所需的繁琐步骤,并使得机器学习开发变得更加交互式和直观。(怎么有点像是解释型语言和编译型语言的区别?)

要注意的是,在 TensorFlow 2 中,默认启用 Eager Execution 。但如果需要使用类似于 TensorFlow 1 的静态图模式,则也可以手动将其启用

综上所述:

  • 在 TensorFlow 1 中,数据流图是指用于描述计算任务的静态图,需要通过会话进行执行。
  • 在 TensorFlow 2 中,默认启用 Eager Execution ,它允许立即执行操作并返回结果,使得代码编写更直观和灵活。

@tf.function 装饰器概念

@tf.function 是 TensorFlow 中的一个装饰器(decorator),它的作用是将 Python 函数转换为 TensorFlow 的计算图,并且可以提供更高效的执行。

以下是 @tf.function 装饰器的主要目的和作用:

  1. 提升性能:通过将函数转换为 TensorFlow 计算图,可以利用 TensorFlow 的自动并行化、GPU 加速等功能,从而实现更高效地执行。这对于大规模数据集或复杂模型特别有益。

  2. 实现符号式编程:TensorFlow 使用静态计算图进行工作。使用 @tf.function 将函数转换为计算图后,该计算图中包含了所有操作和控制流程,使得代码更具可视化和理解性。这种方式被称为符号式编程,与命令式编程相比,在一些情况下可能会带来性能上的优势。

  3. 支持跨平台部署:由于将函数转换为计算图后,不再依赖原始 Python 代码本身运行时环境,因此可以方便地在其他平台上部署、导出或共享训练好的模型。

  4. 自动微分:当使用 @tf.function 转换函数时,默认情况下会启用自动微分功能。这意味着你可以轻松地获取关于输入变量的梯度信息,用于训练过程中的优化。

需要注意以下几点:

  • @tf.function 装饰器只能应用于满足特定条件的函数。它要求函数内部使用 TensorFlow 的操作(例如张量运算、控制流等),并且不包含 Python 语法或控制流结构(如循环、条件语句)。这是因为计算图在转换时需要静态确定所有操作,并且无法动态执行 Python 代码。

  • 如果你想了解哪些函数可以被装饰,请参考 TensorFlow 官方文档中关于 @tf.function 的说明和示例。

AI SaaS概念

AI SaaS(人工智能即服务)是一种提供人工智能技术和功能作为服务的模式。它允许开发者和企业通过API(应用程序编程接口)或网页界面来访问和使用各种预构建的人工智能功能,而无需自己构建、训练和部署复杂的机器学习模型。

SaaS,即软件即服务(Software as a Service),是一种基于云计算模型的软件交付模式。在传统的软件交付模式中,用户需要购买、安装和维护软件应用程序在自己的服务器上运行。而在SaaS模式下,用户无需关心这些复杂的操作和管理任务,只需通过互联网访问已经部署在云端的应用程序。

以下是SaaS模型的几个重要特点:

  1. 多租户架构:SaaS提供商将一个单一实例的应用程序同时提供给多个客户使用,并且每个客户都可以独立地进行配置和定制。
  2. 按需订阅:用户根据自身需求选择合适的订阅套餐,并按照所使用功能和服务以及使用时间来支付费用。
  3. 无需安装或更新:用户无需下载、安装或升级任何软件,在线通过浏览器就能够直接访问并使用最新版本的应用程序。
  4. 可扩展性与灵活性:由于基于云平台运行,SaaS应用具有良好的可扩展性,在处理大量数据或者高并发请求时能够快速响应,并且可以根据业务需要进行灵活调整。

相对于传统软件交付模式,SaaS模型具有许多优势:

  • 降低成本:用户无需购买昂贵的服务器硬件和软件许可证,只需支付基于使用量的费用。
  • 简化管理:所有与安装、维护和升级相关的任务都由SaaS提供商来处理,用户可以专注于业务而不需要担心技术方面的问题。
  • 快速部署:用户只需通过浏览器登录即可立即开始使用应用程序,无需等待复杂的软件安装过程。
  • 易于集成:SaaS应用通常提供API(Application Programming Interface),以便与其他系统进行集成。

常见的SaaS应用包括企业资源规划(ERP)、客户关系管理(CRM)、人力资源管理(HRM)和协作工具等。

AI SaaS 提供了一种简单且成本效益高的方式,使开发者和企业可以在他们自己的应用程序或产品中集成强大的人工智能功能。这些功能包括但不限于语音识别、图像识别、情感分析、机器翻译、聊天机器人等。

通过使用 AI SaaS,开发者不必从头开始设计和实现复杂的算法或模型,也无需处理底层基础设施相关问题。相反,他们可以直接调用云端提供商所提供的 API 或服务,并将其嵌入到自己的应用程序中。

优点:

  • 简化:AI SaaS 可以极大地简化使用人工智能技术的过程,避免了搭建底层基础设施、数据收集与标注以及模型训练等繁琐步骤。
  • 快速上手:由于预先构建好的功能和API的存在,开发者可以更快速地集成人工智能功能到他们的应用程序中。
  • 弹性伸缩:云端提供商通常具有强大且可扩展的基础设施,可以根据需求自动调整资源,以满足客户在不同规模上使用 AI 功能时所需的计算能力。

AI SaaS 目前已经得到广泛应用,在各个领域如语音识别、图像处理、自然语言处理等方面提供了便利和创新。许多知名云服务提供商都提供了 AI SaaS 平台,包括阿里云、微软 Azure、谷歌 Cloud 等。

在这里插入图片描述

						  🤞到这里,如果还有什么疑问🤞
					🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
					 	 🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。