JavaScript模块联邦知识梳理

JavaScript模块联邦(JavaScript Module Federation)是一种用于构建分布式JavaScript应用程序的技术。它允许开发人员将不同的JavaScript模块组合在一起,从而创建具有独立功能的微服务式应用。在本文中,我们将深入探讨JavaScript模块联邦的概念、用法和示例代码。

什么是JavaScript模块联邦?

JavaScript模块联邦是一种在前端应用程序中实现模块化架构的技术。它基于ES模块规范,允许开发人员将不同的JavaScript模块组合在一起,形成一个整体应用。每个模块都可以独立开发和部署,并且可以在运行时动态加载和共享。

模块联邦的主要思想是将应用程序拆分成多个独立的模块,每个模块负责特定的功能。这些模块可以由不同的团队开发,甚至可以使用不同的技术栈。然后,通过模块联邦,这些模块可以在应用程序中共享资源和功能,实现高度可扩展和灵活的架构。

如何使用JavaScript模块联邦?

要使用JavaScript模块联邦,我们需要遵循以下步骤:

  1. 创建主应用程序(Host Application):主应用程序是整个应用的入口点。它负责加载和组合各个模块,并提供整体的用户界面。

  2. 创建子应用程序(Remote Application):子应用程序是独立的模块,它可以由不同的团队开发。每个子应用程序都可以有自己的路由、状态和视图。

  3. 配置模块联邦:在主应用程序中,我们需要配置模块联邦的参数,以便加载和组合子应用程序。这包括指定子应用程

webpack5模块联邦(Module Federation)使用教程,在vue2中使用 使用vue2组件,演示webpack5中模块联邦(Module Federation)的使用,以及如果优化依赖。 阅读详情

相关推荐

Vite模块联邦(vite-plugin-federation)实现去中心化微前端后台管理系统架构

在现代大型前端项目开发中,多团队协作时往往面临代码隔离与集成的挑战。为了解决这一问题,我们需要一种能够让各个微前端模块既能独立开发部署,又能作为完整系统一部分的解决方案。基于 Vite 的模块联邦插件提供了一种去中心化的微前端架构实现方式,实现了组件、路由的跨应用共享和动态加载。本文将结合实际项目经验,详细介绍如何利用模块联邦技术在 「vue3 生态」中构建去中心化的微前端架构。是 Vite 生态中实现模块联邦功能的插件,它允许多个独立应用在运行时共享模块和代码,无需重复构建或打包依赖。

阿超的博客 2863

Vue组件引入外部JS的十种方法:从import到动态加载的完整指南

在前端开发中,模块化是管理代码依赖、提升可维护性的核心概念。它通过封装和隔离,让代码结构更清晰。其原理基于不同的模块规范(如ES Module、CommonJS),构建工具(如Webpack、Vite)据此在构建时或运行时处理依赖关系。这一机制的技术价值在于实现代码拆分、按需加载和优化打包体积,从而提升应用性能。常见的应用场景包括集成第三方库(如地图服务、图表工具)、加载业务工具函数,以及实现路由懒加载。本文聚焦于Vue.js框架,针对开发中频繁遇到的“动态js文件要怎么本地替换”和“import标红但库已

weixin_30345577的博客 491

Webpack逆向实战:从webpackJsonp Hook到模块提取全解析

在现代前端开发中,模块化与代码分割是提升应用性能的核心技术。Webpack作为主流打包工具,通过其运行时机制管理模块依赖与异步加载。理解其原理,尤其是关键的模块通信协议,对于进行前端逆向分析、安全审计或数据抓取具有重要技术价值。在JS逆向与爬虫开发领域,面对经过混淆和打包的代码,如何定位并提取核心业务逻辑(如加密函数)是常见的工程挑战。本文聚焦于Webpack打包后产生的全局对象(如webpackJsonp),深入讲解其作为模块注入点的Hook技术。通过覆盖数组push方法或拦截模块加载函数,可以动态捕获和

weixin_30786657的博客 886

前端开发中ECMAScript的模块化设计模式

