LangChain 概述LangChain 是一个开源的 大型语言模型(LLM)应用开发框架,旨在通过模块化组件和工具链,帮助开发者高效构建端到端的 AI 应用。

大模型学习笔记四:LangChain开发框架解析 1、模型I/O封装LLMs:大语言模型Chat Models:一般基于LLMs,但按对话结构重新封装PromptTemple:提示词模板OutputParser:解析输出2、数据连接封装Document Loaders:各种格式文件的加载器Document transformers:对文档的常用操作,如:split,filter,translate,extract metadata,etcTextr Embedding Models:文本向量化表示,用于检索等操作。 阅读详情

1. LangChain 概述

LangChain 是一个开源的 大型语言模型(LLM)应用开发框架,旨在通过模块化组件和工具链,帮助开发者高效构建端到端的 AI 应用。其核心理念是通过上下文感知和推理能力,将 LLM 与外部数据源、计算资源及业务逻辑结合,支持复杂交互场景(如聊天机器人、自动化客服等)1011。


2. 核心功能与特性 310

  1. 模块化设计

    • 提供 链(Chains)、代理(Agents)、记忆(Memory) 等抽象组件,支持灵活编排复杂工作流。

    • 支持多种 LLM(如 GPT-4、Claude、本地开源模型)及第三方工具(如向量数据库、搜索引擎)的集成。

    • 内置数据处理与转换功能(如文本拆分、向量化),便于构建 RAG(检索增强生成)系统。

  2. 开发工具链

    • LangSmith:用于调试、监控和评估 LLM 应用的全生命周期管理平台。

    • LangGraph:支持构建有状态的多智能体(Multi-Agent)应用,通过图结构编排交互逻辑。

    • LangServe:将 LangChain 应用快速部署为 REST API。

  3. 跨语言支持

    • 兼容 Python 和 JavaScript,满足不同开发者需求。


3. 优缺点分析

维度优势局限性
灵活性高度模块化,可自定义复杂流程(如多模型组合、数据预处理)311学习曲线陡峭,依赖项管理复杂,需较强技术能力3
开发效率社区活跃,文档丰富,提供多种预构建模板310图形化支持较弱,需编写代码;调试复杂应用时需依赖 LangSmith9
适用场景适合科研、企业级复杂应用(如上下文敏感的对话系统)311简单任务开发效率不如低代码平台(如 Dify、Coze)19

4. 与竞品对比

(1) LangChain vs Dify 39
维度LangChainDify
定位开发者导向的编程框架低代码应用开发平台
灵活性高(代码级控制)中(依赖可视化配置)
学习门槛较高(需编程基础)低(图形界面操作)
典型场景复杂工作流(如多模型协作、自定义逻辑)快速原型开发(如知识库问答、自动化任务)
(2) LangChain vs LlamaIndex 11
  • LangChain:侧重 复杂工作流编排(如多步骤对话、上下文管理),适合需要动态交互的应用。

  • LlamaIndex:专精于 高效数据索引与检索(如 RAG 场景),适合需快速响应的文档搜索类应用。


5. 生态系统与最新动态

  1. LangGraph Studio

    • 新增可视化调试工具,支持通过图形界面优化 Agent 逻辑,降低复杂流程开发难度9。

  2. 社区生态

    • 中文社区活跃,覆盖技术讨论(如 RAG 实现、向量数据库集成)、案例分享及问题解答7。

  3. 企业合作

    • 与火山引擎等平台合作,推动模型部署与商业化应用6。


6. 学习与使用建议

  1. 入门路径

    • 初阶:通过官方文档和社区教程(如《AI菜鸟向前飞》系列)掌握基础组件710。

    • 进阶:结合 LangSmith 调试工具和 LangGraph 构建多智能体系统9。

  2. 适用场景选择

    • 优先使用 LangChain:需高度自定义、复杂逻辑的应用(如科研项目、企业级对话系统)。

    • 考虑替代方案:简单 RAG 场景可选 LlamaIndex;快速开发可尝试 Dify 或 Coze119。

langchain 阅读详情

相关推荐

【AI开源项目】LangChain-3分钟让你知道什么是LangChain,以及LangChain的部署配置全流程

3分钟让你知道什么是LangChain,以及LangChain的部署配置全流程

万物皆有灵 3340

一篇文章带你了解LangChain框架

