2023了,学习深度学习框架哪个比较好?

PPT、视频和对应的文章免费开源在:https://chenzomi12.github.io/

都2023年,才来回答这个问题,自然毫无悬念地选择PyTorch,TensorFlow在大模型这一波浪潮中没有起死回生,有点惋惜,现在GLM、GPT、LLaMA等各种大模型都是基于PyTorch框架构建。这个事情已经水落石出。

不过呢,我觉得可以一起去回顾下,在AI框架发展的过程中,都沉陷了哪些技术点,为什么一开始这么多人在纠结到底用哪个框架。


在前面的内容主要是讲述了AI框架在数学上对自动微分进行表达和处理,最后表示称为开发者和应用程序都能很好地去编写深度学习中神经网络的工具和库,整体流程如下所示:
在这里插入图片描述

除了要回答最核心的数学表示原理意外,实际上AI框架还要思考和解决许多问题,如AI框架如何对实际的神经网络实现多线程算子加速?如何让程序执行在GPU/NPU上?如何编译和优化开发者编写的代码?因此,一个能够商用版本的AI框架,需要系统性梳理每一层中遇到的具体问题,以便提供相关更好的开发特性:

  • 前端(面向用户):如何灵活的表达一个深度学习模型?

  • 算子(执行计算):如何保证每个算子的执行性能和泛化性?

  • 微分(更新参数):如何自动、高效地提供求导运算?

  • 后端(系统相关):如何将同一个算子跑在不同的加速设备上?

  • 运行时:如何自动地优化和调度网络模型进行计算?

本节内容将会去总结AI框架的目的,其要求解决的技术问题和数学问题;了解了其目的后,真正地去根据时间的维度和和技术的维度梳理AI框架的发展脉络,并对AI框架的未来进行思考。

AI框架的目的

神经网络是机器学习技术中一类具体算法分枝,通过堆叠基本处理单元形成宽度和深度,构建出一个带拓扑结构的高度复杂的非凸函数,对蕴含在各类数据分布中的统计规律进行拟合。传统机器学习方法在面对不同应用时,为了达到所需的学习效果往往需要重新选择函数空间设计新的学习目标。

相比之下,神经网络方法能够通过调节构成网络使用的处理单元,处理单元之间的堆叠方式,以及网络的学习算法,用一种较为统一的算法设计视角解决各类应用任务,很大程度上减轻了机器学习算法设计的选择困难。同时,神经网络能够拟合海量数据,深度学习方法在图像分类,语音识别以及自然语言处理任务中取得的突破性进展,揭示了构建更大规模的神经网络对大规模数据进行学习,是一种有效的学习策略。

然而,深度神经网络应用的开发需要对软件栈的各个抽象层进行编程,这对新算法的开发效率和算力都提出了很高的要求,进而催生了 AI 框架的发展。AI框架可以让开发者更加专注于应用程序的业务逻辑,而不需要关注底层的数学和计算细节。同时AI框架通常还提供可视化的界面,使得开发者可以更加方便地设计、训练和优化自己的模型。在AI框架之上,还会提供了一些预训练的网络模型,可以直接用于一些常见的应用场景,例如图像识别、语音识别和自然语言处理等。

AI 框架的目的是为了在计算加速硬件(GPU/NPU)和AI集群上高效训练深度神经网络而设计的可编程系统,需要同时兼顾以下互相制约设计目标可编程性与性能。

  1. 提供灵活的编程模型和编程接口
  • 自动推导计算图:根据客户编写的神经网络模型和对应的代码,构建自动微分功能,并转换为计算机可以识别和执行的计算图。

  • 较好的支持与现有生态融合:AI应用层出不穷,需要提供良好的编程环境和编程体系给开发者方便接入,这里以PyTorch框架为例对外提供超过2000+ API。

  • 提供直观的模型构建方式,简洁的神经网络计算编程语言:使用易用的编程接口,用高层次语义描述出各类主流深度学习模型和训练算法。而在编程范式主要是以声明式编程和命令式编程为主,提供丰富的编程方式,能够有效提提升开发者开发效率,从而提升AI框架的易用性。

  1. 提供高效和可扩展的计算能力
  • 自动编译优化算法:为可复用的处理单元提供高效实现,使得AI算法在真正训练或者推理过程中,执行得更快,需要对计算图进行进一步的优化,如子表达式消除、内核融合、内存优化等算法,支持多设备、分布式计算等。

  • 根据不同体系结构和硬件设备自动并行化:体系结构的差异主要是指针对 GPU、NPU、TPU等AI加速硬件的实现不同,有必要进行深度优化,而面对大模型、大规模分布式的冲击需要对自动分布式化、扩展多计算节点等进行性能提升。

  • 降低新模型的开发成本:在添加新计算加速硬件(GPU/NPU)支持时,降低增加计算原语和进行计算优化的开发成本。

