Windows11环境下使用Alibaba RocketMQ

Windows环境下RocketMQ的安装及配置 关于Windows环境下RocketMQ的安装及配置保姆级教程 阅读详情

项目版本与运行环境

  • JDK版本:17
  • 操作系统:Windows11
  • RocketMQ:4.9.5

获取资源

前往 RocketMQ 的官网下载资源

链接: Apache RocketMQ 官网

进入官网后,点击右上角的下载标签,进入版本选择页面。选择自己需要的版本(博主选择的版本是 4.9.5),点击 Binary下载 列下的压缩包链接进行下载。

Source下载 列下的是 RocketMQ 源代码。需要学习 RocketMQ 源码的可以点击此列下的链接进行下载源码。

在这里插入图片描述

下载完毕后解压压缩包,得到以下文件

在这里插入图片描述

store 文件夹是博主在配置文件中写了配置信息执行后所生成的文件夹,原生文件夹里初始是没有 store 文件夹的。

调整配置信息

broker.conf 文件

进入 conf 文件夹,找到 broker.conf 文件,选择用记事本或 VS Code 打开。

在这里插入图片描述
在配置文件中加入以下两条内容:

# NameServer地址
namesrvAddr = localhost:9876
# 存储根路径
storePathRootDir = 自己 RocketMQ 根目录/store

在这里插入图片描述

KEYVALUE作用
namesrvAddrlocalhost:9876指定客户端(Producer / Consumer)或 Broker 连接的 NameServer 地址列表
storePathRootDir自己 RocketMQ 根目录/store指定 Broker 存储所有持久化数据的根目录

namesrvAddr

首先我们得明白为什么需要 NameServer ?

在这里插入图片描述
namesrvAddr 的核心作用:

使用方作用
Producer / Consumer告诉客户端:“去哪找 NameServer 获取 Topic 路由?”
Broker告诉 Broker:“启动后向哪些 NameServer 注册自己?”

没有正确的 namesrvAddr,整个 RocketMQ 集群就无法协同工作。

namesrvAddr 的配置格式

# 单个 NameServer
namesrvAddr=192.168.1.100:9876

# 多个 NameServer(集群模式,用分号隔开)
namesrvAddr=192.168.1.100:9876;192.168.1.101:9876;192.168.1.102:9876

注意:分号 ; 分隔,不是逗号!

storePathRootDir

storePathRootDir 定义了以下核心数据的存储根路径:

数据类型说明
CommitLog所有消息的物理存储文件(顺序写入,高性能)
ConsumeQueue每个 Topic-Queue 的消费索引(逻辑队列)
IndexFile消息索引(用于按 Key 或时间范围查询)
Checkpoint 文件存储刷盘、HA 等状态的检查点信息
Abort 文件标记 Broker 是否异常退出
Config 目录保存运行时的配置快照(如 topic.json、subscriptionGroup.json)

默认情况下,这些数据会存放在:${ROCKETMQ_HOME}/store/ 而 storePathRootDir 允许你将整个 store 目录重定向到其他磁盘或分区。

bin 目录下各个启动项配置信息

需要在以下文件中添加内容:

  1. mqshutdown.cmd
  2. runbroker.cmd
  3. runservier.cmd
  4. tools.cmd

需要添加的内容:

set JAVA_HOME=JDK8的根目录
set PATH=%JAVA_HOME%\bin;%PATH%

RocketMQ 目前在5.x以下的版本仅支持使用 JDK8 进行启动,因为 RocketMQ 中各个 cmd 启动文件中有使用到 JDK8 才能拥有的 GC垃圾回收器 ,而超过 JDK8 以上的版本当中有部分 GC垃圾回收器 已被弃用或移除,所以无法使用超过 JDK8 以上版本的 JDK 来启动 RocketMQ。

在这里插入图片描述

但博主项目中需要使用 JDK17 进行编写项目,电脑当中的 JAVA_HOME 环境变量当中配置的是 JDK17。所以需要在这些 cmd 文件中进行手动配置 JAVA_HOME 和 PATH 环境变量。

