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

目标检测算法YOLOv9简介

      YOLOv9由Chien-Yao Wang等人于2024年提出,论文名为:《YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information》,论文见:https://arxiv.org/pdf/2402.13616 ;源码见: https://github.com/WongKinYiu/yolov9

      以下内容主要来自论文:

      1.Introduction

      近年来,深度学习领域的研究人员主要关注如何开发更强大的系统架构和学习方法(system architectures and learning methods),如CNN、Transformers、Perceivers、Mambas等。此外,一些研究人员尝试开发更通用的目标函数(objective functions),例如损失函数、标签分配和辅助监督(loss function, label assignment and auxiliary supervision)。上述研究都试图精确地找到输入和目标任务(input and target tasks)之间的映射。然而,过去大多数方法都忽略了输入数据在前馈过程中(feedforward process)可能会有不可忽略的信息损失。这种信息损失会导致梯度流出现偏差(lead to biased gradient flows),随后用于更新模型。上述问题可能导致深度网络在目标和输入之间建立错误的关联,从而导致训练后的模型产生错误的预测

      在深度网络中,输入数据在前馈过程中丢失信息的现象俗称信息瓶颈(information bottleneck),其示意图如下图所示。目前能够缓解这一现象的主要方法有:

      (1).使用可逆架构(reversible architectures):该方法主要使用重复的输入数据,以显式的方式保留输入数据的信息;

      (2).使用masked建模:该方法主要使用重构损失(reconstruction loss),采用隐式的方式最大化提取的特征并保留输入信息;

      (3).引入深度监督概念(deep supervision concept):利用没有丢失太多重要信息的浅层特征(shallow features),预先建立从特征到目标的映射,确保重要信息能够传递到更深的层。

      但上述方法在训练过程和推理过程中都存在不同的弊端(drawbacks)。例如,可逆架构需要额外的层来组合重复馈送(repeatedly fed)的输入数据,这将显著增加推理成本。此外,由于输入数据层到输出层不能有太深的路径(deep path),这个限制将导致在训练过程中难以对高阶语义(high-order semantic)信息进行建模。对于masked建模,其重构loss有时会和目标loss发生冲突。另外,大部分mask机制也会对数据产生不正确的关联。对于深度监督机制来说,会产生误差积累(error accumulation),而如果浅层监督(shallow supervision)在训练过程中丢失了信息,后面的层就无法检索到所需的信息。在困难任务(difficult tasks)和小模型上,上述现象会更加显著。

      为了解决上述问题,我们提出了一个新概念,即可编​​程梯度信息(Programmable Gradient Information, PGI)。该概念是通过辅助可逆分支(reversible branch)生成可靠的梯度,使深度特征仍能保持执行目标任务的关键特性(key characteristics)。辅助可逆分支的设计可以避免传统深度监督过程中融合多路径特征可能带来的语义损失,即在不同的语义层面(semantic levels)上编程梯度信息传播,从而达到最佳的训练效果。PGI的可逆架构建立在辅助分支上,因此没有额外的成本。由于PGI可以自由选择适合目标任务的损失函数,因此它还克服了masked建模遇到的问题。所提出的PGI机制可以应用于各种规模的深度神经网络,并且比深度监督机制更加通用,而深度监督机制仅适用于非常深的神经网络。

      本文还基于ELAN设计了广义ELAN(generalized ELAN, GELAN),GELAN的设计同时兼顾了参数数量、计算复杂度、准确率和推理速度。这种设计允许用户为不同的推理设备任意选择合适的计算块(computational blocks)。我们将提出的PGI与GELAN相结合,设计了新一代的YOLO系列目标检测系统,我们称之为YOLOv9。我们总结本文的贡献如下:

      (1).我们从可逆函数的角度对现有的深度神经网络架构进行了理论分析,并通过这一过程成功解释了很多过去难以解释的现象(phenomena),并在此基础上设计了PGI和辅助可逆分支,取得了优异的效果。

      (2).我们设计的PGI解决了深度监督只能用于极深的神经网络架构的问题,从而让新的轻量级架构真正地应用于日常生活中。

      (3).我们设计的GELAN仅仅使用了常规卷积(conventional convolution),就达到了比基于目前最先进技术的depth-wise convolution设计更高的参数利用率,同时展现出轻量、快速、准确的巨大优势。

      2.Related work

      (1).Real-time Object Detectors:目前主流的实时目标检测器是YOLO系列,这些模型大多以CSPNet或ELAN及其变种作为主要计算单元(computing units)。在特征融合(feature integration)方面,通常使用改进的PAN或FPN作为工具,然后使用改进的YOLOv3 head或FCOS head作为预测head。最近也有一些实时物体检测器被提出,比如以DETR为基础的RT DETR。然而,由于DETR系列目标检测器在没有相应领域预训练模型的情况下极难应用于新领域,目前使用最广泛的实时目标检测器仍然是YOLO系列。本文选择YOLOv7作为开发所提方法的基础(as a base to develop the proposed method)。我们使用GELAN改进了所提出的PGI的架构和训练过程。

      (2).Reversible Architectures:可逆架构的运算单元必须保持可逆转换的特性,这样才能保证每层运算单元的输出特征图能够保留完整的原始信息。此前,RevCol 将传统的可逆单元推广到多个层次(levels),这样做可以扩展不同层(layer)单元所表达的语义层次(semantic levels)。通过对各种神经网络架构的文献综述,我们发现有许多高性能架构(high-performing architectures)具有不同程度的可逆性。例如,Res2Net模块(module)以分层的方式(hierarchical manner)将不同的输入分区(input partitions)与下一个分区组合在一起,并将所有转换后的分区连接起来再向后传递。CBNet通过复合(composite)backbone重新引入原始输入数据,从而获得完整的原始信息,并通过各种组合方式获得不同层次的多级可逆信息。这些网络架构一般具有出色的参数利用率(parameter utilization),但是额外的复合层导致推理速度缓慢。DynamicDet结合了CBNet和YOLOv7,在速度、参数量和准确率之间取得了非常好的权衡。本文引入DynamicDet架构作为设计可逆分支的基础,并在提出的PGI中进一步引入可逆信息提出的新架构在推理过程中不需要额外的连接,因此可以充分保留速度、参数量和准确率的优势。

      (3).Auxiliary Supervision:深度监督是最常见的辅助监督方法,通过在中间层插入额外的预测层进行训练,尤其在基于Transformer的方法中引入多层解码器(multi-layer decoders)的应用是最常见的。另一种常见的辅助监督方法是利用相关的元信息(meta information)来引导中间层产生的特征图,使其具备目标任务所需的性质。这一类型的例子包括使用分割损失(segmentation loss)或深度损失(depth loss)来增强目标检测器的准确率。最近文献中有很多报道利用不同的标签分配(label assignment)方式生成不同的辅助监督机制,以加快模型的收敛速度,同时提高鲁棒性。然而辅助监督机制通常只适用于大模型,当应用于轻量级模型时,容易造成参数化不足的现象,使得性能变差。我们提出的PGI设计了一种对多层次语义信息(multi-level semantic information)进行重编程(reprogram)的方法,并且这种设计使得轻量级模型也能从辅助监督机制中受益

      3.Problem Statement

      通常人们将深度神经网络收敛困难问题归因于梯度消失或梯度饱和(gradient vanish or gradient saturation)等因素,而这些现象在传统的深度神经网络中确实存在。然而,现代深度神经网络已经通过设计各种规范化(various normalization)和激活函数从根本上解决了上述问题。尽管如此,深度神经网络仍然存在收敛(convergence)速度慢或收敛效果不佳的问题。本文对上述问题的本质进行了进一步的探究。通过对信息瓶颈(information bottleneck)的深入分析,我们推断出导致这一问题的根本原因是原本来自非常深的网络的初始梯度在传递出去后不久就丢失了大量实现目标所需的信息(initial gradient originally coming from a very deep network has lost a lot of information needed to achieve the goal soon after it is transmitted)。我们设计基于可逆网络的方法来解决上述问题

      (1).Information Bottleneck Principle:根据信息瓶颈原理,我们知道数据在经过转换时可能会造成信息丢失。随着网络层数的增加,原始数据丢失的可能性会更大。然而深度神经网络的参数是根据网络的输出以及给定的目标,通过计算损失函数产生新的梯度后更新网络。可以想象,更深的神经网络的输出更难保留有关预测目标的完整信息。这将使得在网络训练期间使用不完整的信息成为可能,从而导致梯度不可靠和收敛性较差。解决上述问题的方法之一是直接增加模型的尺寸(size)。当我们使用大量参数构建模型时,它更有能力对数据进行更完整的变换。上述方法使得即使在数据前馈过程中丢失了信息,仍然有机会保留足够的信息来执行到目标的映射。上述现象解释了为什么在大多数现代模型中,宽度比深度更重要。然而,上述结论并不能从根本上解决非常深的神经网络中梯度不可靠的问题。我们将利用可逆函数解决问题。

      (2).Reversible Functions:当函数有一个逆变换函数时,我们称这个函数为可逆函数。当网络的变换函数由可逆函数组成时,可以获得更可靠的梯度来更新模型。

      4.Methodology

      (1).Programmable Gradient Information:为了解决上述问题,我们提出了一种新的辅助监督框架,称为可编程梯度信息(PGI),如下图所示。PGI主要包括三个组件,分别是:主分支(main branch)、辅助可逆分支(auxiliary reversible branch)、多级辅助信息(multi-level auxiliary information)。PGI的推理过程只使用主分支,因此不需要任何额外的推理成本。至于另外两个组件,它们用于解决或减缓深度学习方法中的几个重要问题。其中辅助可逆分支是为了处理神经网络加深带来的问题而设计的。网络加深会造成信息瓶颈,导致损失函数无法产生可靠的梯度。至于多级辅助信息,是为了处理深度监督带来的误差积累问题而设计的,特别是多预测分支(multiple prediction branch)的架构和轻量级模型。

      Auxiliary Reversible Branch:在PGI中,我们提出辅助可逆分支来生成可靠的梯度并更新网络参数。通过提供从数据到目标(target)的映射信息,损失函数可以提供指导,避免从与目标相关性较低的不完整前馈特征(feedforward features)中找到虚假相关性的可能性。我们提出通过引入可逆架构来保持信息的完整,但将主分支添加到可逆架构中会消耗大量的推理成本。由于我们的目标是利用可逆架构获得可靠的梯度,因此"可逆"并不是推理阶段的唯一必要条件。鉴于此,我们将可逆分支视为深度监督分支的扩展,并设计辅助可逆分支,如上图(d)所示。对于主分支深度特征,由于信息瓶颈而丢失重要信息的特征,它们将能够从辅助可逆分支获得可靠的梯度信息。这些梯度信息会驱动参数学习,协助提取正确且重要的信息,上述动作可以使主分支获得对目标任务更有效的特征。此外,可逆架构在浅层网络(shallow networks)上的表现比在一般网络上更差,因为复杂任务需要在更深的网络中转换(conversion)。我们提出的方法并不强制主分支保留完整的原始信息,而是通过辅助监督机制生成有用的梯度来更新它。这种设计的优点是所提出的方法也可以应用于更浅的网络。最后,由于辅助可逆分支可以在推理阶段被移除,因此可以保留原有网络的推理能力。我们还可以选择PGI中的任意可逆架构来扮演辅助可逆分支的角色。

      Multi-level Auxiliary Information:包含多个预测分支的深度监督架构如上图(c)所示。对于目标检测,不同的特征金字塔(feature pyramids)可以用于完成不同的任务,比如它们可以组合在一起检测不同大小的目标。因此,在接入深度监督分支后,浅层特征会被引导去学习小目标检测所需的特征,此时系统会将其他尺寸的目标的位置视为背景。但上述做法会导致深度特征金字塔丢失大量预测目标所需的信息。针对这一问题,我们认为每个特征金字塔需要接收所有目标的信息,以便后续的主分支能够保留完整的信息来学习针对各类目标的预测。多级辅助信息的概念是在辅助监督的特征金字塔层次(feature pyramid hierarchy layers)和主分支之间插入一个集成网络,然后用它组合来自不同预测头(prediction heads)的返回梯度,如上图(d)所示。多级辅助信息则是将包含所有目标的梯度信息聚合起来,传递给主分支,然后更新参数。此时主分支的特征金字塔层次的特征将不会被某个特定目标的信息所主导。因此,我们的方法可以缓解深度监督中的信息断裂(broken)问题。此外,任何集成网络(integrated network)都可以在多层次的辅助信息中使用。因此,我们可以规划所需的语义层(semantic levels)来指导不同规模的网络架构的学习。

      (2).Generalized ELAN:新型网络架构--GELAN。通过结合两种采用梯度路径规划设计的神经网络架构CSPNet和ELAN,我们设计了兼顾轻量、推理速度和准确性的广义高效层聚合网络(generalized efficient layer aggregation network, GELAN)。其整体架构如下图所示。我们将ELAN的功能(最初仅使用卷积层堆叠)推广到可以使用任何计算块的新架构。

      GitHub:https://github.com/fengbingchun/NN_Test