LangChain是一个基于大语言模型用于构建端到端语言模型应用的框架,它提供了一系列工具、套件和接口,让开发者使用语言模型来实现各种复杂的任务,如文本到图像的生成、文档问答、聊天机器人等。英文描述:LangChain简化了LLM应用程序生命周期的各个阶段:开发阶段:使用LangChain的开源构建块和组件构建应用程序,利用第三方集成和模板快速启动。生产化阶段:使用LangSmith检查、监控和评估您的链,从而可以自信地持续优化和部署。部署阶段:使用LangServe将任何链转化为API。

qq_38196449的博客 4422

LLM应用开发框架对比:LangChain vs. LlamaIndex

在人工智能领域,大型语言模型(LLM)的应用开发框架是实现复杂应用的关键。LangChain和LlamaIndex是两个新兴的框架,它们都旨在简化LLM集成和开发过程。本文将对这两个框架进行深入对比,探讨它们的优势和局限。

chen的博客 4245

一篇文章搞懂LangChain

来源:分布式实验室在日常生活中,我们通常致力于构建端到端的应用程序。有许多自动机器学习平台和持续集成/持续交付(CI/CD)流水线可用于自动化我们的机器学习流程。我们还有像 Roboflow 和 Andrew N.G. 的 Landing AI 这样的工具,可以自动化或创建端到端的计算机视觉应用程序。如果我们想要借助 OpenAI 或 Hugging Face 创建基于大语言模型的应用程序,以前我...

weixin_40920183的博客 1297

LangChain深度解析:LLM应用开发利器

摘要: LangChain是由Harrison Chase于2022年推出的开源框架,旨在简化基于大型语言模型(LLM)的应用程序开发。其核心功能包括模型抽象、链式任务编排、代理决策、数据连接(如RAG)、记忆管理和提示优化,支持多模态应用和复杂业务流程。采用分层架构,集成100+工具,适用于智能问答、对话机器人、数据分析等场景。优势在于模块化设计和丰富生态,但存在学习曲线陡峭的问题。与RAGFlow、AutoGPT等工具相比,LangChain更强调全流程工作流。未来将增强多模态支持与低代码工具,推动AI

kcarly的专栏 1460

基于 LangChain 构建 LLM 应用程序

作为一款开源的 Python 框架,LangChain 旨在促进基于 LLM 的应用程序开发。基于所提供了一套工具、组件和接口等套件,LangChain 简化了以 LLM 为核心的应用程序的构建过程。通过 LangChain,开发人员能够轻松管理与语言模型的交互,无缝连接不同的组件,并集成 API 和数据库等资源。此外,借助 LangChain 技术,我们能够构建出一系列应用程序,这些应用程序能够生成创新性且与上下文相关的内容。

wjianwei666的专栏 913

LangChain 教程:构建 LLM 支持的应用程序的指南

GPT-4 和 LLaMA 等大型语言模型 (LLM) 在过去几年中创造了一个充满可能性的世界。 它预示着人工智能工具和应用程序的繁荣,ChatGPT 似乎一夜之间成为家喻户晓的名字。 但如果没有为促进新一代应用程序而创建的强大工具和框架,这种繁荣就不可能实现。LangChain 就是这些框架之一,它可以轻松地使用现有的 LLMs 构建新应用程序。 它由机器学习专家 Harrison Chase 开发,并于 2022 年作为开源项目推出。 该框架在弥合现有语言模型和构建新的多样化应用程序之间的技术差距方

Elastic 中国社区官方博客 4883

【AI大模型】LangChain简介

目的嘛,就俩字——提效!LangChian框架,这个为大语言模型量身打造的开发者宝库,它不仅仅是一个简单的工具集合,而是能够将LLM模型的多样形态(无论是机智的对话模型,还是深邃的embedding模型),与向量数据库的浩瀚知识、灵活多变的交互层Prompt、外部世界的广阔知识海洋,乃至那些高效的外部代理工具,巧妙地编织在一起,让你我能够随心所欲地构建出独一无二的LLM应用。首先,模型输入/输出(Model I/O),它是我们与语言模型沟通的桥梁,每一次指令的传递,每一个答案的接收,都离不开它的默默付出。

weixin_42548337的博客 1401

人工智能-基础篇-25-认识一下LLM开发应用框架--LangChain

定位:LangChain是一个LLM编程框架,提供从数据预处理到模型部署的全流程工具链。目标:降低LLM应用开发门槛,使开发者能够专注于业务逻辑而非底层技术细节。核心理念:数据感知:将LLM连接到外部数据源(如数据库、API、文档)。自主性:允许LLM与其环境交互(如调用工具、执行任务)。LangChain正在成为构建LLM应用的标准工具链,其灵活性和生态兼容性使其在AI领域具有广泛的应用前景。

weisian的博客 3万+

LangChain:构建大语言模型应用的革命性框架深度解析