随着前端应用复杂度的指数级增长,传统全局作用域的脚本组织方式暴露出命名空间污染、依赖管理混乱、代码复用困难等问题。模块化设计通过将代码封装为独立单元,实现逻辑解耦与资源隔离,成为现代前端开发的核心基础设施。本文系统梳理ECMAScript模块化技术的演化路径,深入解析CommonJS、AMD、UMD、ES模块等核心规范的技术原理,结合实际案例演示模块化开发的最佳实践,并探讨其在微前端、大型应用架构中的前沿应用。背景部分:明确模块化设计的核心价值与技术演进脉络。

AI架构全栈开发实战笔记 1253

Vue面试核心知识体系与实战解析

Vue.js作为现代前端开发的三大主流框架之一,其响应式原理和组件化设计是核心技术概念。通过Object.defineProperty或Proxy实现的数据绑定机制,配合虚拟DOM的diff算法优化,Vue在性能与开发体验上取得了显著突破。这些技术不仅支撑了从电商平台到企业级应用的各种场景,也使得Vue3的组合式API和性能优化策略成为面试考察重点。特别是在状态管理、服务端渲染等进阶领域,以及微前端架构等工程化实践中,Vue技术栈展现出强大的适应能力。掌握这些核心知识体系,既能应对83%的前端岗位面试要求,

weixin_30797199的博客 393

前端面试核心:JavaScript八股文与工程化实践

JavaScript作为前端开发的核心语言,其类型系统与原型链机制是构建复杂应用的基石。通过typeof和instanceof操作符可以深入理解动态类型语言的运行原理,而原型链则展现了JavaScript独特的继承实现方式。这些基础概念直接影响前端框架选型(Vue/React/Angular)和工程化实践,特别是在模块化开发、构建工具链配置等场景中。现代前端开发更注重性能优化与安全防护,如通过Webpack代码分割提升加载性能,使用CSP策略防御XSS攻击。掌握这些'前端八股文'不仅能应对技术面试,更能系统

weixin_30753873的博客 372

Nodejs 第九章(模块化源码探秘)

本文深入探讨了Node.js模块化系统的核心机制与实现原理,从CommonJS到ES Modules的演进对比,到模块加载、缓存、循环依赖等底层实现细节。通过分析Node.js源码,揭示了require背后的完整工作流程,并提供了模块化开发的最佳实践与性能优化建议,帮助开发者深入理解Node.js模块化设计。

weixin_30907935的博客 415

Vue/React项目集成ezuikit-js避坑指南:从编译报错到完美播放

本文详细解析了在Vue/React项目中集成海康威视ezuikit-js SDK时,从编译报错、静态资源加载、画面渲染到对讲、回放等进阶功能的全流程避坑指南。重点介绍了如何通过配置构建工具、正确设置静态资源路径、优化播放参数以及管理播放器生命周期,最终实现稳定、高清的视频播放体验。

agile9scrum的博客 929

腾讯前端面试全攻略:从基础到系统设计

前端开发作为连接用户界面与后端系统的关键技术领域,其核心在于JavaScript语言特性和框架原理的深入理解。通过事件循环、虚拟DOM等机制,现代前端框架实现了高效的界面渲染。工程实践中,Webpack模块打包和微前端架构等技术大幅提升了开发效率。腾讯等大厂面试常考察Promise实现、React/Vue原理等热点,这些技术点既是前端工程师的能力基准,也是优化用户体验的关键。掌握防抖节流、深拷贝等基础编码能力,结合Web性能优化策略,能有效应对企业级应用开发挑战。

weixin_30567225的博客 606

2026大厂前端面试预测:E卷覆盖手写框架到工程化硬核考点

前端面试正在从八股文速记转向底层原理与工程实践的综合考察,尤其在大厂高难度面试中,仅靠背题已难以应对。JavaScript的闭包、异步与原型链,React的fiber架构与Vue3响应式原理,以及微前端沙箱、性能优化和大文件上传等场景化考点,逐渐成为区分候选人能力的关键。理解框架运行机制、掌握并发控制与断点续传的实现思路,并具备系统化排查问题的能力,才能在2026年激烈的面试竞争中脱颖而出。本文基于大厂预测E卷的命题逻辑,从基础手写到框架源码再到工程化落地,逐层拆解高频考点与经典题目,帮助求职者构建从原理到

weixin_29006187的博客 294

前端面试八股文2026:核心考点与底层原理全攻略

