超越GPT4的Agent,我用代码实现了!

【2024最全最细LangChain教程-12】Agent智能体(一) 有很多教程把Agent称为“代理”,我觉得这个翻译太没意思了,一来和Proxy很容易混淆,二来一点都不酷。之所以把Agent翻译成智能体,是因为Agent可以(在LLM推理分析的帮助下)可以自己识别、选择和使用工具,这个就是智能体的表现。人之所以能走上进化的道路,一来是发明了语言,二来是学会了使用工具。就这两点来看,把目前的Agent称为智能体一点也不为过。 阅读详情

超越GPT4的Agent,我用代码实现了!

img

❝

最近,人工智能领域的泰斗吴恩达教授提出了一个观点,即通过智能体工作流构建的AI在某些应用场景中的表现甚至可以超越GPT-4。他认为,智能体工作流将是推动今年人工智能发展的重要趋势。本文将深入探讨这一理念,并以LangGraph为例,实现一个能够自我反思和优化代码的智能体。

Agent开发的四种设计模式

在吴恩达教授的演讲中,他提到了四种可以显著提升AI智能体性能的设计模式:

  1. 反思(Reflection):智能体审视自己的工作,并提出改进的方法。
  2. 使用工具(Tool use):智能体利用网络搜索、代码执行等工具来收集信息、采取行动或处理数据。
  3. 规划(Planning):智能体制定并执行多步骤计划来达成目标。
  4. 多智能体协作(Multi-agent collaboration):多个智能体共同工作,通过分配任务和讨论来提出更优的解决方案。

在这里插入图片描述

反思(Reflection)的深度解析

在吴恩达教授提出的AI智能体工作流中,反思(Reflection) 是一个关键的概念,它指的是智能体在完成任务后,能够自我审视其产出,并主动寻找潜在的改进空间。这种能力不仅对于提升智能体的性能至关重要,也是模拟人类学习过程的关键环节。

反思的过程

在这里插入图片描述

反思过程通常包括以下几个步骤:

  1. 产出生成:智能体根据给定的任务或问题生成初始的解决方案或产出。
  2. 自我评估:智能体审视自己的产出,检查是否存在错误、不足或可以改进的地方。
  3. 反馈整合:智能体根据自我评估的结果,对产出进行修改和优化。
  4. 迭代循环:智能体重复上述过程,通过不断的反思和改进,逐步提升产出的质量。

❝

吴恩达教授通过一个代码生成的例子来阐释了反思技术。假设我们要求一个代码智能体为特定任务编写代码,它将根据提示生成代码。然后,我们可以要求智能体检查这段代码的正确性、风格和效率,并提出改进建议。这个过程可以通过多次迭代来不断优化代码。

在这里插入图片描述

反思的重要性

反思技术的重要性在于它模拟了人类解决问题的方式。在面对复杂问题时,我们往往会先尝试一种解决方案,然后评估其效果,根据反馈进行调整,最终得到一个更好的解决方案。通过在AI智能体中实现这一过程,我们可以使其更加接近人类的思维方式,从而在各种任务中表现得更加出色。

基于LangGraph的代码智能体实战

在这里插入图片描述

接下来,我们将使用LangGraph来实现一个具有反思能力的代码智能体。我们将分步骤进行,每一步都会有相应的代码示例。

在这里插入图片描述

为了进一步充实和细化最后的代码实战章节,我们将深入探讨每个步骤的细节,并提供更多的代码示例和解释,以便读者更好地理解如何实现一个具有反思能力的代码智能体。

1. 定义智能体间的消息通道

在构建智能体系统时,状态管理是非常关键的。我们需要一个状态类来跟踪智能体的状态,这包括问题的当前描述、已生成的代码、迭代次数等信息。

在这里插入图片描述

这个GraphState类是一个简单的字典,它允许我们存储和检索智能体的状态信息。这使得我们可以在智能体的不同部分之间传递信息,并在整个工作流中保持状态的一致性。

2. 定义代码助手agent和编程导师agent

智能体的工作流程通常包括多个步骤,每个步骤都由一个特定的智能体来执行。在这个例子中,我们有两个智能体:一个代码生成器和一个代码导师。

详细代码见github:https://github.com/q2wxec/langgraph-demo

在这里插入图片描述

generate函数负责根据当前状态和问题生成代码。如果生成的代码在之前的迭代中被标记为不正确,它将使用反馈来改进代码。code_mentor函数则扮演一个导师的角色,评估生成的代码,并提供是否正确的判断以及改进的建议。

3. 定义多智能体交互流程

智能体之间的交互流程是工作流的核心。我们需要定义一个图结构,指定智能体之间的通信路径和条件。

在这里插入图片描述