AI框架的发展

AI 框架作为智能经济时代的中枢,是 AI 开发环节中的基础工具,承担着 AI 技术生态中操作系统的角色,是 AI 学术创新与产业商业化的重要载体,助力 AI 由理论走入实践,快速进入了场景化应用时代,也是发展 AI 所必需的基础设施之一。随着重要性的不断凸显,AI 框架已经成为了 AI 产业创新的焦点之一,引起了学术界、产业界的重视。

时间维度

结合 AI 的发展历程,AI 框架在时间维度的发展大致可以分为四个阶段,分别为1)2000 年初期的萌芽阶段、2)2012~2014年的成长阶段、3)2015 年~2019 年的爆发阶段,和4)2020 年以后深化阶段。

在这里插入图片描述

其在时间的发展脉络与 AI ,特别是深度学习范式下的神经网络技术的异峰突起有非常紧密的联系。

  • 萌芽阶段

在2020年前,早期受限于计算能力不足,萌芽阶段神经网络技术影响力相对有限,因而出现了一些传统的机器学习工具来提供基本支持,也就是 AI 框架的雏形,但这些工具或者不是专门为神经网络模型开发定制的,或者 API 极其复杂对开发者并不友好,且并没有对异构加速算力(如GPU/NPU等)进行支持。缺点在于萌芽阶段的 AI 框架并不完善,开发者需要编写大量基础的工作,例如手写反向传播、搭建网络结构、自行设计优化器等。

其以 Matlab 的神经网络库为代表作品。
在这里插入图片描述

  • 成长阶段

2012 年,Alex Krizhevsky 等人提出了 AlexNet 一种深度神经网络架构,在 ImageNet 数据集上达到了最佳精度,并碾压第二名提升15%以上的准确率,引爆了深度神经网络的热潮。

自此极大地推动了 AI 框架的发展,出现了 Caffe、Chainer 和 Theano 等具有代表性的早期 AI 框架,帮助开发者方便地建立复杂的深度神经网络模型(如 CNN、RNN、LSTM 等)。不仅如此,这些框架还支持多 GPU 训练,让开展更大、更深的模型训练成为可能。在这一阶段,AI 框架体系已经初步形成,声明式编程和命令式编程为下一阶段的 AI 框架发展的两条截然不同的道路做了铺垫。

  • 爆发阶段

2015 年,何恺明等人提出的 ResNet,再次突破了图像分类的边界,在 ImageNet 数据集上的准确率再创新高,也凝聚了产业界和学界的共识,即深度学习将成为下一个重大技术趋势。

2016年 Google 开源了 TensorFlow 框架,Facebook AI 研究团队也发布了基于动态图的AI框架 PyTorch,该框架拓展自 Torch 框架,但使用了更流行的 Python 进行重构整体对外 API。Caffe 的发明者加入了 Facebook(现更名为 Meta)并发布了 Caffe2 并融入了 PyTorch 的推理生态;与此同时,微软研究院开发了 CNTK 框架。Amazon 采用了这是华盛顿大学、CMU 和其他机构的联合学术项目 MXNet。国内百度则率先布局了 PaddlePaddle 飞桨AI框架并于 2016 年发布。

在 AI 框架的爆发阶段,AI系统也迎来了繁荣,而在不断发展的基础上,各种框架不断迭代,也被开发者自然选择。经过激烈的竞争后,最终形成了两大阵营,TensorFlow 和 PyTorch 双头垄断。2019 年,Chainer 团队将他们的开发工作转移到 PyTorch,Microsoft 停止了 CNTK 框架的积极开发,部分团队成员转而支持 PyTorch;Keras 被 TensorFlow 收编,并在 TensorFlow2.X 版本中成为其高级 API 之一。
在这里插入图片描述

  • 深化阶段

随着 AI 的进一步发展,AI 应用场景的扩展以及与更多领域交叉融合进程的加快,新的趋势不断涌现,越来越多的需求被提出。