在前端开发领域,面试常围绕JavaScript语言机制、浏览器渲染原理、框架设计思想等底层能力展开。理解闭包、事件循环、Promise等基础概念,是评估开发者对语言掌握程度的关键。除了语言本身,从浏览器缓存策略到HTTP协议演进,从Vue3响应式原理到React Hooks渲染机制,再到微前端架构与AI工程化实践,均为当前行业高频考察方向。掌握这些知识点,不仅有助于构建完整的知识体系,更能提升在实际项目中定位问题、优化性能、决策技术选型的能力。面试本质上是对基础功底、思维深度与工程意识的检验,若能将原理与实

weixin_34320159的博客 421

语料全生命周期管理开源工具

摘要:本文分类整理了满足语料全生命周期管理的开源工具。1)语料获取与清洗工具Ungoliant和corpusZh支持多语言数据爬取与结构化处理;2)语料加工工具opencorpora和HanLP提供标注与分析功能;3)语料治理工具vocabulary-corpus和Coze Loop实现质量评估与优化;4)全流程平台JESEME支持历时语义分析。文章对比了各工具的核心优势与适用场景,并给出学术研究、工业处理等场景的选型建议,所有工具均支持Docker部署。(144字)

技术引领业务创新 1741

2026年前端面试趋势:TypeScript全栈化与WebGPU优化

随着前端技术的快速发展,TypeScript已从类型检查工具演变为架构设计语言,其全栈化渗透成为开发者必备技能。同时,WebGPU的普及为浏览器渲染管线带来革命性变化,通过硬件加速显著提升图形处理性能。这些技术不仅优化了开发体验,更在微前端架构、低代码平台等场景中发挥关键作用。理解浏览器工作原理和网络协议(如HTTP/3)是性能优化的基础,而模块联邦(Module Federation)等工程化方案则解决了复杂应用的模块共享问题。对于准备2026年前端面试的开发者,掌握这些核心概念和实战技巧至关重要。

weixin_29012677的博客 308

字节前端技术能力图谱与面试要点解析

前端开发作为现代Web应用的核心环节,其技术体系涵盖从基础语言到工程化实践的完整链路。以HTML/CSS/JavaScript为基础,结合React/Vue等主流框架的深度优化能力,构成了前端工程师的核心竞争力。在工程化层面,微前端架构和Webpack插件开发等进阶技能,能显著提升大型项目的可维护性。字节跳动等头部企业尤其注重候选人的全链路能力,包括性能优化(如LCP指标提升)、计算机基础(浏览器渲染原理)以及技术驱动业务的实际案例(如AB测试分析)。掌握这些技术要点,既能应对大厂面试,也能有效提升日常开发

weixin_33928137的博客 359

2025年前端面试趋势与Vue3核心技术解析

前端开发领域正经历技术栈迭代的关键时期,Vue3的Composition API和React Hooks等新特性正在改变开发范式。理解框架底层原理如Virtual DOM diff算法和响应式系统设计,是构建高性能应用的基础。工程化方面,Webpack5的Module Federation和Vite构建工具优化成为项目效率提升的关键。在2025年的技术面试中,面试官更关注候选人对Vue3与Vue2的核心差异理解,以及如何运用Composition API实现逻辑复用。实际场景问题如大文件上传优化、微前端方案

weixin_34314962的博客 413

2026年前端面试核心考点与新兴技术趋势解析

前端开发作为构建现代Web应用的核心技术,其技术栈持续演进的同时,面试考察维度也在不断升级。从基础的HTML5语义化、CSS3布局到JavaScript闭包原理,构成了前端工程师的能力基石。随着微前端架构的普及,Web Components标准和模块联邦等工程化实践成为新的技术热点。在框架层面,Vue3和React18的响应式系统实现差异、以及服务端渲染优化策略是深度考察点。值得关注的是,WebAssembly在前端性能敏感场景的应用,以及低代码平台原理等新兴方向正在改变技术生态。掌握DOM树Diff算法、

weixin_30835649的博客 1033

Android SSL证书固定实战:原理、方案与避坑指南

SSL/TLS协议是保障网络通信安全的基石,其核心原理是通过非对称加密和数字证书实现身份认证与数据加密。在移动应用开发中,为了防止中间人攻击,证书固定技术应运而生,它通过将服务器证书或公钥的哈希值预置在应用内,强制校验服务器身份,从而大幅提升通信链路的安全性。这一技术对于金融、电商等高安全要求场景尤为重要。本文聚焦Android平台,深入解析SPKI固定、Network Security Configuration与OkHttp CertificatePinner等主流方案,并针对证书更新、调试兼容等常见痛