在这里插入图片描述

电脑中的系统变量配置

  1. 添加变量名为 ROCKETMQ_HOME 的系统变量,变量值为你的 RocketMQ 所在根目录。

在这里插入图片描述

2.添加变量名为 NAMESRV_ADDR 的系统变量,变量值为 localhost:9876。此值不可随意更改,为固定写法。

为什么需要添加这个变量呢?
原因:RocketMQ 客户端(生产者、消费者)必须知道 NameServer 的地址 才能:获取 Topic 的路由信息(哪些 Broker 存储该 Topic)向正确的 Broker 发送或拉取消息。如果没有配置,就会报错:connect to null failed。

在这里插入图片描述

原因为:在 play.cmd 中脚本已给定了 broker 的名称为 localhost:9876 且在 broker.conf 文件中我们也写死了 namesrvAddr = localhost:9876

在这里插入图片描述

启动 RocketMQ

当以上所有配置完毕之后,即可在命令行里调用 cmd 文件进行启动 RocketMQ。

在这里插入图片描述

博主使用的是 PowerShell 进行启动,也可在资源导航栏中使用 cmd 来启动命令行进行启动 RocketMQ

在这里插入图片描述
输入以下命令:

.\play.cmd

当输出 "Start Name Server and Broker Successfully." 时,代表 broker 和 Name Server 启动成功。

在这里插入图片描述

测试发送消息和消费消息

发送消息

这里使用官方提供的 RocketMQ 源码中自带的一个快速入门示例生产者。

.\tools.cmd org.apache.rocketmq.example.quickstart.Producer

