《AI大模型应知应会100篇》第63篇:AutoGPT 与 BabyAGI:自主代理框架探索
第63篇:AutoGPT 与 BabyAGI:自主代理框架探索
摘要
随着大语言模型(LLM)技术的不断演进,自主代理(Autonomous Agent) 正在成为 AI 应用的新范式。它不仅能够理解用户意图,还能自主规划、执行任务,并通过反思不断优化自身行为。
本文将深入解析两个当前最流行的开源自主代理框架 —— AutoGPT 和 BabyAGI,涵盖其核心原理、功能对比、实战部署及典型应用场景。无论你是想构建一个自动撰写周报的小助手,还是希望打造一个能完成复杂商业任务的智能代理,这篇文章都将为你提供详实的技术路径和实践指南。
核心概念与知识点
1. 自主代理概述
什么是自主代理?
自主代理是一种基于大语言模型的系统,具备目标设定、任务分解、执行、反思等能力,能在最小人工干预下完成复杂任务。
自主代理的核心组件
组件 | 功能说明 |
---|---|
目标设定 | 用户输入任务目标,代理将其拆解为多个子任务 |
计划制定 | 根据当前状态生成下一步操作计划 |
执行引擎 | 调用工具或调用 API 完成具体操作 |
反思机制 | 评估任务执行结果,修正后续行为 |
与传统 LLM 应用的区别
对比维度 | 传统 LLM 应用 | 自主代理 |
---|---|---|
输入输出 | 单次交互 | 多轮对话 + 自动执行 |
行为模式 | 被动响应 | 主动规划 |
工具集成 | 需手动调用 | 自动选择并调用 |
学习能力 | 无记忆 | 支持长期记忆库 |
2. AutoGPT 概览
项目背景与发展现状
- AutoGPT 是最早公开发布的“完全自主”AI 代理项目之一。
- 由开发者 Torantulino 发起,目前已有活跃社区维护。
- 支持 GPT-3.5、GPT-4 等多种模型。
主要功能特性
- ✅ 多级任务分解:支持递归式目标拆解
- ✅ 记忆存储:短期记忆 + 长期向量数据库(如 Pinecone)
- ✅ 插件扩展机制:可自定义工具模块(如搜索、邮件、API 接口)
技术架构解析(模块化设计)
AutoGPT/
├── autogpt/ # 核心逻辑
│ ├── agent.py # 代理主类
│ ├── memory/ # 内存管理模块
│ ├── tools/ # 插件工具集
│ └── config/ # 配置文件
├── frontend/ # Web 前端界面(React)
├── benchmark/ # 测试套件 agbenchmark
└── .env # API 密钥配置
3. BabyAGI 概览
项目特点(轻量级、易扩展)
- BabyAGI 是一个简化版的自主代理实现,适合初学者入门。
- 使用 LangChain 构建,代码简洁,易于理解和修改。
任务优先级排序机制
BabyAGI 采用任务队列机制:
tasks = [{"task_id": 1, "priority": 0.9, "description": "收集最新新闻"},{"task_id": 2, "priority": 0.7, "description": "分析市场趋势"}
]
每次执行最高优先级的任务,并根据结果动态调整其他任务优先级。
任务循环执行流程
while not task_queue.empty():task = select_highest_priority_task()result = execute(task)new_tasks = generate_new_tasks(result)add_to_queue(new_tasks)
4. 技术原理详解
目标设定与任务分解逻辑
以 AutoGPT 为例:
{"goal": "创建一个能自动撰写周报的代理","initial_plan": [{"task_id": 1,"description": "从企业邮箱中获取上周所有邮件"},{"task_id": 2,"description": "提取关键数据并总结"}]
}
代理会根据初始目标逐步生成子任务。
内部记忆与长期记忆管理
- 短期记忆:保存最近几次交互内容,用于上下文理解。
- 长期记忆:使用 FAISS 或 Pinecone 向量数据库存储历史任务与结果。
工具调用与插件扩展机制
AutoGPT 支持如下内置工具:
工具名称 | 功能 |
---|---|
search_internet | 调用 Google 搜索 |
send_email | 发送电子邮件 |
write_file | 写入本地文件 |
read_file | 读取文件内容 |
你也可以自定义工具,例如添加 slack_message
:
def slack_message(message: str):# 实现发送 Slack 消息的逻辑return {"status": "success", "message_id": "123456"}
反思与自我优化能力
代理会根据任务执行结果进行“反思”,比如:
任务失败原因:无法访问外部网站,请检查网络连接。
建议:尝试使用备用 DNS 或更换代理 IP。
5. 实战部署与使用【实战部分】
安装 AutoGPT
git clone https://github.com/Torantulino/Auto-GPT.git
cd Auto-GPT
pip install -r requirements.txt
cp .env.template .env
编辑 .env
文件,设置 OpenAI API Key:
OPENAI_API_KEY=your_openai_api_key_here
运行代理:
python -m autogpt
安装 BabyAGI
git clone https://github.com/yoheinakajima/babyagi.git
cd babyagi
pip install -r requirements.txt
设置环境变量:
export OPENAI_API_KEY='your-openai-api-key'
启动代理:
python main.py
设置任务目标并启动代理
以 AutoGPT 为例,启动后你会看到如下交互:
Enter your name (for memories): John
Enter the goal for the agent: Create a weekly report from my emails.
代理将自动开始执行任务。
查看任务执行日志与结果
AutoGPT 会在 logs/
目录下生成详细的日志文件:
cat logs/John_*.log
输出示例:
[INFO] Task ID: 1 - Description: Fetching emails from last week
[SUCCESS] Retrieved 15 emails from inbox
[INFO] Task ID: 2 - Description: Summarizing email content
[SUCCESS] Generated summary of key metrics and highlights
6. 功能对比
特性 | AutoGPT | BabyAGI |
---|---|---|
是否支持记忆库 | ✅ | ✅ |
是否支持多模型 | ✅(GPT-3.5/GPT-4) | ❌ |
扩展性 | ✅ 插件系统丰富 | ✅ 易于定制 |
社区活跃度 | 高(GitHub 上万星标) | 中 |
学习曲线 | 较陡(需熟悉 Python + Docker) | 平缓(纯 Python 实现) |
7. 应用场景
✅ 自动市场调研与数据分析
- 代理自动爬取行业报告、分析竞争对手、生成可视化图表。
✅ 任务自动化助手(如预约、提醒)
- 设置目标:“每周五下午三点提醒我开会”,代理会自动安排日历提醒。
✅ 智能客服与问题解决代理
- 接收用户提问 → 分析问题类型 → 调用内部知识库 → 返回结构化答案。
✅ 教育领域个性化学习路径规划
- 根据学生答题情况 → 推荐下一阶段学习内容 → 自动布置练习题。
8. 部署与运维
本地部署 vs 云服务部署
方式 | 优点 | 缺点 |
---|---|---|
本地部署 | 数据隐私高、可控性强 | 成本高、需维护 |
云服务部署 | 快速上线、弹性伸缩 | 成本可能较高、依赖平台 |
使用 Docker 容器化部署
AutoGPT 的 Dockerfile 示例:
FROM python:3.10-slimWORKDIR /appCOPY . .
RUN pip install -r requirements.txtCMD ["python", "-m", "autogpt"]
构建镜像并运行:
docker build -t autogpt .
docker run -it --rm -e OPENAI_API_KEY=yourkey autogpt
Kubernetes 集群部署方案
你可以使用 Helm Chart 将 AutoGPT 部署到 K8s 集群中,支持多实例并发执行。
日志监控与异常告警机制
- 使用 Prometheus + Grafana 监控任务进度。
- 配置 Slack/Webhook 告警通知任务失败。
实战案例研究
案例一:构建一个自动撰写周报的代理
功能需求:
- 自动登录邮箱
- 获取上一周所有邮件
- 提取关键信息并生成周报文档
AutoGPT 配置示例:
{"goal": "Generate weekly report from emails","tools": ["imap_read", "summarize_text", "write_file"]
}
输出示例:
Week Report - 2023年10月第3周Key Highlights:
- 客户 A 下单金额 $5000
- 新产品 B 在测试中发现性能瓶颈
- 市场部门新增 3 个潜在客户Next Steps:
- 修复产品 B 性能问题
- 联系客户 A 进行二次销售
案例二:创建一个根据新闻自动调整投资组合的代理
功能需求:
- 每天自动抓取财经新闻
- 分析对股市的影响
- 调整投资组合(模拟)
BabyAGI 示例代码片段:
from langchain import OpenAI
from langchain.tools import Toolllm = OpenAI(model_name="text-davinci-003")
tool = Tool(name="news_search", func=search_news, description="Search for financial news")agent = BabyAGIAgent(llm=llm, tools=[tool])
agent.run("Adjust investment portfolio based on today's news")
案例三:开发一个能够完成电商下单任务的智能代理
功能需求:
- 登录电商平台
- 添加商品到购物车
- 完成支付流程(模拟)
AutoGPT 插件示例:
def add_to_cart(product_id: str):# 模拟添加商品到购物车return {"status": "success", "cart_id": "CART123456"}def checkout(cart_id: str):# 模拟支付流程return {"status": "paid", "order_id": "ORDER789012"}
潜在挑战与风险
风险类型 | 描述 |
---|---|
安全性问题 | 代理可能被滥用执行恶意任务 |
伦理与责任归属 | 若代理造成损失,责任归属不明确 |
当前技术成熟度 | 仍处于实验阶段,稳定性有限 |
未来展望
发展方向 | 描述 |
---|---|
与强化学习结合 | 使代理具备更强的自我进化能力 |
多代理协作系统 | 多个代理协同完成复杂任务 |
更强大的推理能力 | 引入 Chain-of-Thought、Plan-and-Solve 等新方法 |
结语
AutoGPT 和 BabyAGI 是当前自主代理领域的两大代表作。它们不仅展示了大模型在自动化任务中的强大潜力,也为 AI 开发者提供了探索未来应用的广阔空间。
如果你正准备构建自己的 AI 代理系统,不妨从这两个项目入手,快速掌握核心技术,并在此基础上进行创新拓展。
📌 GitHub 示例源码地址(待补充)
📘 后续文章推荐
- 第64篇:《LangChain 实战:构建多步骤 AI Agent》
- 第65篇:《FastAPI + TypeChat 构建生产级 AI 服务》
- 第66篇:《AI 中间件架构设计:从单一服务到平台化演进》
如需进一步定制化开发或团队培训,欢迎联系作者!
相关文章:
《AI大模型应知应会100篇》第63篇:AutoGPT 与 BabyAGI:自主代理框架探索
第63篇:AutoGPT 与 BabyAGI:自主代理框架探索 摘要 随着大语言模型(LLM)技术的不断演进,自主代理(Autonomous Agent) 正在成为 AI 应用的新范式。它不仅能够理解用户意图,还能自主规…...
使用大模型预测急性结石性疾病技术方案
目录 1. 数据预处理与特征工程伪代码 - 数据清洗与特征处理数据预处理流程图2. 大模型构建与训练伪代码 - 模型训练模型训练流程图3. 术前预测系统伪代码 - 术前风险评估术前预测流程图4. 术中实时调整系统伪代码 - 术中风险预警术中调整流程图5. 术后护理系统伪代码 - 并发症预…...
基于运动补偿的前景检测算法
这段代码实现了基于运动补偿的前景检测算法。 主要功能包括: 运动补偿模块:使用基于网格的 KLT 特征跟踪算法计算两帧之间的运动,然后通过单应性变换实现帧间运动补偿。前景检测模块:结合两帧运动补偿结果,通过帧间差…...
鸿蒙OSUniApp开发富文本编辑器组件#三方框架 #Uniapp
使用UniApp开发富文本编辑器组件 富文本编辑在各类应用中非常常见,无论是内容创作平台还是社交软件,都需要提供良好的富文本编辑体验。本文记录了我使用UniApp开发一个跨平台富文本编辑器组件的过程,希望对有类似需求的开发者有所启发。 背景…...
W5500使用SocketTool工具测试
W5500使用SocketTool工具测试 1、按“WINR” 2、输入“IPCONFIG”,得到计算机的IP地址,子网掩码和网关 3、设置W5500设备网络参数如下: 本地网关:192.168.1.1 本地子网掩码: 255.255.255.0 本地物理地址:0C 2…...
《Python星球日记》 第71天:命名实体识别(NER)与关系抽取
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、命名实体识别(NER)基础1. 什么是命名实体识别&#…...
双向长短期记忆网络-BiLSTM
5月14日复盘 二、BiLSTM 1. 概述 双向长短期记忆网络(Bi-directional Long Short-Term Memory,BiLSTM)是一种扩展自长短期记忆网络(LSTM)的结构,旨在解决传统 LSTM 模型只能考虑到过去信息的问题。BiLST…...
CentOS7原有磁盘扩容实战记录(LVM非LVM)【针对GPT分区】
一、环境 二、命令及含义 fdisk fdisk是一个较老的分区表创建和管理工具,主要支持MBR(Master Boot Record)格式的分区表。MBR分区表支持的硬盘单个分区最大容量为2TB,最多可以有4个主分区。fdisk通过命令行界面进行操…...
如何在终端/命令行中把PDF的每一页转换成图片(PNG)
今天被对象安排了一个任务: 之前自己其实也有这个需要,但是吧,我懒:量少拖拽,量大就放弃。但这次躲不过去了,所以研究了一下有什么工具可以做到这个需求。 本文记录我这次发现的使用 XpdfReader 的方法。…...
【0415】Postgres内核 释放指定 memory context 中所有内存 ④
1. frees all memory (memory context) Postgres内核中由函数 AllocSetReset() 完成该功能。即 “释放给定set中分配的所有内存。” 它应当将所有已分配的chunks标记为已释放,但不一定需要归还set所拥有的全部资源。我们的实际实现是,除了“保留”块(“keeper” block)(…...
2025年Flutter初级工程师技能要求
在2025年,随着移动应用市场的持续增长和跨平台开发需求的不断增加,Flutter已经成为许多公司构建高性能、跨平台应用的首选框架。对于初入职场的Flutter初级工程师来说,掌握以下技能要求是必不可少的。这些技能不仅能够帮助你在工作中快速上手…...
AWS技术助力企业满足GDPR合规要求
GDPR(通用数据保护条例)作为欧盟严格的数据保护法规,给许多企业带来了合规挑战。本文将探讨如何利用AWS(亚马逊云服务)的相关技术来满足GDPR的核心要求,帮助企业实现数据保护合规。 一、GDPR核心要求概览 GDPR的主要目标是保护欧盟公民的个人数据和隐私权。其核心要求包括: 数…...
MVCC:数据库并发控制的利器
在并发环境下,数据库需要处理多个事务同时访问和修改数据的情况。为了保证数据的一致性和隔离性,数据库需要采用一些并发控制机制。MVCC (Multi-Version Concurrency Control,多版本并发控制) 就是一种常用的并发控制技术,它通过维…...
第二章、Isaaclab强化学习包装器(3):SKRL Wrapper
0 前言 官方文档:https://isaac-sim.github.io/IsaacLab/main/source/api/lab_rl/isaaclab_rl.html#module-isaaclab_rl.skrl https://skrl.readthedocs.io/en/latest/intro/getting_started.html 在本节中,您将学习如何使用 skrl 库的各种组件来创建强…...
AI数字人实现原理
随着人工智能与数字技术的快速发展,AI数字人(Digital Human)作为新一代人机交互媒介,正在多个行业中快速落地。无论是在虚拟主播、在线客服、教育培训,还是在数字代言、元宇宙中,AI数字人都扮演着越来越重要…...
RBTree的模拟实现
1:红黑树的概念 红⿊树是⼀棵⼆叉搜索树,他的每个结点增加⼀个存储位来表⽰结点的颜⾊,可以是红⾊或者⿊⾊。通过对任何⼀条从根到叶⼦的路径上各个结点的颜⾊进⾏约束,红⿊树确保没有⼀条路径会⽐其他路径⻓出2倍,因…...
ssh connect to remote gitlab without authority
ssh connect to remote gitlab without authority 1 this command can produce a ssh key for authority ssh-keygen -t ed25519 -C "your_emailexample.com"2 this command can get the comment about the key cat ~/.ssh/id_ed25519.pubcopy all content !!!...
gitlab提交测试分支的命令和流程
写在前面 先npm run lint:eslint 先走一遍代码校验然后再提交先把检验跑了再add commit push那些注意一下这个问题:git commit规范不对导致报错subject may not be empty[subject-empty]type may not be empty[type-empty]. 配置lint检查后, 使用commitlint之后报…...
序列化和反序列化hadoop实现
### Hadoop 中序列化与反序列化的实现机制 Hadoop 提供了自己的轻量级序列化接口 Writable,用于高效地在网络中传输数据或将其存储到磁盘。以下是关于其核心概念和实现方式的详细介绍: --- #### 1. **Hadoop 序列化的核心原理** Hadoop 的序列化是一…...
[操作系统] 策略模式进行日志模块设计
文章目录 [toc]一、什么是设计模式?二、日志系统的基本构成三、策略模式在日志系统中的落地实现✦ 1. 策略基类 LogStrategy✦ 2. 具体策略类▸ 控制台输出:ConsoleLogStrategy▸ 文件输出:FileLogStrategy 四、日志等级枚举与转换函数五、日…...
LeetCode 每日一题 3341. 到达最后一个房间的最少时间 I + II
3341. 到达最后一个房间的最少时间 I II 有一个地窖,地窖中有 n x m 个房间,它们呈网格状排布。 给你一个大小为 n x m 的二维数组 moveTime ,其中 moveTime[i][j] 表示在这个时刻 以后 你才可以 开始 往这个房间 移动 。你在时刻 t 0 时从…...
《Python星球日记》 第68天:BERT 与预训练模型
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、BERT模型基础1. 什么是BERT?2. BERT 的结构3.预训练和微调对比二、BERT 的预训练任务1. 掩码语言模型 (MLM)2. 下一句预测 (NSP)三、微调 …...
Angular 知识框架
一、Angular 基础 1. Angular 简介 Angular 是什么? 基于 TypeScript 的前端框架(Google 维护)。 适用于构建单页应用(SPA)。 核心特性 组件化架构 双向数据绑定 依赖注入(DI) 模块化设计…...
python三方库sqlalchemy
SQLAlchemy 是 Python 中最强大、最受欢迎的 ORM(对象关系映射)库,它允许你使用 Python 对象来操作数据库,而不需要直接编写 SQL 语句。同时,它也提供了对底层 SQL 的完全控制能力,适用于从简单脚本到大型企…...
【SSL部署与优化】如何为网站启用HTTPS:从Let‘s Encrypt免费证书到Nginx配置
网站启用HTTPS 的完整实战指南,涵盖从 Let’s Encrypt 免费证书申请到 Nginx 配置的详细步骤,包括重定向、HSTS 设置及常见问题排查: 一、准备工作 1. 确保域名解析正确 • 在 DNS 管理后台,将域名(如 example.com&…...
Kubernetes控制平面组件:Kubelet详解(四):gRPC 与 CRI gRPC实现
云原生学习路线导航页(持续更新中) kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计(一)Kubernetes架构原则和对象设计(二)Kubernetes架构原则和对象设计(三)Kubernetes控…...
电商平台自动化
为什么要进行独立站自动化 纯人工测试人力成本高,相对效率低 回归测试在通用模块重复进行人工测试,测试效率低 前期调研备选自动化框架(工具): Katalon Applitools Testim 阿里云EMAS Playwright Appium Cypress 相关…...
【kafka】kafka概念,使用技巧go示例
1. Kafka基础概念 1.1 什么是Kafka? Kafka是一个分布式流处理平台,用于构建实时数据管道和流式应用。核心特点: 高吞吐量:每秒可处理百万级消息持久化存储:消息按Topic分区存储在磁盘分布式架构:支持水平…...
计算机系统结构——Cache性能分析
一、实验目的 加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。掌握Cache容量、相联度、块大小对Cache性能的影响。掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。理解LRU与随机法的基本思想以及它们对Cache性能的影响。 二、实验平台 实…...
Spring Web MVC————入门(2)
1,请求 我们接下来继续讲请求的部分,上期将过很多了,我们来给请求收个尾。 还记得Cookie和Seesion吗,我们在HTTP讲请求和响应报文的时候讲过,现在再给大家讲一遍,我们HTTP是无状态的协议,这次的…...
Adobe DC 2025安装教程
一.软件下载 点此下载 二.软件安装...
W1电力线载波通信技术
CK_Label_W1 产品型号:CK_Label_W1 尺寸:37*65*33.7mm 按键:1 指示灯:1 RGB灯(红/绿/蓝/黄/紫/白/青) 外观颜色:白色 合规认证:CE, RoHS 工作温度:0-50℃ 提示功能:蜂鸣器声音…...
现代 Web 自动化测试框架对比:Playwright 与 Selenium 的深度剖析
现代 Web 自动化测试框架对比:Playwright 与 Selenium 的深度剖析 摘要:本文对 Playwright 与 Selenium 在开发适配性、使用难度、场景适用性及性能表现等方面进行了全面深入的对比分析。通过详细的技术实现细节阐述与实测数据支撑,为开发者…...
第二章:CSS秘典 · 色彩与布局的力量
剧情承接:色彩失衡的荒原 林昊穿过 HTML 大门,眼前却是一片 灰白扭曲的荒原。所有页面元素如同幽灵般漂浮,没有色彩、没有结构,错乱无章。 “这是失控的样式荒原。” 零号导师的声音再次响起, “HTML 给了你骨架&…...
ubuntu studio 系统详解
Ubuntu Studio 系统详解:面向多媒体创作的专业 Linux 发行版 一、定位与目标用户 Ubuntu Studio 是 Ubuntu 的官方衍生版本(Flavor),专为 音频、视频、图形设计、音乐制作、影视后期 等多媒体创作场景设计。目标用户包括&#x…...
在 Ubuntu 20.04.6 LTS 中将 SCons 从 3.1.2 升级到 4.9.1
在 Ubuntu 20.04.6 LTS 中将 SCons 从 3.1.2 升级到 4.9.1,可以通过以下步骤完成: 方法 1:使用 pip 安装(推荐) 步骤 1:卸载旧版本 SCons # 如果通过 apt 安装的旧版本,先卸载 sudo apt remov…...
边缘计算网关工业物联网应用:空压机远程运维监控管理
边缘计算网关在空压机远程运维监控管理中的工业物联网应用,主要体现在数据采集与处理、设备监控、故障诊断与预警、远程控制等方面,以下是具体介绍: 数据采集与处理 多源数据采集:边缘计算网关能连接空压机的各类传感器…...
【大模型面试每日一题】Day 18:大模型中KV Cache的作用是什么?如何通过Window Attention优化其内存占用?
【大模型面试每日一题】Day 18:大模型中KV Cache的作用是什么?如何通过Window Attention优化其内存占用? 📌 题目重现 🌟🌟 面试官:大模型中KV Cache的作用是什么?如何通过Window Attention优…...
Spring的 @Validate注解详细分析
在 Spring Boot 中,参数校验是保证数据合法性的重要手段。除了前面提到的NotNull、Size等基础注解外,JSR-303(Bean Validation 1.0)、JSR-349(Bean Validation 1.1)和 JSR-380(Bean Validation …...
现代计算机图形学Games101入门笔记(三)
三维变换 具体形式缩放,平移 特殊点旋转。这里涉及到坐标系,先统一定义右手坐标系,根据叉乘和右手螺旋判定方向。这里还能法线Ry Sina 正负与其他两个旋转不一样。这里可以用右手螺旋,x叉乘z,发现大拇指朝下࿰…...
AI时代的弯道超车之第八章:具体分享几个AI实际操作方法和案例
在这个AI重塑世界的时代,你还在原地观望吗?是时候弯道超车,抢占先机了! 李尚龙倾力打造——《AI时代的弯道超车:用人工智能逆袭人生》专栏,带你系统掌握AI知识,从入门到实战,全方位提升认知与竞争力! 内容亮点: AI基础 + 核心技术讲解 职场赋能 + 创业路径揭秘 打破…...
企业网络新选择:软件定义架构下的MPLS
随着现代企业园区网络和运营商级基础设施的不断发展,多协议标签交换 (MPLS) 已成为一项基础技术,这要归功于其高效的数据包转发、高级流量工程功能以及对多租户环境的强大支持。 什么是MPLS? MPLS(多协议…...
SparkSQL操作Mysql
(一)准备mysql环境 我们计划在hadoop001这台设备上安装mysql服务器,(当然也可以重新使用一台全新的虚拟机)。 以下是具体步骤: 使用finalshell连接hadoop001.查看是否已安装MySQL。命令是: rpm -qa|grep…...
【论文阅读】UNIT: Backdoor Mitigation via Automated Neural Distribution Tightening
ECCV2024 https://github.com/Megum1/UNIT 我们的主要贡献总结如下: 我们引入了UNIT(“AUtomated Neural DIstribution Tightening”),这是一种创新的后门缓解方法,它为每个神经元近似独特的分布边界,用于…...
Android逆向学习(十) IDA逆向编辑Android so文件
Android逆向学习(十) IDA逆向编辑Android so文件 一、 写在前面 这是吾爱破解论坛正己大大的第10个教程 native code在我之前的博客中讲到过,所以这里就不讲了 简单来说,native code就是在android中使用c或c语言进行开发 这样…...
OpenCV + PyAutoGUI + Tkinter + FastAPI + Requests 实现的远程控制软件设计方案
以下是基于 OpenCV PyAutoGUI Tkinter FastAPI Requests 实现的远程控制软件设计方案。该方案分为 被控端(服务端) 和 控制端(客户端),支持屏幕实时查看、键盘映射和鼠标操作。 1. 系统架构 ------------------- …...
C++.神经网络与深度学习(赶工版)(会二次修改)
神经网络与深度学习 1. 神经网络基础1.1 神经元模型与激活函数1.2 神经网络结构与前向传播2.1 损失函数与优化算法均方误差损失函数交叉熵损失函数梯度下降优化算法 2.2 反向传播与梯度计算神经元的反向传播 3.1 神经元类设计与实现神经元类代码实现代码思路 3.2 神经网络类构建…...
砷化镓太阳能电池:开启多元领域能源新篇
砷化镓太阳能电池作为一种高性能的光伏产品,具有诸多独特优势。其中,锗衬底砷化镓太阳能电池表现尤为突出,它具备高转化效率、耐辐照和高电压等特性。在空间供电电源领域,这些优势使其成为人造卫星、太空站、太空探测器和登陆探测…...
[Linux] vim及gcc工具
目录 一、vim 1.vim的模式 2.vim的命令集 (1):命令模式 (2):底行模式 3.vim配置 二、gcc 1.gcc格式及选项 2.工作布置 三、自动化构建工具makefile 1.基本使用方法 2.配置文件解析 3.拓展 在linux操作系统的常用工具中,常用vim来进行程序的编写;…...
java加强 -stream流
Stream流是jdk8开始新增的一套api,可以用于操作集合或数组的内容。 Stream流大量的结合了Lambda的语法风格来编程,功能强大,性能高效,代码简洁,可读性好。 体验Stream流 把集合中所有以三开头并且三个字的元素存储到…...