在这个流程中,我们首先从generate节点开始,生成初始代码。然后,我们根据code_mentor节点的反馈,决定是继续生成代码还是结束流程。如果代码被认为不正确,我们将回到generate节点,进行下一轮迭代。这个过程会持续进行,直到我们得到正确的代码,或者达到了预设的迭代次数上限。

案例总结

通过这个实战示例,我们展示了如何使用LangGraph来构建一个具有反思能力的代码智能体。这个过程不仅涉及到代码的生成和评估,还包括了智能体之间的协作和信息交换。这种工作流的设计模式能够有效地提升智能体的性能,并使其更加接近人类的解决问题的方式。

在实际应用中,这种方法可以用于自动代码审查、智能编程助手、自动化测试等场景。随着AI技术的不断进步,我们期待看到更多采用这种工作流的智能体出现,并在各个领域发挥重要作用。

结语

通过本文的介绍和实战示例,我们可以看到,智能体工作流和反思技术在提升AI性能方面的巨大潜力。随着技术的发展,我们有理由相信,未来的AI将更加智能、高效,能够更好地服务于人类社会。让我们共同期待并推动这一领域的进步。

今天的内容就到这里,如果老铁觉得还行,可以来一波三连,感谢!

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】
让AI给你写代码(五)—— 应用Agent,理解Agent,走进现实世界 本文想解决一个问题,理解Agent有啥具体的作用?所谓读书千遍,不如动手一试,我们还是借助于上一篇,,可以根据提示(prompt)生成代码的Agent,来解决本系列一开始的问题,提取股票信息的一些信息,例如当前股价。 阅读详情

相关推荐

AI Agent是什么? 和GPT的区别联系又是什么?

AI Agent(人工智能代理)是一种能够自主行动、制定决策并与环境交互的人工智能系统。它不仅仅是被动地响应输入,而是具备主动性和目标导向性的智能体。:能够在没有人类直接干预的情况下独立完成任务。:通过各种"传感器"(如API、数据接口等)感知和理解环境。:有明确的目标或任务,并能制定计划来实现这些目标。:可以通过"执行器"(如API调用、代码执行等)对环境进行操作和改变。:能够从经验中学习,调整自己的行为以适应变化。

AI Agent 首席体验官 1692

本地环境部署LangGraph