当出现 SendResult [sendStatus=SEND_OK, msgId= ... 时,代表消息发送成功。

在这里插入图片描述

消费消息

这里使用官方提供的 RocketMQ 源码中自带的一个快速入门示例消费者。

.\tools.cmd org.apache.rocketmq.example.quickstart.Consumer

当出现 ConsumeMessageThread_%d Receive New Messages: [MessageExt... 时,代表消息消费成功。

在这里插入图片描述

关闭 RocketMQ

使用下面两条命令即可关闭 RocketMQ 。

.\mqshutdown.cmd namesrv

.\mqshutdown.cmd broker

在此给个小建议。先关闭 namesrv ,再关闭 broker 。如果先关闭 broker 的话,有概率引起命令行窗口异常。

在这里插入图片描述

原理

通过观察 mqshutdown.cmd 文件里的脚本语句,可知脚本会自动帮我们关闭 broker 和 name server 。

/l 代表接收一个参数。当前输入参数固定值为 broker 和 namesrv

在这里插入图片描述

结尾

书写此文,是因为查询 RocketMQ 官网后,发现官网对于有关 Windows 环境下的没有或使用教程比较模糊,在官网教程中前半部分有 Windows 环境下的相关命令,但到后续就变为只有 Linux 和 MacOS 以及 Unix 环境下的命令,同时官方在官网中说明启用 RocketMQ 可使用 JDK8 或以上的版本,但经测试,使用 JDK8 以上版本都不可以启动 RocketMQ ,只有使用 JDK8 才可启动,所以书写此文以此补充。若当中有错误还请私信指点或评论指点。

Spring AI与Alibaba Graph实战:构建企业级HR招聘智能Agent系统 AI Agent和图计算是当前企业级应用智能化的关键技术。AI Agent通过大语言模型赋予应用感知、决策与执行能力,而图计算擅长处理复杂的关系网络与流程编排。将两者结合,能够为业务流程自动化带来强大的技术价值,例如在人力资源、风控、运维等场景中实现智能决策与状态流转。本文聚焦于一个具体的应用场景——HR招聘全流程自动化,通过整合Spring AI的智能代理能力与Alibaba Graph的图工作流引擎,构建了一个从简历解析、技能匹配到面试安排的模拟系统。该项目为开发者提供了学习Spring AI Agen 阅读详情

相关推荐

Spring Cloud Alibaba微服务实战:从架构设计到Docker部署完整指南

微服务架构是一种将单一应用拆分为多个独立服务的分布式系统设计模式,其核心原理是通过服务拆分实现技术异构性和弹性扩展。在Java技术栈中,Spring Cloud提供了完整的微服务解决方案,而Spring Cloud Alibaba则在此基础上集成了Nacos、Sentinel等国产化组件,显著提升了配置管理和服务治理能力。分布式缓存技术如Redis在微服务架构中承担着数据共享和性能优化的重要角色,通过内存存储减少数据库压力。在实际工程实践中,结合Docker容器化部署可以实现服务的快速扩展和隔离运行。本文基

weixin_30755393的博客 435

保姆级教程Windows11下安装RocketMQ

RocketMQ 是阿里巴巴开源的分布式消息中间件。支持事务消息、顺序消息、批量消息、定时消息、消息回溯等。它里面有几个区别于标准消息中件间的概念,如Group、Topic、Queue等。系统组成则由Producer、Consumer、Broker、NameServer等。

quanzhan_King的博客 3737

Spring Cloud Alibaba微服务重构实战:从单体到微服务的渐进式演进

微服务架构是一种将单一应用程序拆分为一组小型、独立服务的软件架构风格,其核心原理是通过服务解耦实现独立部署、扩展和技术异构。这种架构的技术价值在于提升系统弹性、故障隔离能力和团队交付效率,尤其适用于应对高并发、快速迭代的业务场景。在工程实践中,面对单体应用的技术债务和性能瓶颈,采用渐进式重构策略是关键。通过领域驱动设计(DDD)划分服务边界,结合Spring Cloud Alibaba生态(如Nacos、Sentinel),可以在项目中期平滑完成架构升级。本文以Spring Boot单体应用重构为例,详细演

weixin_34068198的博客 370

win11安装运行RocketMq

变量值:自己RecketMQ的安装目录 (bin目录上一级)或者新建文本文件,改后缀.txt 为.cmd,双击运行即可。效果:启动成功会有如下提示,切记下面窗口不能关闭。如果一闪而过,就是报错了,看命令行具体报错排除。消费者的窗口会开始接收生产者发送的消息,变量名:ROCKETMQ_HOME。

LYX3693的博客 680

基于Spring AI Alibaba Graph构建企业级Java Agent招聘系统

AI Agent作为具备自主决策能力的智能体,其核心原理是通过大语言模型理解任务、调用工具并执行动作,从而将AI能力深度融入业务流程。在Java技术栈中,结合Spring AI Alibaba的Graph工作流,可以高效编排多个Agent,实现复杂任务的自动化协同。这一技术架构的价值在于,它能将AI的认知能力与企业级应用对稳定性、可观测性和工程化的要求相结合。典型的应用场景包括智能客服、自动化运维以及本文聚焦的招聘流程自动化。通过将简历解析、人岗匹配等环节构建为独立的Java Agent,并利用Graph进

weixin_34189116的博客 332

微服务架构下顾清寒-雨过天晴模式:Spring Cloud Alibaba实现系统韧性恢复

在微服务架构中,服务治理与配置管理是保障系统稳定性的核心基础。其原理在于通过服务发现、动态配置、熔断降级等机制,实现对分布式系统复杂性的有效管控。这一技术价值体现在能够显著提升系统的可用性与韧性,确保在流量洪峰、服务故障等异常场景下仍能维持核心功能。应用场景广泛覆盖电商、金融等高并发业务系统,尤其在应对服务雪崩、配置推送不一致等典型分布式问题时尤为关键。本文聚焦的“顾清寒-雨过天晴”架构模式,正是这一领域的最佳实践集合,它深度融合了配置的版本化回滚与服务的优雅上下线等热词概念,为微服务系统从故障中实现平滑自

weixin_34059951的博客 420

在Windows 11环境部署RocketMQ和RocketMQ Dashboard

在Windows 11环境部署RocketMQ和RocketMQ Dashboard

u011023306的博客 4126

Spring Cloud Alibaba 源码深度解析:Nacos 服务发现与 Sentinel 流控实现原理

在微服务架构中,服务治理是保障系统稳定性的核心,主要解决服务如何被找到以及如何被保护两大问题。服务发现通过注册中心实现服务的自动注册与发现,其底层通常采用心跳机制和长轮询推送来保证数据的最终一致性。流量控制则是通过实时统计请求指标并应用规则来防止系统过载,其中滑动时间窗口算法能有效平滑流量,解决临界突变问题。这些技术为构建高可用的分布式系统提供了基础保障。本文聚焦于 Spring Cloud Alibaba 生态下的两个关键组件:Nacos 实现了高效的服务注册与发现,其客户端通过周期性心跳维持实例健康,并

weixin_30425949的博客 495

Windows 11 环境下 RocketMQ 安装、搭建、使用及 Java 实战文档

Windows 11 Java 开发环境组件搭建专栏:零基础完成 Windows 11 系统中 RocketMQ 环境部署、服务启动、可视化控制台配置,提供 Spring Boot 生产者 / 消费者实战示例:JDK 8+(必备)、RocketMQ 4.9.6(Windows 稳定兼容版)、RocketMQ Dashboard 1.0.0(可视化控制台):标准排版、步骤可视化、避坑指南、Java 开发专属、代码可直接复制运行。

享棣的博客 559

温度实时检测预警系统(STC89C51RC+DS18B20)

温度实时检测预警系统

1 兴趣 2 实践 1495

最新小旋风蜘蛛池X6.21解密版+绕过授权带教程

介绍: 1.站群管理:用你的域名在这里添加网站 2.站点优化:站点互链,内容优化 2.系统设置:开启蜘蛛池 3.采集管理(可开启自动采集) 4.缓存设置:推荐开启tkd缓存 其他的用户根据自己的实际情况后台进行配置,通常以下: 1.后台首页(这里显示系统的大致概况) 2.系统设置:蜘蛛池的基本设置(访问开关、跳转、统计等等) 3.站群管理: 1.网站管理(用你的域名在这里添加网站) 2.模型管理(可构建不同类型站点:电影、文章、论坛等等) 3.TKDB调用模板(即:title、keywords、descri

百度SEO程序下载 2935

RocketMQ部署 的windows系统安装

原博地址:https://www.jianshu.com/p/4a275e779afa 一.预备环境 1.系统         Windows 2. 环境         JDK1.8、Maven、Git   二. RocketMQ部署 1.下载 1.1地址:http://rocketmq.apache.org/release_notes/release-notes-4.2.0/...

寒山空明月 586

Mathtype公式下标深度调整技巧:解决固定行距下的显示不全问题

本文针对在Word等文档中设置固定行距时,Mathtype公式下标显示不全的问题,提供了专业解决方案。核心在于调整Mathtype软件内部的“下标深度”参数,通过修改单个公式或批量格式化全文,使公式完美适配固定行距,确保下标清晰完整,且不影响文档整体排版。

pepsi的博客 1498

【Spring Cloud Alibaba】RocketMQ(二)

如果Broker端还没有返回SendResult,⽽⽣产者主线程已经停⽌了,那么SendCallback的执⾏线程也就会随主线程⼀起停⽌,对应的⽅法⾃然也就⽆法执⾏了。但是,这⾥还是会造成⼀种分裂,消息最终是由Consumer来处理,但是消息却是由Broker推送过来的,也就是说,Consumer⽆法确定⾃⼰将要处理的是哪些消息。这时,就可以创建另外⼀个新的消费者组,并通过ConsumerFromWhere属性指定这个消费者组的消费起点,从⽽让这个新的消费者组去消费之前发送过的历史消息。

Blue_Pepsi_Cola的博客 325

图解“交易·支付·清结算·账务”全局

这个过程大致是这样的,用户先到平台选择喜欢的“餐品”,然后“下单”,生成交易“账单”,用户选择支付方式进行“支付”,支付成功后平台要履行承诺把餐送到,“履约”完成以后平台就开始进行各方利益的“清分”,计算清楚应给谁多少钱,并“记账”,最后将款项“结算”给商家,这个过程如图7所示。交易系统请求订单系统创建订单,因为不清楚平台和商家之间的清结算协议,所以暂且认为所有优惠由平台提供给用户,后续平台再基于协议跟商家之间做优惠的分摊,将上述商品、优惠、计价等信息集成到一起,就得到了完成的订单信息了,如表4所示。

wjianwei666的专栏 1万+

学习Fidder主要掌握的技术——流量篡改

本文介绍了Fiddler工具的三种常用调试方法:1)本地映射-通过保存修改JSON响应文件实现接口数据模拟;2)Composer接口调试-通过修改请求参数快速测试接口异常处理;3)断点调试-在请求/响应过程中拦截并修改数据。这三种方法分别适用于前端开发、接口测试和健壮性验证等场景,能够有效提高调试效率。操作步骤包括保存响应、修改数据、配置规则等关键环节,并提供了详细的界面操作指引。