例如超大规模模型的出现(GPT-3、ChatGPT等),新的趋势给 AI 框架提出了更高的要求。例如超大规模模型的出现(GPT-3、ChatGPT等);如对全场景多任务的支持、对异构算力支持等。这就要求 AI 框架最大化的实现编译优化,更好地利用算力、调动算力,充分发挥集群硬件资源的潜力。此外,AI 与社会伦理的痛点问题也促使可信赖 AI 、或则 AI 安全在 AI 框架层面的进步。

基于以上背景,现有的主流 AI 框架都在探索下一代 AI 框架的发展方向,如 2020 年华为推出昇思 MindSpore,在全场景协同、可信赖方 面有一定的突破;旷视推出天元 MegEngine,在训练推理一体化方面深度布局;PyTorch 捐赠给 Linux 基金会,并面向图模式提出了新的架构和新的版本 PyTorch2.X。

在这一阶段,AI 框架正向着全场景支持、大模型、分布式AI、 超大规模 AI、安全可信 AI 等技术特性深化探索,不断实现新的突破。

技术维度

以技术维度的角度去对 AI 框架进行划分,其主要经历了三代架构,其与深度学习范式下的神经网络技术发展和编程语言、及其编程体系的发展有着紧密的关联。
在这里插入图片描述

  • 第一代AI框架

第一代 AI 框架在时间上主要是在 2010 年前,面向需要解决问题有:1)机器学习 ML 中缺乏统一的算法库,2)提供稳定和统一的神经网络 NN 定义。其对应的AI框架框架其实广义上并不能称为 AI 框架,更多的是对机器学习中的算法进行了统一的封装,并在一定程度上提供了少量的神经网络模型算法和API的定义。具体形态有2种:

第一种的主要特点的是以库(Library)的方式对外提供脚本式编程,方便开发者通过简单配置的形式定义神经网络,并且针对特殊的机器学习 ML、神经网络NN算法提供接口,其比较具有代表性意义的是 MATLAB 和 SciPy。另外还有针对矩阵计算提供特定的计算接口的 NumPy。优点是:面向 AI 领域提供了一定程度的可编程性;支持CPU加速计算。

第二种的在编程方面,以CNN网络模型为主,由常用的layers组成,如:Convolution, Pooling, BatchNorm, Activation等,都是以Layer Base为驱动,可以通过简单配置文件的形式定义神经网络。模型可由一些常用layer构成一个简单的图,AI 框架提供每一个layer及其梯度计算实现。这方面具有代表性的作品是 Torch、Theano 等AI框架。其优点是提供了一定程度的可编程性,计算性能有一定的提升,部分支持 GPU/NPU 加速计算。

同时,第一代 AI 框架的缺点也比较明显,主要集中在1)灵活性和2)面向新场景支持不足。

首先是易用性的限制难以满足深度学习的快速发展,主要是层出不穷的新型网络结构,新的网络层需要重新实现前向和后向计算;其次是第一代 AI 框架大部分使用非高级语言实现,修改和定制化成本较高,对开发者不友好。最后是新优化器要求对梯度和参数进行更通用复杂的运算。

随着生成对抗网络模型 GAN、深度强化学习 DRL、Stable Diffusion 等新的结构出现,基于简单的“前向+后向”的训练模式难以满足新的训练模式。例如循环神经网络 LSTM 需要引入控制流、对抗神经网络 GAN 需要两个网络交替训练,强化学习模型 RL 需要和外部环境进行交互等众多场景没办法满足新涌现的场景。
在这里插入图片描述

  • 第二代AI框架

第二代AI框架在技术上,统一称为基于数据流图(DAG)的计算框架:将复杂的神经网络模型,根据数据流拆解为若干处理环节,构建数据流图,数据流图中的处理环节相互独立,支持混合编排控制流与计算,以任务流为最终导向,AI 框架将数据流图转换为计算机可以执行或者识别的任务流图,通过执行引擎(Runtime)解析任务流进行处理环节的分发调度、监控与结果回传,最终实现神经网络模型的构建与运行。

以数据流图描述深度神经网络,前期实践最终催生出了工业级 AI 框架,如TensorFlow 和PyTorch,这一时期同时伴随着如Chainer,DyNet等激发了 AI 框架设计灵感的诸多实验项目。TensorFlow 和 PyTorch 代表了现今 AI 框架框架的两种不同的设计路径:系统性能优先改善灵活性,和灵活性易用性优先改善系统性能。