除可视化UI外,可通过Python SDK(同步/异步)或REST API直接调用本地服务器接口,验证应用功能。通过CLI从官方模板创建新项目,快速生成可扩展的基础架构(示例使用。(可免费注册获取),用于后续应用的追踪、调试与可观测性支持。命令启动本地API服务器,默认启用。进入项目根目录,以“编辑模式”(示例文件,需基于该文件创建。

W3508559248的博客 2272

Meta AI新动向:Llama 4瞄准GPT-4,Agent技术或成研发重点

这可能包括增加模型的参数数量、优化模型架构、改进训练算法、使用更多和更多样化的数据集进行预训练和微调,以及探索新的技术来提升模型的生成能力和理解复杂任务的能力。此外,Meta可能会采用最新的技术,如动态自适应模块(MM-Adapter),这种技术可以根据输入指令的模态选择最佳的适应路径,并在训练过程中只引入少量额外参数,以提高多模态处理的效率和灵活性。综上所述,Llama 4模型的研发目标是在保持或超越Llama 3的基础上,实现更广泛的功能和更高的性能,以满足更复杂的自然语言处理任务和应用场景的需求。

百态·数智思维 | 聚焦大数据、量化与未来AI 1421

基于 GPT 实现 Agent ️

在 LangChain 中,Agent 通过调用 LLM(Language Logic Model)和各种工具来完成用户的指令,这种设计使得 Agent 能够处理各种复杂的任务,并且可以通过添加新的工具来扩展其功能。LangChain 的 Agents 概念,就是针对于类似的场景,结合 LLM,可以自动帮你进行处理,需要走具体哪个服务,这个服务需要什么参数,从而给出对应的输出。,但是用户输入的格式是不确定的,我们往往需要根据用户的输入,从而去判断用户的一个意图,从而去调用对应服务,返回最终的结果。

python12345678_的博客 1538

大模型之带你了解plugins、GPTs的前生今世,GPT-4 turbo何以让众多创业者一夜无眠,及主要应用:RAG、Agent

Plugins:侧重于与外部系统的交互和集成。Actions:侧重于在对话中直接执行特定任务,提供了更多样化的内部功能。这里的Agent 指的是智能体,可以追溯到明斯基的《society of mind》一书。在那本书中,明斯基对Agent的定义有点抽象——“社会中某个个体经过协商后可求得问题的解,这个个体就是agent”。在计算机领域,agent是一种通过传感器感知其环境,并通过执行器作用于该环境的实体,因此,可以把实体定义为一种从感知序列到实体动作的映射。

weixin_42924914的博客 1882

【langgraph】本地部署方法及实例分析

LangGraph Server部署指南 LangGraph Server部署包含三个核心组件:图结构、持久化数据库和任务队列。本文提供了从开发测试到生产部署的完整流程: 开发测试:通过langgraph-cli快速搭建本地环境,支持内存模式运行 生产部署:需配置Redis和PostgreSQL实现持久化存储 部署选项: Docker镜像部署 独立服务器部署 企业级子托管方案 特别提供了在WSL2环境下部署Gemini Fullstack的实践案例,并详细说明了多模型支持方案。部署难点主要在于数据库配置,文

突围 675

GPT-4 又进化了!画图、插件、代码等能力被整合,网友:“更像是 AI Agent 了!”...

整理 | 朱珂欣 出品 | 优快云程序人生(ID:coder_life)近日,OpenAI 再次闷声放大招!用灰度测试的方式,向不少用户暗戳戳的「剧透」了最新进化版的 GPT-4 。据悉,新版本能使用户无需切换即可访问所有 GPT-4 工具,包括浏览和 DALL·E 3。为此,该功能被许多用户称之为 “ALL TOOLS 模式” !上传任意文档,即可分析在过去, GPT-4 的文档分析功能可...

程序人生的博客 7178

牛叉!UConn | 提出代码生成大模型:AutoCoder,性能超越GPT-4o!

代码生成是当前软件开发人员的必备工具。它在代码标准化、软件原型设计、降低代码错误、复杂系统开发等方面,极大的提高了开发人员的工作效率。最近随着大模型技术(GPT-4、GPT-4o、 CodeQwen1.5 等)的发展,其在代码生成方面取得了重大的进步。这些模型在代码生成方面展现出了很高的准确性,并已实际应用在了软件开发中。训练大模型需要大量的高质量数据,这对于需要高精度的代码生成任务尤其重要。OpenAI 就曾经找人注释 Code Instruct 数据集来训练 InstructGPT。然而,

具身机器人和通用AI 1582

单Agent崩溃实验,Claude竟完胜GPT4!

博客中表示,多Agent协作可能是解决方案,让不同Agent负责不同领域,通过协作完成复杂任务。但是仍然需要去探索 跨领域、更长链路、多Agent架构等方面的优化。

h1453586413的博客 1109

PowerBuilder 9.0安装组件全解析:Adaptive Server Anywhere、PowerDynamo、InfoMaker到底怎么选?

本文从技术架构师视角详细解析PowerBuilder 9.0安装组件选型策略,包括Adaptive Server Anywhere、PowerDynamo和InfoMaker的核心功能与应用场景。通过分析组件间的依赖关系和安装冲突机制,提供针对不同开发需求的最佳安装方案,帮助开发者高效配置PB9.0开发环境。

weixin_28700593的博客 441

设计数据库 ER 图太麻烦?不妨试试这两款工具,自动生成数据库 ER 图!!!

告别手动画图,提高效率~

楼下小黑哥 2万+

释放高级功能:Nexusflows Athene-V2-Agent在工具使用和代理用例方面超越 GPT-4o

在不断发展的人工智能领域,Nexusflows 推出了 Athene-V2-Agent 作为其模型系列的强大补充。这种专门的代理模型设计用于在功能调用和代理应用中发挥出色作用,突破了人工智能所能达到的极限。

weixin_41446370的博客 1968

SQL Server 内存占用高分析及解决办法(超详细)

如果想让 Sql Server 主动释放 占用并空闲的内存空间,可以设置Sql Server占用内存的上限,就会让Sql server在。如执行存储过程,自定函数时,SQL Server 需要先二进制编译再运行,编译后的结果也会缓存起来,再次调用时就无需再次编译。才会释放一点占用的内存,所以很多时候,我们会发现运行SQL Server的系统内存往往居高不下这些内存一般都。缓存,以便于再次请求此页的数据的时候,直接从内存返回,就无需读取磁盘了,大大提高了速度。最后文章有啥不对,欢迎大佬在评论区指点!

2301_79080944的博客 3952

GPT实战系列-如何让LangChain的Agent选择工具

LangChain使构建由LLMs驱动的应用程序变得简单,使用LangChain,可以在统一的界面中轻松与不同类型的LLMs进行交互,管理模型版本,管理对话版本,并将LLMs连接在一起。

Alex_StarSky的博客 2235

合宙ESP32C3实战:MPU6500六轴传感器数据读取与校准全解析

本文详细解析了如何使用合宙ESP32C3开发板读取和校准MPU6500六轴姿态传感器数据。从硬件接线、开发环境搭建到核心代码解析,提供了全面的实战指南,帮助开发者快速掌握传感器配置与数据处理技巧,适用于姿态控制、运动检测等应用场景。

weixin_27066963的博客 406

保姆级教程:在Ubuntu 20.04上从源码编译Apollo自动驾驶平台(含GPU环境配置)

本文提供了一份详细的Ubuntu 20.04上从源码编译Apollo自动驾驶平台的保姆级教程,包括GPU环境配置、Docker部署和编译构建等关键步骤。通过实战经验和避坑指南,帮助开发者高效完成Apollo平台的编译和验证,适用于自动驾驶技术研究和应用开发。

weixin_30876945的博客 409

【有啥问啥】GPT-4从0到1搭建一个Agent简介

在人工智能领域,Agent是一种能够感知环境并采取行动以实现特定目标的系统。本文将简单介绍如何基于GPT-4搭建一个Agent。本文详细介绍了如何基于GPT-4从0到1构建一个Agent,包括感知、决策和行动模块的实现,以及如何将GPT-4与强化学习方法结合,进一步优化智能体的表现。通过具体的代码示例,展示了Agent的基本架构和工作原理。希望对各位在构建智能Agent方面有所帮助。

Chauvin的博客 1957

Doris StreamLoad任务报错Connection reset

背景 Spark程序扫一张Hive表(大小3-7G),然后用http协议的streamLoad任务提交给Doris集群,在Doris集群从0.13.15升级到0.14.12后spark程序报错streamLoad时突然会Connection reset 分析 enable_http_server_v2 这个参数可以参考FE中文配置中查看到,作用是对于Doris界面是否开启新风格的界面,但是实际上他的作用远不止如此,请接着看 新老版本对于enable_http_server_v2参数默认值是不同的 在0.13

gaofeng的博客 3308

绝美无痕,比你还会P图的Agent!仅通过自然语言指令,灵活使用数百工具,超越GPT-4o达60%

照片精修是专业摄影的核心环节,但传统工具如Lightroom操作复杂,而AI方案(如GPT-4o)常因。:确保模型精确选择工具(如"曝光补偿"而非"对比度")并设置合理参数值(如曝光+0.5而非+2.0)。:人像(40.8%)、风光(33.3%)、街景(5.7%)、静物(20.2%),通过"AI代理+专业软件"融合实现"人类创意+机器执行"的协作范式。根本原因:缺乏实时视觉反馈的"顿悟时刻"(对比数学推理的逐步验证)"理解用户意图 → 分析美学缺陷 → 选择工具 → 设置参数"

zenRRan的博客 1569

深入解析Transformer三大注意力机制:自注意力、交叉注意力与因果自注意力

注意力机制是深度学习中的核心概念,它模拟了人类在处理信息时选择性聚焦的能力。其基本原理是通过计算查询与键的相似度,动态地为值分配权重,从而提取关键信息。这一机制解决了传统序列模型(如RNN)难以并行化和捕获长距离依赖的痛点,技术价值在于显著提升了模型的计算效率和表征能力。在自然语言处理、计算机视觉等应用场景中,注意力机制已成为构建强大模型的基石。本文聚焦于Transformer架构中的三种核心注意力变体:自注意力用于建立序列内部的全局关联,交叉注意力连接编码器与解码器的信息,而因果自注意力则确保自回归生成的

weixin_29094775的博客 413

渗透测试面试题

渗透测试面试题 一.思路流程 1.信息收集 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等) 网站指纹识别(包括,cms,cdn,证书等),dns记录 whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等) 子域名收集,旁站,C段等 google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等 扫描网站目录结构,爆后台,网站banner,测试文件,...