LangChain 是一个开源框架,专门用于构建基于大语言模型(LLM)的智能代理和应用程序。作为当前最流行的 AI 应用开发框架之一,LangChain 通过提供标准化的接口和模块化组件,极大地简化了 LLM 应用的开发流程。该框架的核心价值在于能够将各种 AI 组件(如模型、工具、向量数据库等)有机地连接起来,形成高效的工作链,同时确保应用能够适应快速发展的 AI 技术生态。LangChain 的出现解决了 LLM 应用开发中的多个关键痛点:数据集成困难、模型切换复杂、开发效率低下等。

Aaron_945的博客 797

光耦合MOSFET(Optocoupled MOSFET,简称OCMOS)

光耦合MOSFET(Optocoupled MOSFET,简称OCMOS)是一种将光电耦合器和MOSFET结合在一起的器件,用于实现电气隔离和信号传输。选择合适的光耦合MOSFET时,还需要考虑具体应用的需求和环境条件,以确保最佳性能和可靠性。- 最大输出电流和电压:确保所选型号能够满足电路的最大电流和电压需求。- 最大输出电流和电压:确保所选型号能够满足电路的最大电流和电压需求。- 隔离电压:根据应用环境的电气隔离要求选择合适的隔离电压。- 隔离电压:根据应用环境的电气隔离要求选择合适的隔离电压。

eydj2008的专栏 1731

【粉丝福利社】LangChain大模型AI应用开发实践/人工智能前沿实践丛书

在人工智能的前沿领域,LangChain作为一个创新的开源框架,正定义着大型语言模型 (large language model,LLM) 应用的未来。随着技术的快速发展,开发者面临着如何高效构建、部署及优化基于LLM 的应用程序的挑战。为了帮助开发者应对这些挑战,本书将深入探讨LangChain, 从快速入门到高级应用,全面覆盖LangChain的核心概念和实际操作。LangChain不仅仅是一个开源框架,也是一扇通往创新世界的大门,为渴望在人工智能 领域探索的开发者提供了必要的工具和指南。

愚公智库 14万+

FPGA实战:手把手教你实现雷达信号数字下变频(DDC)完整流程

本文提供了一份完整的FPGA实现雷达信号数字下变频(DDC)的实战指南。内容涵盖从Matlab行为级仿真到FPGA硬件实现的完整闭环流程,详细讲解了数字混频、滤波、抽取等核心步骤,并分享了基于Vivado的IP核配置、数据位宽量化及资源优化等关键工程实践经验,旨在帮助读者掌握DDC系统的硬件实现与调试。

dog123的博客 342

大型语言模型LangChain开源框架能有些什么应用场景?看这里

LangChain 支持从文档中提取关键信息并生成摘要,适用于新闻报道、学术研究等领域。通过与知识库结合,LangChain 还可以实现文档问答功能,帮助用户快速获取所需信息。

weixin_59191169的博客 1342

GEO优化实战:用AnswerBit量化AI搜索可见度与品牌监控体系

生成式引擎优化(GEO)正取代传统SEO,成为品牌在AI搜索生态中获取可见度的关键。当用户习惯从“翻列表”转向“直接问AI”,品牌能否被生成式引擎识别、引用并正向推荐,直接决定了其在用户决策链条中的存在感。AI搜索可见度因此从模糊概念演变为可度量的运营指标,涵盖提及率、引文率、情感分与回源质量等维度。腾讯AnswerBit作为答案侧分析工具,帮助运营者拆解AI回复中的品牌语境与引用来源,让优化动作有据可循。从内容结构化改造、品牌实体建设到第三方权威背书,GEO要求团队建立“度量-优化-再度量”的闭环。文章结

weixin_31100517的博客 155

告别信号干扰!用Altium Designer 19搞定4层/6层PCB叠层设计的保姆级流程

本文详细介绍了如何使用Altium Designer 19进行4层/6层PCB叠层设计,解决信号干扰问题。通过实际案例和系统方法论,涵盖高速数字电路、混合信号系统等典型场景的设计优化,帮助硬件工程师和学生掌握电磁兼容(EMC)与信号完整性(SI)的核心技术。

weixin_27076351的博客 207

大模型应用开发框架【LLM】

随着人工智能的能力,特别是大型语言模型 (LLM) 的不断发展和演变,开发人员正在寻求将 AI 功能整合到他们的应用程序中。虽然文本完成和摘要等简单任务可以通过直接调用 OpenAI 或 Cohere 提供的 API 来处理,但构建复杂的功能需要付出努力和工具。推荐:用快速搭建3D场景。Jon Turow 和他在 Madrona 的团队首先指出了这一点,他们指出开发人员必须为提示工程、微调、蒸馏以及组装和管理将查询引用到适当端点的管道等步骤发明自己的工具。