这两种选择,随着神经网络算法研究和应用的更进一步发展,又逐步造成了 AI 框架在具体技术实现方案的分裂。

  • 第三代AI框架

在第三代 AI 框架中,面向通用化场景,如 CNN、LSTM、RNN 等场景开始走向统一的设计架构,不同的AI框架在一定程度都会模仿或者参考 PyTorch 的动态图 Eager 模式,提升自身框架的易用性,使其更好地接入 AI 生态中。

目前在技术上一定程度开始迈进第三代AI框架,其主要面向设计特定领域语言(Domain-Specific Language,DSL)。最大的特性是:1)兼顾编程的灵活性和计算的高效性;2)提高描述神经网络算法表达能力和编程灵活性;3)通过编译期优化技术来改善运行时性能。

具体面向不同的业务场景会有一些差异(即特定领域),如 JAX 是 Autograd 和 XLA 的结合,作为一个高性能的数值计算库,更是结合了可组合的函数转换库,除了可用于AI场景的计算,更重要的是可以用于高性能机器学习研究。例如Taichi面向图形图像可微分编程,作为开源并行计算框架,可以用于云原生的3D内容创作。
在这里插入图片描述

AI框架的未来

应对未来多样化挑战,AI 框架有以下技术趋势:

全场景

AI 框架将支持端边云全场景跨平台设备部署

网络模型需要适配部署到端边云全场景设备,对 AI 框架提出了多样化、复杂化、碎片化的挑战。随着云服务器、边缘设备、终端 设备等人工智能硬件运算设备的不断涌现,以及各类人工智能运算库、中间表示工具以及编程框架的快速发展,人工智能软硬件生态呈现多样化发展趋势。

但目前主流 AI 框架仍然分为训练部分和推理部分,两者不完全兼容。训练出来的模型也不能通用,学术科研项目间难以合作延伸,造成了 AI 框架的碎片化。目前业界并没有统一的中间表示层标准,导致各硬件厂商解决方案存在一定差异,以致应用模型迁移不畅,增加了应用部署难度。因此,基于AI框架训练出来的模型进行标准化互通将是未来的挑战。

易用性

AI 框架将注重前端便捷性与后端高效性的统一

AI 框架需要提供更全面的 API 体系以及前端语言支持转换能力,从而提升前端开发便捷性。AI 框架需要能为开发者提供完备度 高、性能优异、易于理解和使用的 API 体系。

AI 框架需要提供更为优质的动静态图转换能力,从而提升后端运行高效性。从开发者使用 AI 框架来实现模型训练和推理部署的角度看,AI 框架需要能够通过动态图的编程范式,来完成在模型训练的开发阶段的灵活易用的开发体验,以提升模型的开发效率;通过静态图的方式来实现模型部署时的高性能运行;同时,通过动态图转静态图的方式,来实现方便的部署和性能优化。目前 PyTorch2.0 的图编译模式走在业界前列,不一定成为最终形态,在性能和易用性方面的兼顾仍然有待进一步探索。

大规模分布式

AI 框架将着力强化对超大规模 AI 的支持

OpenAI 于 2020 年 5 月发布 GPT-3 模型,包含 1750 亿参数,数据集(处理前)达到 45T, 在多项 NLP 任务中超越了人类水平。随之 Google 不断跟进分布式技术,超大规模 AI 逐渐成为新的深度学习范式。

超大规模 AI 需要大模型、大数据、大算力的三重支持,对 AI 框架也提出了新的挑战,

  1. 内存:大模型训练过程中需要存储参数、激活、梯度、优化器状态,

  2. 算力:2000 亿参数量的大模型为例,需要 3.6EFLOPS 的算力支持,必要构建 AI 计算集群满足算力需求

  3. 通信:大模型并行切分到集群后,模型切片之间会产生大量通信,从而通信就成了主要的瓶颈

  4. 调优:E 级 AI 算力集群训练千亿参数规模,节点间通信复杂,要保证计算正确性、性能和可用性,手动调试难以全面兼顾,需要更自动化的调试调优手段

  5. 部署:超大规模 AI 面临大模型、小推理部署难题,需要对大模型进行完美压 缩以适应推理侧的部署需求

科学计算

AI框架将进一步与科学计算深度融合交叉