相关文章:

目标检测算法YOLOv9简介

YOLOv9由Chien-Yao Wang等人于2024年提出,论文名为:《YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information》,论文见:https://arxiv.org/pdf/2402.13616 ;源码见: https://github.com/W…...

达梦数据库搭建守护集群

前言 DM 数据守护(Data Watch)是一种集成化的高可用、高性能数据库解决方案,是数据库异地容灾的首选方案。通过部署 DM 数据守护,可以在硬件故障(如磁盘损坏)、自然灾害(地震、火灾&#xff09…...

OpenGL-ES 学习(6)---- Ubuntu OES 环境搭建

OpenGL-ES Ubuntu 环境搭建 此的方法在 ubuntu 和 deepin 上验证都可以成功搭建 目录 OpenGL-ES Ubuntu 环境搭建软件包安装第一个三角形基于 glfw 实现基于 X11 实现 软件包安装 sudo apt install libx11-dev sudo apt install libglfw3 libglfw3-dev sudo apt-get install…...

Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。

文章目录 前言一、项目初始化搭建1、创建项目:test_models_django2、创建应用app01 二、配置mysql三、创建model实例,自动创建数据库表1、创建对象User类2、执行命令 四、思考问题(****)1、是否会生成新表呢(答案报错&…...

对象创建的4种模式

1. 工厂模式 这种模式抽象了创建具体对象的过程,用函数来封装以特定接口创建对象的细节 缺点:没有解决对象识别的问题(即怎样知道一个对象的类型) function createPerson(name, age, job) {var o new Object();o.name name;o.ag…...

如何判断 是否 需要 CSS 中的媒体查询

以下是一些常见的使用媒体查询的场景: 响应式布局:当设备的屏幕尺寸变化时,我们可以使用媒体查询来调整布局,以适应不同的屏幕尺寸。 设备特性适配:我们可以使用媒体查询来检测设备的特性,如设备方向、分辨…...

设计模式-装饰器模式(结构型)

装饰器模式 装饰器模式是一种结构模式,通过装饰器模式可以在不改变原有类结构的情况下向一个新对象添加新功能,是现有类的包装。 图解 角色 抽象组件:定义组件的抽象方法具体组件:实现组件的抽象方法抽象装饰器:实现…...

升级HarmonyOS 4.2,开启健康生活篇章

夏日来临,华为智能手表携 HarmonyOS 4.2 版本邀您体验,它不仅可以作为时尚单品搭配夏日绚丽服饰,还能充当你的健康管家,从而更了解自己的身体,开启智能健康生活篇章。 高血糖风险评估优化,健康监测更精准 …...

给gRPC增加负载均衡功能

在现代的分布式系统中,负载均衡是确保服务高可用性和性能的关键技术之一。而gRPC作为一种高性能的RPC框架,自然也支持负载均衡功能。本文将探讨如何为gRPC服务增加负载均衡功能,从而提高系统的性能和可扩展性。 什么是负载均衡? …...

【优选算法】详解target类求和问题(附总结)

目录 1.两数求和 题目: 算法思路: 代码: 2.!!!三数之和 题目 算法思路: 代码: 3.四数字和 题目: 算法思路: 代码: 总结&易错点&…...

【数据结构】图论入门

引入 数据的逻辑结构: 集合:数据元素间除“同属于一个集合”外,无其他关系线性结构:一个对一个,例如:线性表、栈、队列树形结构:一个对多个,例如:树图形结构&#xff1…...

11_1 Linux NFS服务与触发挂载autofs

11_1 Linux NFS服务与触发挂载服务 文章目录 11_1 Linux NFS服务与触发挂载服务[toc]1. NFS服务基础1.1 示例 2. 触发挂载autofs2.1 触发挂载基础2.2 触发挂载进阶autofs与NFS 文件共享服务:scp、FTP、web(httpd)、NFS 1. NFS服务基础 Netwo…...

开发uniapp 小程序时遇到的问题

1、【微信开发者工具报错】routeDone with a webviewId XXX that is not the current page 解决方案: 在app.json 中添加 “lazyCodeLoading”: “requiredComponents” uniapp的话加到manifest.json下的mp-weixin 外部链接文章:解决方案文章1 解决方案文章2 &qu…...

怎样快速获取Vmware VCP 证书,线上考试,voucher报名优惠

之前考一个VCP证书,要花大一万的费用,可贵了,考试费不贵,贵就贵在培训费,要拿到证书,必须交培训费,即使vmware你玩的很溜,不需要再培训了,但是一笔贵到肉疼的培训费你得拿…...

LeetCode 1141, 134, 142

目录 1141. 查询近30天活跃用户数题目链接表要求知识点思路代码 134. 加油站题目链接标签普通版思路代码 简化版思路代码 142. 环形链表 II题目链接标签思路代码 1141. 查询近30天活跃用户数 题目链接 1141. 查询近30天活跃用户数 表 表Activity的字段为user_id&#xff0c…...

华为FPGA工程师面试题

FPGA工程师面试会涉及多个方面,包括基础知识、项目经验、编程能力、硬件调试和分析等。以下是一些必问的面试题: 基础知识题: 请解释FPGA的基本组成和工作原理。描述FPGA中的可编程互联资源以及它们在构建复杂数字电路中的作用。请解释嵌入式多用途块(如BRAM、DSP slices、…...

Windows11上安装docker(WSL2后端)和使用docker安装MySQL和达梦数据库

Windows11上安装docker(WSL2后端)和使用docker安装MySQL和达梦数据库 1. 操作系统环境2. 首先安装wsl2.1 关于wsl2.2 安装wsl2.3 查看可用的wsl2.4 安装ubuntu-22.042.5 查看、启动ubuntu-22.04应用2.6 上面安装开了daili2.7 wsl的更多参考 3. 下载Docke…...

UnityXR Interactable Toolkit如何实现Climb爬梯子

前言 在VR中,通常会有一些交互需要我们做爬梯子,爬墙的操作,之前用VRTK3时,里面是还有这个Demo的,最近看XRI,发现也除了一个爬的示例,今天我们就来讲解一下 如何在Unity中使用XR Interaction Toolkit实现爬行(Climb)操作 环境配置 步骤 1:设置XR环境 确保你的Uni…...

sqli-labs 靶场 less-11~14 第十一关、第十二关、第十三关、第十四关详解:联合注入、错误注入

SQLi-Labs是一个用于学习和练习SQL注入漏洞的开源应用程序。通过它,我们可以学习如何识别和利用不同类型的SQL注入漏洞,并了解如何修复和防范这些漏洞。Less 11 SQLI DUMB SERIES-11判断注入点 尝试在用户名这个字段实施注入,且试出SQL语句闭合方式为单…...

国内外网络安全现状分析

一、国内网络安全现状 1.1 国内网络安全威胁 国内的网络安全威胁主要表现在以下几个方面: 恶意软件:包括计算机病毒、蠕虫、木马和间谍软件等,它们能感染计算机系统、窃取敏感信息或破坏系统功能。网络钓鱼:通过伪装成可信任的…...

vscode copilot git commit 生成效果太差,用其他模型替换

问题 众所周知,copilot git commit 就像在随机生成 git commit 这种较为复杂的内容还是交给大模型做比较合适 方法 刚好,gitlens 最近开发了 AI commit的功能,其提供配置url api可以实现自定义模型 gitlens 只有3种模型可用&#xff1a…...

计算机毕业设计hadoop+spark+hive舆情分析系统 微博数据分析可视化大屏 微博情感分析 微博爬虫 微博大数据 微博推荐系统 微博预测系统

本 科 毕 业 论 文 论文题目:基于Hadoop的热点舆情数据分析与可视化 姓名: 金泓羽 学号: 20200804050115 导师: 关英 职称&…...

【MySQL】(基础篇二) —— MySQL初始用

MySQL初始用 目录 MySQL初始用基本语法约定选择数据库查看数据库和表其它的SHOW 在Navicat中,大部分数据库管理相关的操作都可以通过图形界面完成,这个很简单,大家可以自行探索。虽然Navicat等图形化数据库管理工具为操作和管理数据库提供了非…...

计算机网络 期末复习(谢希仁版本)第4章

路由器:查找转发表,转发分组。 IP网的意义:当互联网上的主机进行通信时,就好像在一个网络上通信一样,看不见互连的各具体的网络异构细节。如果在这种覆盖全球的 IP 网的上层使用 TCP 协议,那么就…...

如何使用Pandas处理数据?

一、技术难点 Pandas是Python中一个强大的数据处理和分析库,它提供了高效、灵活且易于使用的数据结构,主要用于数据清洗、转换、聚合和可视化等任务。然而,在使用Pandas处理数据时,也会遇到一些技术难点。 数据导入与导出&#…...

Error: spawn xdg-open ENOENT

报错:The CJS build of Vite’s Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details. VITE v5.1.4 ready in 2298 ms ➜ Local: http://localhost:80/ ➜ Network: http://10.0.4.13:80/ ➜…...

写给大数据开发,如何去掌握数据分析

这篇文章源于自己一个大数据开发,天天要做分析的事情,发现数据分析实在高大上很多,写代码和做汇报可真比不了。。。。 文章目录 1. 引言2. 数据分析的重要性2.1 技能对比2.2 业务理解的差距 3. 提升数据分析能力的方向4. 数据分析的系统过程4…...

大数据湖一体化运营管理建设方案(49页PPT)

方案介绍: 本大数据湖一体化运营管理建设方案通过构建统一存储、高效处理、智能分析和安全管控的大数据湖平台,实现了企业数据的集中管理、快速处理和智能分析。该方案具有可扩展性、高性能、智能化、安全性和易用性等特点,能够为企业数字化…...

大模型训练的艺术:从预训练到增强学习的四阶段之旅

文章目录 大模型训练的艺术:从预训练到增强学习的四阶段之旅1. 预训练阶段(Pretraining)2. 监督微调阶段(Supervised Finetuning, SFT)3. 奖励模型训练阶段(Reward Modeling)4. 增强学习微调阶段…...

Linux 网络设置

Linux 网络设置 查看及测试网络查看网络配置测试网络连接 设置网络地址参数使用网络配置命令修改网络配置文件 查看及测试网络 查看及测试网络配置是管理 Linux 网络服务的第一步,本节将学习 Linux 操作系统中的网络查看及测试命令。其中讲解的大多数命令以普通用户权限就可以…...

jmail官方网站/怎么创建自己的网址

消费者和企业总想“以少获多”,并且总会这样做;这也在无形中推动了我们的市场发展,为技术创新者创造了无限机会。在系统领域,“以少获多”往往意味着“高度集成”。将更多功能集中到一个芯片中可以降低成本,使解决方案…...

wordpress表格css样式表/网络营销公司是做什么的

Python编码问题一直困扰了我许久,之前有过一些总结,但并不系统,比较凌乱。当然python2.x编码问题本身,便是剪不断理还乱。本篇将系统介绍python2.x编程中会遇到的一些编码问题,并给出解决方案。基于对编码问题的摸索了…...

网站建设小公司生存/360营销推广

原标题:绝地求生国服服务器已部署!官方回应国服上线时间问题近日《绝地求生》国服官博发文表示,《绝地求生》国服将采用超性能服务器,帮助玩家的体验更加快速稳定。同时国服还推出“全服跨运营商网络全互联”,只要是在…...

做淘宝图的素材搜索网站/百度投诉中心24小时电话

就只是贴了一个代码,部分解释写在代码注释里面了,之后会补上文字解释: 1. 第一种方式: import torch import torchvision import time #用于计时的 from torch import nn from torch.nn import Conv2d, MaxPool2d, Flatten,…...

网站建设代理商/网站运营主要做什么

我们肯定遇到过打开别人的项目时一直处于Building‘XXX’Gradle project info的情况。 然后就耐心等待了一会,然后就烦躁地再等待了一会,发现还没动静就果断点击了Cancel,但是发现并不能Cancel掉。最后只能强制结束掉AS。 事件的起因是别人项…...

在线python编程网页/seo咨询推广

什么是 Visual Paradigm IT项目管理框架? 框架是一组工具,可以帮助您更快,更好地完成工作。IT项目管理框架是一个概念,方法和工具的集合,帮助项目团队实现以下目标。 管理项目生命周期:从项目识别到项目启动…...