2301_79022773的博客 353

30分钟快速搭建 Spring Cloud Alibaba 微服务实战(一)

本文提供了一个5分钟快速搭建Spring Cloud Alibaba微服务的实战指南。主要内容包括:1)环境准备(JDK、Maven、Nacos单机版安装);2)项目结构(网关、服务提供者、消费者3个模块);3)父工程pom.xml配置(统一版本管理);4)服务提供者模块实现(注册到Nacos并暴露接口)。通过简洁的步骤和示例代码,帮助开发者快速搭建可运行的微服务基础架构,包含Nacos服务注册中心、服务提供者、消费者和网关等核心组件。

echo的博客 794

R语言中的混淆矩阵(Confusion Matrix)是一种常用的评估多分类模型性能的工具

除了准确率,混淆矩阵还提供了其他有用的指标,如灵敏度(Sensitivity)、特异度(Specificity)、精确度(Precision)和召回率(Recall)。混淆矩阵通过比较模型预测结果与实际标签的一致性,帮助我们了解模型的分类准确性和错误类型。此外,混淆矩阵还提供了各种错误类型的统计信息,如假阳性(False Positive)和假阴性(False Negative)等。通过混淆矩阵,我们可以了解模型的整体性能和错误类型,从而对模型进行评估和改进。最后,为了更好地理解混淆矩阵的结果,可以使用。