weixin_33935636的博客 405

以LAN8720A为例的以太网硬件设计方案

输入时钟(XTAL1/CLKIN,XTAL2):推荐外加25MHz(性价比较高)晶振为PHY芯片提供时钟,PHY芯片内部PLL将其倍频为50MHz来使用,亦可使用直接使用50MHz晶振。三位MODE通过高低电平组合分别对应以上8种模式 ,包含10M半双工,10M全双工,100M半双工,100M全双工,是否启用自协商协议,CRS是否有效等。VDDCR:1.2V电源,可由芯片内部稳压电源提供,亦可由外部电源提供,由外部电源提供可降低芯片功耗。REF_CLK:参考时钟,由MAC或外部时钟晶振向PHY芯片提供。

weixin_46154042的博客 5885

unity pc运行包导入glb

本文介绍了在Unity中实现GLB/GLTF模型动态导入的方法。主要使用glTFast插件进行模型导入,配合StandaloneFileBrowser实现文件选择功能。文章提供了详细的插件安装方式(包括国内镜像源),并给出了核心导入脚本代码。脚本实现了模型加载、父对象设置、材质修复等功能,解决了常见的材质显示异常问题。该方法支持编辑器和PC平台,兼容不同版本的glTFastAPI,通过简易UI操作即可完成模型导入,适合需要运行时加载3D模型的Unity项目开发。

懒懒的蓝的博客 545

Unity URP项目里Post Processing死活没效果?别慌,这5个坑我帮你踩过了

本文详细解析了Unity URP项目中Post Processing效果失效的五大常见问题,包括渲染管线配置冲突、Volume作用域误判、摄像机参数漏配、Layer层级冲突和Profile引用异常。通过实际项目案例和代码示例,提供专业级解决方案,帮助开发者快速排查并修复后处理效果不生效的问题。

weixin_33721427的博客 334

保姆级教程:用Seurat 5.0.1搞定单细胞测序数据从质控到细胞注释的全流程

本文提供了一份详细的Seurat 5.0.1单细胞测序数据分析教程,涵盖从数据质控到细胞注释的全流程。通过R代码示例和可视化分析,帮助用户掌握单细胞RNA测序数据处理的核心技术,包括数据标准化、降维聚类和细胞类型注释,适用于生物信息学研究和临床数据分析。

weixin_29067143的博客 201

MIPI D-PHY IP 使用说明(一)

目录 前言 一、IP 特点 二、IP 可用性 三、IP 总览 四、IP 声明 五、IP 结构 六、IP 分流桥 模式 七、端口描述 1、PPI 接口信号 1、常规 PPI控制信号 2、发送模式 时钟通道 高速 PPI 信号 3、发送模式 时钟通道 逃逸模式PPI 信号 4、发送模式 数据通道 高速 PPI 信号 5、发送模式 数据通道 控制接口PPI 信号 6、发送模式 ...

记录所学,分享知识,结识挚友 2507

想重装OpenClaw?先执行这4步彻底卸载,避免配置冲突

在重装OpenClaw之前,彻底卸载是非常重要的一步。如果不彻底卸载,可能会导致: - 残留的配置文件与新安装的版本冲突 - 旧的依赖包干扰新的安装过程 - 服务冲突导致启动失败 - 数据混乱影响系统稳定性

一键难忘的博客 1045

适航规章、标准,书籍资料下载汇总(增加DO-160G中英文版)

很多读者之前问我有没有DO-160G的资源,现在终于找到啦!如果大家有其他想要的资源,可以在留言区告诉我,有空我会帮大家找找看~文末有下载链接:更新日志:2024-9-28:初版。2024-10-21:增加DO-330英文版PDF下载。2024-10-30:增加DO-160G中文版(非机翻)和英文版PDF下载。以下是一些收集到的适航相关的资料,分享给大家。(如果没有你想要的资料,请留言,等找到会及时更新!

qq_41854911的博客 2764

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

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

上一篇: 压缩和上传Base64格式/文件格式的JavaScript
下一篇: CSS 优化 JavaScript:提升网页性能的关键技巧
普通网友
博客等级 码龄3年 17粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值