传统科学计算领域亟需 AI 技术加持融合。计算图形可微编程,类似Taichi这样的语言和框架,提供可微物理引擎、可微渲染引擎等新功能。因此未来是一个AI与科学计算融合的时代,传统的科学计算将会结合AI的方法去求解既定的问题。至于AI与科学计算结合,看到业界在探索三个方向:

  1. 利用 AI 神经网络进行建模替代传统的计算模型或者数值模型,目前已经有很大的进展了,如拿了戈登贝尔奖的分子动力学模型DeepMD。

  2. AI求解,模型还是传统的科学计算模型,但是使用深度学习算法来求解,这个方向已经有一定的探索,目前看到不少基础的科学计算方程已经有对应的AI求解方法,比如PINNs、PINN-Net等,当然现在挑战还很大,特别是在精度收敛方面,如果要在AI框架上使用AI求解科学计算模型,最大的挑战主要在前端表达和高性能的高阶微分。

  3. 使用AI框架来加速方程的求解,科学计算的模型和方法都不变的前提下,与深度学习使用同一个框架来求解,其实就是把AI框架看成面向张量计算的通用分布式计算框架。

本节总结

  • 本节内容回顾了AI框架在时间维度和技术维度的发展趋势

  • 技术上初代AI框架解决AI编程问题,第二代加速科研和产业落地,第三代结合特定领域语言和任务

  • 一起学习了AI框架随着的软硬件的发展升级而共同发展,展望AI框架的未来

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/21809.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ChatGPT】人工智能发展的背后厉害:跌宕起伏的近百年

文章目录 前言一、麦卡洛克-皮特斯神经元二、赫布式学习三、感知机四、反向传播算法五、卷积神经网络六、递归神经网络七、通用计算GPU芯片八.生成式神经网络与大型语言模型总结 前言 今天,ChatGPT等大型语言预训练神经网络模型已经成为广为人知的名字,…

ChatGPT又添劲敌?OpenAI核心员工创业,新模型获一片叫好

关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 计算机视觉研究院专栏 作者:Edison_G 在 ChatGPT 巨人的肩膀上又有了改进。 转自《机器之心》 ChatGPT 给 AI 领域带来的变革&#xff0c…

aigc分享

AIGC技术分享 AIGC概述 AIGC的概念、应用场景和发展历程https://36kr.com/p/2135547607286144 ppt https://36kr.com/p/2243237713604482 机器学习基础 机器学习的基本概念、分类和常用算法,如线性回归、决策树、支持向量机、神经网络等。 深度学习基础 深度学…

【倒计时2天】CCIG文档图像智能分析与处理论坛开启直播预约,共探智能文档处理前沿技术

文档是人们在日常生活、工作中产生的信息的重要载体,各领域从业者几乎每天都要与金融票据、商业规划、财务报表、会议记录、合同、简历、采购订单等文档“打交道”。让计算机具备阅读、理解和解释这些文档图像的能力,在智能金融、智能办公、电子商务等许…

Chatgpt-plus帮我写的Python教程

Chatgpt-plus帮我写的Python教程 昨天急不可耐的开通了Chatgpt plus,就想着赶快试用下,不得不说真的强大!,现在还只是gpt4模型,不知道gpt5模型出来会变成什么样子,下面是gpt花了三分钟帮我写的教程&#x…

程序员与chatgpt的碰撞

背景:生产环境要复制一条数据,并修改指定字段且id要自增 ChatGPT是一款非常出色的聊天机器人,它使用了最先进的自然语言处理技术,可以与人类进行自然的对话。它可以回答各种问题,包括一般的知识问题、天气、新闻、娱乐…

AI掌绘艺术:揭秘Stable Diffusion华美图韵背后那些提示词的秘密

开篇 好了好了,我知道这个标题有点大,大得像我妈的锅一样。但是,我保证,当你读完这篇文章后,你不仅会明白我为什么敢用这样的标题,而且你也会想试试宝贵的AI画画方法。 首先,我要说&#xff0…

ChatGPT背后的开源AI框架Ray,现在值10亿美元

机器之心报道 编辑:泽南、小舟 Ray 被 OpenAI、亚马逊等科技公司用来开发大模型,是最近异军突起的框架。 最近一段时间,文本生成的人工智能在互联网上掀起了一阵风暴:ChatGPT 因为可以对人们能想到的几乎任何问题提供非常详细、近…

ChatGPT背后的故事和秘密是什么?