HackSquad的博客 972

windows安装rocketmq服务_你必须要学会 微服务消息通信RocketMQ及分布式事务

hello大家好,我是阿七,前面我们学习了SpringCloud Alibaba的nacos、ribbon、feign、sentinel,那么今天来学习微服务中的消息通信以及微服务中的分布式事务。现在我们有这样一个业务需求,在内容中心审核分享的内容,一旦审核通过呢,给用户添加积分。这里就涉及到两个微服务,我们可以通过feign来调用,使用@Async异步注解来实现,那更高级一点的,我们使用MQ来做...

weixin_39755873的博客 187

22、硬件工程师笔试面试——电机(2025版本)

例如,B级绝缘的电机可以承受的最高温度为130℃,而H级绝缘的电机可以承受高达180℃的温度。同时,也要考虑电机的成本和控制系统的复杂性。电机的选择取决于其应用的具体要求,包括所需的功率、速度、扭矩、效率、成本和工作环境等。根据电动机保护配置原则,为电机配置适当的保护,如过负荷保护、缺相保护、逆相保护、接地漏电保护、堵转保护、相不平衡保护、短路保护、过电压保护、低电压保护、过热保护等。根据安培环路定理,电流和磁场的相互作用会在电机的转子上产生力,这些力作用于转子上,使其绕轴旋转,从而产生转矩。

XU157303764的博客 3536