千寻的博客 12万+

GPT-5.4 发布:Computer Use 超越人类,Tool Search 让 Agent 用工具省了一半 token

OpenAI 发布 GPT-5.4,OSWorld 达 75% 超越人类基线,Tool Search 减少 47% token 用量,1M 上下文支持长任务,整合编程、推理与 Computer Use 能力。

石臻说AI(szzdzhp001) 【原名 石臻臻的杂货铺】 2855

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

智谱GLM-4.7深夜炸场!登顶开源编程模型王座,代码能力超越GPT-5,仅需 Claude 1/7的价格!

GLM-4.7 已经支持了主流的 Agent 框架,如 Claude Code、Roo Code 等。也就是说,如果你订阅了 GLM Coding Plan,现在就可以直接升级使用了。此外,GLM-4.7 的模型权重(358B 参数)也已经开源发布在 HuggingFace 上,可以实现本地部署。这个12月,智谱卯足了劲儿。一边是冲刺IPO上市,递交招股书;一边是新模型连发不断:AutoGLM、GLM-4.6V……现在又迎来了一位开源编程SOTA选手——GLM 4.7。

2501_94005722的博客 1494

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: AGI|教你用一部电影的时间训练个人专属Agent
下一篇: 我代码0基础,5分钟能做一个大模型应用
AI大模型_学习君
博客等级 码龄3年 6137粉丝 551原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值