大家好。近期,德国一家公司在公司内部暂停了使用人工智能应用ChatGPT,原因竟然是担心其可能会泄露敏感数据。这则消息引发了广泛的关注和探讨,下面我们来了解其中的详情吧! 首先,让我们了解一下ChatGPT是什么。ChatGP…

【阿里云】第一次进行域名注册、备案以及使用全过程

前言 随着ChatGPT的爆火,让我直面感受到了一项技术的突破可以产生堪比原子弹爆炸的威力,因而在品尝过ChatGPT带来的便利与甜头后,就一直在跟进,同时也在能力范围内,让数十位朋友使用上了ChatGPT 前段时间&#xff0c…

【AI提示】ChatGPT提示工程课程(吴恩达OpenAI)转换文本(中文chatgpt版)

设置 翻译 通用翻译器 语调变换 格式转换 拼写检查/语法检查。 转换 在本笔记中,我们将探索如何使用大型语言模型进行文本转换任务,例如语言翻译、拼写和语法检查、语气调整和格式转换。 设置 import openai import osfrom dotenv import load_dotenv, f…

ChatGPT游戏领域的创新助手|小智ai

ChatGPT丨小智ai丨chatgpt丨人工智能丨OpenAI丨聊天机器人丨AI语音助手丨GPT-3.5丨开源AI平台 导语: ChatGPT(Chat Generative Pre-trained Transformer)作为一种先进的自然语言处理模型,不仅在对话领域取得了突破,而且…

用ChatGPT控制NPC,行动逼真到像正常人!斯坦福谷歌新研究炸场,赋予大模型准确记忆力...

萧箫 发自 凹非寺量子位 | 公众号 QbitAI 放任25个AI共同生活,他们竟然模拟起了人类的行动! 不仅像人一样起床、刷牙、吃饭、睡觉,还会被迫“出门打工”,甚至在闲暇时分一起庆祝节日。 这一切,来自斯坦福和谷歌的一项新…

ChatGPT背后的技术和多模态异构数据处理的未来展望——我与一位资深工程师的走心探讨

上周,我和一位从业三十余年的工程师聊到ChatGPT。 作为一名人工智能领域研究者,我也一直对对话式大型语言模型非常感兴趣,在讨论中,我向他解释这个技术时,他瞬间被其中惊人之处所吸引🙌,我们深…

openai项目部署服务器,使用反向代理时候,响应数据缺失的问题

openai项目部署服务器,使用nginx配置反向代理后遇到的问题 一、问题描述二、问题解决 一、问题描述 openapi的问题,当你成功科学上网接入chatgpt3.5的时候(使用的是流式响应),在本地跑应用如丝般顺滑,然后满心欢喜的把应用部署上…

ChatGLM模型通过api方式调用响应时间慢怎么破,Fastapi流式接口来解惑,能快速提升响应速度

ChatGLM-6B流式HTTP API 本工程仿造OpneAI Chat Completion API(即GPT3.5 API)的实现,为ChatGLM-6B提供流式HTTP API。 文章目录 ChatGLM-6B流式HTTP API前言一、下载代码安装环境二、接口服务脚本代码三、运行启动命令总结 前言 现在市面上…

相见恨晚,这才是横跨三大操作系统的终极神器!真的太太太好用了。。。

点关注公众号,回复“1024”获取2TB学习资源! 此前给大家推荐过无数的Chrome插件,涉及工作、生活、学习、娱乐等方方面面,大大提高了浏览器的可玩性。 但回到桌面端,我们依然还是需要下载大量的软件客户端,来…

str.replace()——Python的“第四”字符串格式

str.replace(),Python的“第四”字符串格式。 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单…… 地址:https://lqpybo…

详解Handler

详解Handler 文章目录 详解Handler1.Handler的工作流程1.1主线程具有如上性质的原因1.2流程图 2.Handler流程中的重要的几个方法2.1Message中的属性2.2.1what2.2.2replyTo2.2.3obtain 2.2Handler.post()与Handler.sendMessage()2.2.1post的源码2.2.1.1sendMessageDelayed()源码…

AI_News周刊:第四期

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 News 1.对抗“唤醒人工智能”马斯克招募团队开发 OpenAI 竞争对手 据两位直接了解这项工作的人士和另一位了解情况的人士透露,埃隆马斯克最近几周与人工智能研究人员接洽,商讨成…