vue2 - elementUI表格table树形结构复选框勾选父子联动示例,el-table树状表格tree复选框checkbox多选框全选/反选取消children(当子级全选中,父级自动勾选)

vue2,elementui,el-table树状表格多选,树形结构结合多选框使用,实现单选父子联动全选反选,勾选联动父级勾选,表格多选check父子联动,table表格children如何嵌入复选框,el-table使用多选框与树形数据写一个有半选全选功能的表格,el-table树形表格实现复选框多选效果,表格树状结构多选,每一个row都可以选中并且联动全选按钮,table选父带子选子带父,树形数据与懒加载,Table表格树形结构多选框选中父级时会选中子级,elementUI表格里树形结构嵌套复选框全选全

✅ 精选推荐文章 1万+

RocketMQ消息队列实战:核心原理、快速接入与故障排查

消息队列是分布式系统中实现异步解耦、削峰填谷的关键组件。RocketMQ 作为 Apache 顶级项目,以高吞吐、强可靠和丰富消息类型(如顺序消息、延迟消息、事务消息)著称,成为 Java 技术栈业务场景的首选。其底层采用 CommitLog 顺序写与 ConsumeQueue 索引机制,配合 NameServer 路由注册与 Broker 存储,保证了海量消息的高效流转。在电商订单、支付回调等场景中,RocketMQ 的延迟消息和事务消息能简洁地解决超时关闭与最终一致性问题。同时,生产实践中常见的消费积压

weixin_33769125的博客 259

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Spring AI Alibaba:Java开发者快速集成大模型与构建智能体工作流指南

在AI应用开发领域,大模型API集成与智能体工作流编排是核心技术挑战。其原理在于通过高层API抽象,封装HTTP通信、上下文管理与工具调用等底层细节,从而降低开发复杂度。这一技术的核心价值在于显著提升开发效率,使开发者能聚焦业务逻辑而非基础设施。其典型应用场景包括为现有Java应用快速添加对话能力、构建复杂决策链的智能体以及开发多步骤AI工作流。Spring AI Alibaba作为基于Spring AI构建的Java框架,正是这一理念的工程实践。它提供了与Spring Boot风格一致的高层次API,并深

weixin_33811539的博客 365

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

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

JP4-1-6-MyLesson订单服务

MyLesson订单微服务后台代码

周航宇的博客 1690

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Windows下Nacos自启动三种方案实战解析

在微服务架构中,注册中心是服务发现与配置管理的核心组件,Nacos作为国内主流实现,广泛部署于各类环境。然而当运行在Windows服务器上时,Nacos默认以命令行窗口方式启动,存在无法随系统自启、进程崩溃后不能自动恢复等隐患,直接影响服务可用性。要解决这一问题,需将Nacos封装为系统托管进程。本文从Windows服务管理原理出发,系统对比NSSM、WinSW与任务计划程序三种自启动方案的实现机制、配置步骤与适用场景,并结合JAVA_HOME设置、端口监听、日志排查等实践细节,帮助开发与运维人员实现Nac

weixin_33843409的博客 335

开源 | 慧知开源OCPP1.6J欧标充电桩管理平台 V2.0.1

⚡️慧知开源充电桩平台全套源码⚡️;⚡️OCPP1.6J充电桩管理系统⚡️;⚡️跨境充电小程序⚡️;⚡️充电桩 SaaS 运营平台⚡️;,SpringCloud+MySQL+Redis+Nacos+Uniapp+Netty+MQTT,多租户隔离、全球多支付通道、OCPP1.6J全协议、高并发设备接入、车主端多端应用、运营管理后台、充电桩模拟器、一站式跨境充电数字化运营解决方案。

李文慧 中国开源充电桩平台第一人;李文慧 国内知名开源工作者 全栈工程师 华为云最具价值专家 792
上一篇: Seata与Nacos的组合使用
下一篇: 阿里龙蜥虚拟机 ens33 网卡掉线恢复
吴弈寒
博客等级 码龄5年 2粉丝 9原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值