新缸中之脑 4546

论文必备 - YOLOv13热力图可视化,支持指定模型,指定显示层,设置置信度,以及10种可视化实现方式

本文带来的是YOLOv13热力图可视化功能,支持,以及。我们经常看到一些论文里绘制了不同的热力图,一方面能够直观的感受其模型的有效性,另一方面也丰富了论文内容。特别是在使用了注意力模块的网络中,热力图就可以验证注意力机制是否真正聚焦到了预期的重要特征上,以便对模型的有效性和合理性进行评估。例如这篇文章中展示的,就很能够表达作者改进后的模型相比之前模型的优越性。

Limiiiing的博客 489

一文入门最热的LLM应用开发框架LangChain

假如我们想要用 openai api 对一个段文本进行总结,我们通常的做法就是直接发给 api 让他总结。但是如果文本超过了 api 最大的 token 限制就会报错。这时,我们一般会进行对文章进行分段,比如通过 tiktoken 计算并分割,然后将各段发送给 api 进行总结,最后将各段的总结再进行一个全部的总结。LangChain 很好的帮我们处理了这个过程,使得我们编写代码变的非常简单。这里解释下文本分割器的 chunk_overlap 参数和 chain 的 chain_type 参数。

xxue345678的博客 1112

昇腾,Ascend,NPU,mindie,镜像,部署vllm:第5篇,昇腾环境下部署蒸馏版deepseek-r1,并在dify中注册模型供应商

这两天没少折腾deepseek-r1。之前在A100上用ollama部署了一份DeepSeek-R1-Distill-Qwen-32B,感觉真的特别慢。现在,再用昇腾部署一遍,看看速度能不能更快。p.s. 类似的内容其实已经写了很多遍了。但感觉之前写得都太碎,不够顺畅。接着新模型写篇长文,把能包括的都包括进来。这样大家也不需要到处翻来翻去。

xiezhipu的博客 2450

EtherCAT主站SOEM -- 29 -- STM32F767-SOEM通过 CSP模式(周期同步位置模式)控制一个电机转圈圈

以上就是EtherCAT主站SOEM – 29 – STM32F767-SOEM通过 CSP模式(周期同步位置模式)控制一个电机转圈圈的内容。有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。创作不容,如果文档对您有帮助,记得给个赞。

常驻客栈的博客--嵌入式EtherCAT 2243

2025 大模型应用爆火!LangChain 为何成开发者首选框架?

在人工智能技术飞速发展的今天,大型语言模型(LLMs)如GPT-4、文心一言等已成为推动智能应用落地的核心引擎。然而,如何高效地将LLM与实际业务场景结合,解决数据滞后、上下文管理、工具集成

EnjoyEDU的博客 2587

《Android系统开发中高级定制专栏导读》

欢迎来到【Android 中高级系统定制】专栏!在这里,将深入探讨Android系统开发与定制的方方面面,涵盖从权限管理、驱动开发到系统应用配置等多个领域。

我其实什么都不会 1583

LangChain:构建大语言模型应用的强大框架

LangChain 是一个开源框架,旨在帮助开发人员构建以大语言模型(LLM)为核心的应用程序。它通过提供一系列工具、组件和接口,简化了从开发到部署的整个过程,使得开发者能够更高效地利用语言模型和聊天模型构建支持应用程序。

m0_48891301的博客 1332

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

吴恩达力荐LangChain经典课程-《LangChain大型语言模型(LLM)应用开发》免费分享

LangChain是一个开源框架,旨在帮助人工智能开发者将大语言模型(如GPT-4)与外部计算和数据源结合起来。这个框架提供了Python和JavaScript包,使开发者能够轻松地将自己的数据与大语言模型连接起来,从而实现更复杂的人工智能应用。LangChain的创始人是哈里森·蔡斯和安库什·戈拉,他们于2023年在美国加利福尼亚州创建了这家人工智能公司。哈里森·蔡斯担任首席执行官。

2301_76161259的博客 1064

深度学习工具包 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")

上一篇: Dify 是什么?Dify是一个开源的LLM应用开发平台,支持快速搭建生成式AI应用,具有RAG管道、Agent功能、模型集成等特点
下一篇: 五个命令搞定Liunx服务器资源使用情况:1、top CPU2、free -h 内存3、df -h 磁盘空间4、iostat -dx 5 IO读写5、iftop 网络
学博成
博客等级 码龄17年 915粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值