强化学习系统学习路径与实践方法
一、学习路径规划
1. 基础巩固阶段(1-2个月)
-
必读教材:
- 《Reinforcement Learning: An Introduction》(Sutton & Barto) 第1-6章
- 重点掌握:马尔可夫决策过程(MDP)、贝尔曼方程、动态规划(DP)、蒙特卡洛(MC)、时序差分(TD)算法。
-
数学基础:
- 概率论(期望、方差、条件概率)
- 线性代数(矩阵运算、特征值)
- 优化理论(梯度下降、凸优化)
- 补充资源:MIT 线性代数课程
-
代码入门:
- 使用Python实现简单RL环境(如
gym
库的FrozenLake
或CartPole
)。 - 手写Q-Learning、SARSA算法代码,对比两者差异。
- 示例代码:RL-Baselines-Zoo
- 使用Python实现简单RL环境(如
阶段1:基础理论(1-2个月)
周数 | 学习目标 | 核心内容 | 学习资源 | 实践任务 |
---|---|---|---|---|
第1周 | 理解MDP与贝尔曼方程 | - 马尔可夫决策过程(状态、动作、转移矩阵) - 贝尔曼方程推导与求解 | Sutton & Barto 第3章 David Silver课程(第1-2讲) | 手写贝尔曼方程代码(动态规划求解简单MDP) |
第2周 | 掌握动态规划与蒙特卡洛方法 | - 策略迭代 vs. 值迭代 - 蒙特卡洛预测与控制(首次访问与每次访问) | Sutton & Barto 第4-5章 UC Berkeley CS285 Lec2 | 实现FrozenLake环境的策略迭代算法 |
第3周 | 学习时序差分(TD)算法 | - TD(0)与SARSA - Q-Learning与离策略(Off-policy)更新 | Sutton & Barto 第6章 李宏毅RL课程(第4讲) | 对比Q-Learning和SARSA在CliffWalking环境的效果 |
第4周 | 策略梯度与Actor-Critic框架 | - REINFORCE算法 - Actor-Critic架构(A2C) | Sutton & Barto 第13章 OpenAI Spinning Up文档 | 用PyTorch实现CartPole的REINFORCE算法 |
阶段2:深度强化学习进阶(2-3个月)
周数 | 学习目标 | 核心内容 | 学习资源 | 实践任务 |
---|---|---|---|---|
第5周 | DQN算法与改进 | - DQN核心思想(经验回放、目标网络) - Double DQN、Dueling DQN | DQN论文(Mnih et al. 2015) | 复现DQN在Pong环境中的训练(Atari 2600) |
第6周 | 策略优化算法(PPO/TRPO) | - 重要性采样比率 - TRPO的信任域约束 - PPO的剪切目标函数 | PPO论文(Schulman et al. 2017) | 使用Stable-Baselines3训练MuJoCo的Ant机器人 |
第7周 | 连续控制算法(SAC/DDPG) | - 确定性策略梯度(DDPG) - 最大熵RL与SAC的自动熵调节 | SAC论文(Haarnoja et al. 2018) | 实现SAC算法控制PyBullet的HalfCheetah环境 |
第8周 | 多智能体与分布式RL | - MADDPG框架 - IMPALA分布式架构 | MADDPG论文(Lowe et al. 2017) | 用RLlib训练协作型多智能体环境(如Particle World) |
阶段3:专题研究与项目实战(3-6个月)
专题方向 | 研究重点 | 关键论文/工具 | 实战项目示例 |
---|---|---|---|
样本效率与离线RL | - 离线RL(BCQ、CQL) - 数据增强与课程学习 | CQL论文(Kumar et al. 2020) | 在有限数据下训练机械臂抓取任务(使用RoboSuite环境) |
安全强化学习 | - 约束策略优化(Safe-PPO) - 风险敏感RL | Constrained Policy Optimization论文(Achiam et al. 2017) | 设计自动驾驶策略避免碰撞(CARLA模拟器) |
元强化学习 | - MAML在RL中的应用 - 快速适应新任务的元策略 | MAML论文(Finn et al. 2017) | 训练机械臂快速适应不同形状物体的抓取任务 |
真实世界应用部署 | - 模型压缩与轻量化(Quantization) - 仿真到真实(Sim2Real)迁移 | Sim2Real Survey(OpenAI) |
2. 经典文献精读(2-3个月)
-
精读策略:
- 逐章精读Sutton&Barto:每章完成习题(如推导贝尔曼方程)。
- 论文复现:选择经典论文(如DQN、PPO)精读,复现核心结果。
-
重点论文清单:
- Mnih et al. (2015). Human-level control through deep reinforcement learning.(DQN)
- Schulman et al. (2017). Proximal Policy Optimization Algorithms.(PPO)
- Silver et al. (2016). Mastering the game of Go with deep neural networks...(AlphaGo)
-
阅读技巧:
- 三遍阅读法:
- 速读:理解问题定义、方法框架、实验结果。
- 精读:推导公式,分析实验细节(超参数、基线对比)。
- 批判性阅读:思考论文局限性(如样本效率、泛化能力)。
- 三遍阅读法:
3. 代码实战阶段(持续进行)
-
框架选择:
- Stable-Baselines3:封装了PPO、SAC等算法,适合快速实验。
- Ray RLlib:支持分布式训练,适合大规模任务。
- 自主实现:从零实现DQN或PPO,深入理解算法细节。
-
项目示例:
- Atari游戏通关:用DRL算法(如DQN)训练智能体玩
Pong
或Breakout
。 - 机器人控制:在
MuJoCo
环境中实现连续控制(如SAC算法训练Ant
机器人行走)。 - 自定义环境:用
gym
库构建简单环境(如库存管理模拟)。
- Atari游戏通关:用DRL算法(如DQN)训练智能体玩
-
代码资源:
- OpenAI Spinning Up(含算法实现与教程)
- CleanRL(简洁高效的DRL代码库)
工具类型 | 推荐工具 | 优势 | 劣势 | 适用场景 |
---|---|---|---|---|
RL框架 | Stable-Baselines3 | 接口简单,支持主流算法(PPO、SAC、DQN) | 扩展性有限,难以修改底层算法 | 快速实验与基线对比 |
Ray RLlib | 支持分布式训练,多智能体RL | 学习曲线陡峭,需掌握Ray框架 | 大规模分布式任务(如多智能体) | |
仿真环境 | OpenAI Gym | 环境丰富(Classic Control、Atari) | 部分环境已过时(如MuJoCo需独立许可) | 算法原型开发 |
MuJoCo/PyBullet | 高精度物理仿真,适合机器人控制 | 计算资源需求高 | 连续控制与机器人学习 | |
可视化与调试 | TensorBoard | 集成训练曲线、参数监控 | 对自定义指标支持有限 | 训练过程实时监控 |
Weights & Biases (W&B) | 云端记录实验数据,支持超参数调优 | 需要联网,部分功能收费 | 团队协作与实验管理 |
4. 深入专题研究(根据方向选择)
-
方向建议:
- 样本效率:结合元学习(Meta-RL)或离线强化学习(Offline RL)。
- 多智能体系统:学习MADDPG、QMIX等算法。
- 安全RL:研究约束优化(如Safe-PPO)。
- 理论分析:收敛性证明、泛化误差边界。
-
工具进阶:
- 分布式训练:使用Ray框架加速实验。
- 可视化:TensorBoard监控训练过程。
- 超参数调优:Optuna或Weights & Biases(W&B)。
问题类型 | 具体表现 | 可能原因 | 解决方案 |
---|---|---|---|
训练不收敛 | 奖励曲线波动大或长期无提升 | 学习率设置不当 奖励函数设计不合理 | 1. 逐步降低学习率(如从3e-4调整到1e-4) 2. 检查奖励是否稀疏,添加稠密奖励辅助 |
过拟合 | 在训练环境表现好,测试环境急剧下降 | 环境随机性不足 策略缺乏泛化能力 | 1. 增加环境随机参数(如摩擦力、初始状态) 2. 使用数据增强(图像裁剪、颜色扰动) |
梯度爆炸/消失 | 网络参数出现NaN值 | 梯度未裁剪 激活函数选择不当 | 1. 添加梯度裁剪(如torch.nn.utils.clip_grad_norm_ )2. 改用ReLU代替Sigmoid |
样本效率低 | 需要数百万步交互才能学会简单任务 | 探索策略不足 经验回放缓冲区太小 | 1. 增加ε-greedy的探索率 2. 扩大经验回放池容量(如1e6→1e7) |
仿真与现实差距大 | 仿真中训练的策略无法迁移到真实设备 | 物理参数不匹配 传感器噪声未建模 | 1. 使用域随机化(Domain Randomization) 2. 添加噪声层模拟传感器误差 |
二、高效学习方法
1. 理论-代码交替学习
- 每日任务拆分:
- 上午:阅读论文1小时,推导核心公式。
- 下午:代码实现2小时(如改进DQN的经验回放机制)。
- 晚上:复现论文实验,记录结果差异。
2. 参与社区与竞赛
- Kaggle竞赛:如Google Football RL Competition
- 开源贡献:修复RL库的Issue或提交新算法。
- 学术会议:关注NeurIPS、ICML的RL Workshop,学习最新进展。
3. 论文复现技巧
- 分模块实现:
- 先实现环境交互模块(如
gym
封装)。 - 再实现网络结构(如DQN的CNN)。
- 最后整合训练流程。
- 先实现环境交互模块(如
- 调试工具:
- 使用
pdb
或PyCharm调试器定位梯度爆炸问题。 - 可视化中间结果(如Q值分布、策略熵)。
- 使用
时间段 | 周一至周五 | 周末 |
---|---|---|
早晨 | 1小时论文精读(如PPO论文公式推导) | 复现论文核心实验(如对比不同Clip阈值的影响) |
上午 | 2小时代码开发(如实现DQN的经验回放模块) | 参与RL社区讨论(如Reddit的/r/reinforcementlearning) |
下午 | 2小时算法调优(如调整SAC的熵系数) 1小时环境配置(如安装MuJoCo许可证) | 撰写技术博客总结本周进展 |
晚上 | 1小时理论学习(如推导TRPO的优化目标) 1小时监控训练(TensorBoard查看曲线) | 观看相关课程视频(如CS285 Lecture) |
三、避坑指南
常见问题与解决方案
问题 | 解决方案 |
---|---|
代码跑不通,报错不明 | 1. 检查环境版本(如gym 和PyTorch 兼容性)2. 简化代码(如先测试CartPole环境) |
训练不收敛 | 1. 调小学习率 2. 增加经验回放缓冲区大小 3. 检查奖励函数设计是否合理 |
对数学推导感到困难 | 1. 补充凸优化与概率论基础 2. 参考《Mathematics for Machine Learning》 |
论文复现结果与原文不一致 | 1. 检查超参数(如折扣因子γ、探索率ε) 2. 联系作者获取未公开的实现细节 |
四、自我检验标准
- 基础理论:能否不参考资料推导Q-Learning的更新公式?
- 代码能力:能否从零实现PPO算法并在
CartPole
中达到满分? - 论文批判:能否指出某篇DRL论文的假设缺陷(如状态完全可观测)?
- 领域前沿:能否列举2023年NeurIPS中RL方向的3个热点问题?
能力维度 | 自检问题 | 达标标准 |
---|---|---|
理论基础 | 能否不参考资料推导Q-Learning的贝尔曼更新方程? | 独立完成推导,无逻辑错误 |
代码实现 | 能否从零实现PPO算法并在CartPole中达到500分? | 代码可运行,训练结果与文献一致 |
论文复现 | 能否复现DQN论文中Atari游戏的结果(如Breakout平均分>400)? | 复现结果误差小于10% |
问题解决 | 遇到训练不收敛时,能否快速定位原因(如奖励函数/网络结构问题)? | 在1小时内找到问题根源并修复 |
前沿跟踪 | 能否列举近一年RL顶会(NeurIPS/ICML)的3个热门方向? | 准确描述方向(如离线RL、多模态RL) |
五、长期学习方向
- 跟进顶会论文:每周精读1-2篇arXiv最新论文(关键词:
reinforcement learning
)。 - 跨领域结合:探索RL与因果推理、图神经网络(GNN)的结合。
- 工业级应用:研究DRL在推荐系统、金融交易中的落地挑战。
方向 | 关键技术 | 学习材料 |
---|---|---|
离线强化学习 | 行为克隆(BC)、保守Q学习(CQL) | CQL论文 + D4RL数据集 |
多模态RL | 跨模态表示学习(图像+文本) VLA(Vision-Language-Action)模型 | VPT论文 + CLIPort |
基于模型的RL | 世界模型(World Models) PlaNet与Dreamer | DreamerV3论文 |
强化学习与因果推理 | 反事实推理(Counterfactual) 因果模型与RL结合 | Causal RL Survey |
相关文章:
强化学习系统学习路径与实践方法
一、学习路径规划 1. 基础巩固阶段(1-2个月) 必读教材: 《Reinforcement Learning: An Introduction》(Sutton & Barto) 第1-6章重点掌握:马尔可夫决策过程(MDP)、贝尔曼…...
CSS字体
CSS字体 CSS 中的字体样式设置是网页设计的重要部分,以下是一些关键知识点和常见用法: 1.font-family : 用于设置元素的字体系列。可以指定一个或多个字体名称作为备选项,以确保如果某个字体不可用,可以使用下一个备选…...
JDBC:数据库访问的原始接口
目录 一、JDBC 基础入门:数据库访问的原始接口 JDBC 是什么?它在 Java 中扮演什么角色? JDBC 工作原理图解(驱动 -> 连接 -> 执行 -> 关闭) 常见 JDBC 驱动类型及差异 第一个 JDBC 示例程序:连…...
使用 Electron 打包可执行文件和资源:完整实战教程
一.项目结构 项目结构建议如下: my-electron-app/ ├── example.exe ← 需打包的外部程序 ├── config.json ← 配置文件 ├── native-lib/ ← 自定义库或 DLL │ └── yourlib.dll ├── main.js …...
【网络安全】CI/CD 流水线漏洞
【网络安全】CI/CD 流水线漏洞 1. 保护您的软件管道:CI/CD 安全2. 什么是 CI/CD 以及它为何重要?2.1 持续集成(CI):构建坚实的基础2.2 持续交付(CD):准备发布2.3 持续部署࿰…...
计算机是如何工作的(上)
对于学习JavaEE初阶为什么要知道计算机是如何工作的,是因为在未来我们写代码的时候,会出现一些bug,而在代码层面是看不出来的,所以我们需要了解一些关于计算机内部是如何工作的,从而提高代码的健壮度。 计算机的组成&…...
【SF顺丰】顺丰开放平台API对接(Java对接篇)
对接前置篇: 【SF顺丰】顺丰开放平台API对接(注册、API测试篇)_顺丰api接口对接指南-CSDN博客 1.实现效果展示 2.SF顺丰开放平台,JDK资源下载。 下载地址:顺丰开放平台 3.将下载的JDK放入项目中。 4.将JDK资源引入p…...
【KWDB创作者计划】_针对KWDB时序数据库(多副本集群环境)进行压力测试
【KWDB创作者计划】_针对KWDB时序数据库(多副本集群环境)进行压力测试 1. 概述2. 压测环境部署3. 生成测试数据4. 写入性能测试5. 查询性能测试7. 总结 1. 概述 KWDB是一款主要应用于工业物联网、数字能源、车联网、智慧产业等领域的时序数据库ÿ…...
24.中医知识问答删除历史对话功能前端代码实现
前端实现对话删除功能的完整指南 功能概述 前篇文章介绍了删除历史对话的后端开发,本篇将介绍如何在前端实现一个完整的对话删除功能,包括用户确认、API调用、状态管理和错误处理等关键环节。 功能拆解 1. 用户确认机制 javascript const confirmDe…...
在Cursor编辑器上部署MCP(Minecraft Coder Pack)完整指南
MCP(Minecraft Coder Pack)是用于反编译和修改Minecraft Java版代码的工具包。本教程将详细介绍如何在Cursor编辑器中配置和运行MCP,以便高效地进行Minecraft模组开发或代码研究。 1. 准备工作 1.1 所需工具 Cursor编辑器(基于VS…...
STM32——相关软件安装
本文是根据江协科技提供的教学视频所写,旨在便于日后复习,同时供学习嵌入式的朋友们参考,文中涉及到的所有资料也均来源于江协科技(资料下载)。 Keil5 MDK安装 1.安装Keil5 MDK2.安装器件支持包方法一:离线…...
蓝牙WiFi模组rtl8821cs在Android14调
环境 SDK: AOSP14 主控:RK3576 蓝牙:RTL8821CS 先记一下官网文档关于蓝牙的资料 蓝牙 | Android Open Source Project 还在调,先看看啥情况,点赞多或者想起来记录再回来 TODO...
MCP实践第一步--磕磕碰碰搭环境
由于deepseek-r1不支持function calling,所以我们采用了deepseek-v3进行实践,模型名称为deepseek-chat,在deepseek官网获取api-key。 一、参照MCP官网设置环境 创建项目目录 uv init mcp-client # 若没有uv,则先通过pip instal…...
Java并发:线程池
目录 一、核心概念与设计原理 1、线程池的核心价值 2、核心接口和类 3、线程池的核心构造参数 4、线程池工作流程 二、参数选择 1、任务队列选择 2、拒绝策略选择 3、常见线程池选择 4、参数调优 三、 应用 1、创建建议 2、生命周期管理:优雅关闭 3、…...
Kubernetes集群超配节点容量
目录: 1、节点超配简介2、创建 PriorityClass3、运行请求节点容量的 Pod4、调整占位资源请求5、设置所需的副本数量6、自动扩缩容组件6.1、手动方式6.2、自动方式 1、节点超配简介 节点超配是一种主动预留部分集群计算资源的策略。这种预留有助于减少在扩缩容事件期…...
每日一题(小白)回溯篇7
首先我们可以判断出这是一个dfs的题目,因为简言之就是要求最短路径。其次这个题目与直接找最短路径有所不同,增加了条件必须依次穿过指定的符号。无论坦克走到任何一点都有四个方向可以走(越界要判断),结束的条件是到达…...
rk3588上完成halcon的形状模型配准以及和opencv的图像转换
一、准备工作 1)安装好halcon,确保halcon的c的调用是正常的 2)编译好opencv 上面的两个步骤,均可以参考我的两个博文完成: Halcon在linux及ARM上的安装及c工程化_halcon linux-CSDN博客 RK3588上编译opencv 及基于…...
Spring Boot 断点续传实战:大文件上传不再怕网络中断
精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 一、痛点与挑战 在网络传输大文件(如视频、数据集、设计稿)时,常面临: 上传中途网络中断需重新开始服务器内…...
Springboot集成websocket实现消息推送
假设有个需求需要多个用户同时在对应的消息面板实时查看相关接口的执行流程进度,此时可以可考虑使用websocket来实现结果进度推送 一、引入websocket依赖,并编写WebSocket配置类 <dependency><groupId>org.springframework.boot</group…...
PostgreSQL 用户资源管理
PostgreSQL 用户资源管理 PostgreSQL 提供了多种机制来管理和限制用户对数据库资源的使用,以下是全面的资源管理方法: 1 连接限制 1.1 限制最大连接数 -- 在 postgresql.conf 中设置 max_connections 100 -- 全局最大连接数-- 为特定用户设置连接限…...
Uniapp:pages.json页面路由
目录 一、pages二、style 一、pages uni-app 通过 pages 节点配置应用由哪些页面组成,pages 节点接收一个数组,数组每个项都是一个对象,其属性值如下: 属性类型默认值描述pathString配置页面路径styleObject配置页面窗口表现nee…...
使用open3d将pcd点云按照颜色等级分块显示并令其随颜色变化播放
👑主页:吾名招财 👓简介:工科学硕,研究方向机器视觉,爱好较广泛… 💫签名:面朝大海,春暖花开! 使用open3d将pcd点云按照颜色等级分块显示并令其随颜色变化播放 引言显示效果点云获取完整代码引言 有很多时候我们需要更改pcd点云某些区域的颜色,可能是颜色随着点…...
玩转Docker | 使用Docker部署nullboard任务管理工具
玩转Docker | 使用Docker部署nullboard任务管理工具 前言一、nullboard介绍简介主要特点二、系统要求环境要求环境检查Docker版本检查检查操作系统版本三、部署nullboard服务下载镜像创建容器创建容器检查容器状态检查服务端口安全设置四、访问nullboard服务访问nullboard首页五…...
如何避免流程形式化导致的效率低下?
要避免流程形式化导致的效率低下,核心在于:聚焦流程价值、保障执行灵活性、优化流程设计、建立反馈机制、提升执行感知。其中,聚焦流程价值 是解决流程“空转”的首要原则。流程不应只是文档或制度的堆叠,而要服务于业务目标&…...
Java学习手册:HTTP 协议基础知识
一、HTTP 协议概述 HTTP(HyperText Transfer Protocol)即超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传输协议。它是一个应用层协议,基于请求-响应模型…...
基于多模态融合算法的航空武器毁伤评估技术方案
基于多模态融合算法的航空武器毁伤评估技术方案 1. 引言 航空武器毁伤评估(Damage Assessment, DA)是现代战争中的关键环节,直接影响后续作战决策。传统的人工评估方式效率低、主观性强,且在高强度战场环境下难以实时完成。因此,本研究提出一种基于多模态融合算法的自动…...
欧拉-国产操作系统替代产品如何
欧拉(openEuler)国产操作系统是由华为发起并联合开源社区共同开发的企业级操作系统,旨在构建自主可控的数字基础设施生态底座。以下从开发背景、技术特点、应用场景、生态建设及市场表现等方面进行全面介绍: 一、开发背景与战略定位 国家需求驱动 在中美技术竞争背景下,国…...
入门-C编程基础部分:16、 预处理器
飞书文档https://x509p6c8to.feishu.cn/wiki/DzSJwsGiTiXkeCkyEYUcuXbKnbf C 预处理是编译过程中一个单独的步骤,是一个文本替换工具而已。所有的预处理命令都是以井号(#)开头。 指令描述#define定义宏#ifdef如果宏已经定义,则返…...
Spark-SQL4
一 .Spark-SQL核心编程(六) Spark-SQL连接Hive Apache Hive 是 Hadoop 上的 SQL 引擎,Spark SQL 编译时可以包含 Hive 支持,也可以不包含。包含 Hive 支持的 Spark SQL 可以支持 Hive 表访问、UDF (用户自定义函数)、Hive 查询语…...
模数转换【1】AD7699
1.开发背景 一款可以模数转换芯片,兼容通用 SPI 接口,支持最多支持 8 个通道和 500KSPS 的采样率。支持单个通道采集和扫描采集模式。 同系列的芯片还有 AD7682 和 AD7689 等。 2.开发需求 配置内部参考电压4.096V,实现单个通道采集和扫描采集…...
P5670 秘籍-反复异或 Solution
Description 给定序列 a ( a 1 , a 2 , ⋯ , a n ) a(a_1,a_2,\cdots,a_n) a(a1,a2,⋯,an) 和常数 m m m,有 q q q 个操作分两种: add ( l , r , x ) \operatorname{add}(l,r,x) add(l,r,x):对每个 i ∈ [ l , r ] i\in[l,r] …...
PID控制程序编写
目录 一、C语言PID控制器示例代码 二、代码解释 三、重要注意事项 一、C语言PID控制器示例代码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> // For sleep function typedef struct { double Kp; // 比例增益 double…...
推荐系统/业务,相关知识/概念2
一、漫画库更新大量新作品,如何融入推荐系统? 参考答案: 快速提取新作品特征:除基础属性外,利用自然语言处理技术提取漫画简介关键词等丰富特征向量,分析情节、角色设定等深层次特征结合物品画像体系分类…...
基于Python的施工图与竣工图对比小工具开发方案
基于Python的施工图与竣工图对比小工具开发方案 一、引言 在工程建设领域,施工图与竣工图的对比是项目验收的关键环节。传统人工对比方式效率低、易出错,本文基于Python开发一款自动化对比工具,支持快速检测图纸差异并生成可视化报告&#x…...
2025年世界职业院校技能大赛实施方案(意见稿)
为贯彻落实《教育强国建设规划纲要(2024—2035年)》,进一步提升世界职业院校技能大赛(以下简称“大赛”)内涵质量,发挥大赛引领作用,提升高技能人才培养质量,服务现代职业教育体系建…...
辛格迪客户案例 | 苏州富士莱医药GMP培训管理(TMS)项目
一、案例概述 富士莱医药股份有限公司位于美丽的江南水乡常熟,前身为常熟富士莱医药化工有限公司,从建厂初期面积仅有10余亩,逐步扩展到100余亩。近年来公司飞速发展,以黑马姿态发展成为中国专业生产硫辛酸系列产品、肌肽系列产品…...
安恒安全渗透面试题
《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token1860256701&langzh_CN 5000篇网安资料库https://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247486065&idx2&snb30ade8200e842743339d428f414475e&chksmc0e4732df793fa3bf39…...
【基于WSAAsyncSelec模型的通信程序设计】
文章目录 一、实验背景与目的二、实验设计与实现思路1. 设计思想2. 核心代码实现 总结 一、实验背景与目的 这次实验主要是为了让大家了解基于 WSAAsyncSelect 模型通信程序的编写、编译和执行过程。通过实践操作,深入掌握这种模型在实现计算机之间通信时的应用。 …...
Spring Boot+Mybatis设置sql日志打印
Spring BootMybatis设置sql日志打印 在全局配置文件添加以下内容:logging.level.com.demo.mapperdebug,com.demo.mapper:src下的mapper路径,debug:设置日志打印级别为debug,亦可设置为:ERROR、…...
Java 性能优化:从硬件到软件的全方位思考
Java 性能优化:从硬件到软件的全方位思考 在数字化飞速发展的当下,Java 作为广泛使用的编程语言,在各个应用领域发挥着关键作用。而 Java 性能优化作为提升系统运行效率、降低成本的核心环节,需要我们从硬件到软件进行全方位深入…...
ros2 humble moveit调试笔记
Overview — ROS2 Grasp Library Tutorials 0.5.0 documentation Robot Interface — ROS2 Grasp Library Tutorials 0.5.0 documentation 手动添加ompl_planning.yaml文件 planning_plugins:- ompl_interface/OMPLPlanner # To optionally use Ruckig for jerk-limited s…...
静态点亮数码管的某几段(STC89C52单片机)
#include <reg52.h> sbit ADDR0 P1^0; sbit ADDR1 P1^1; sbit ADDR2 P1^2; sbit ADDR3 P1^3; sbit ENLED P1^4; void main() { ENLED 0; //使能U3,选择数码管DS1 ADDR3 1; ADDR2 0; ADDR1 0; ADDR0 0; P0 0xF9; /…...
搭建哨兵架构
Redis大纲 3.1.sentinel环境准备: a.3个sentinel实例信息: 1.sentinel实例信息如下,sentinel只是起到监控作用,不存放数据!!2.为了节省资源,在同一台虚拟机开启3个实例,必须准备三…...
阿里云入门手册
阿里云入门手册 一、付费方式二、云计算基础概念(一)云计算定义(二)云计算优势(三)云计算部署模式(四)专有网络 VPC 三、阿里云ECS实例(一)实例类型ÿ…...
AI日报 - 2024年04月22日
🌟 今日概览(60秒速览) ▎🤖 模型进展 | Google发布Gemini 2.5 Flash,强调低延迟与成本效益;Kling AI 2.0展示多轴运动视频生成;研究揭示SLM在知识图谱上优于LLM,RLHF在推理提升上存局限。 ▎💼…...
Windows BilibiliHistoryFetcher-v1.3.2-v1.2.1-开源B站历史记录管理工具[支持批量管理下载]
Windows BilibiliHistoryFetcher 链接:https://pan.xunlei.com/s/VOONAVJpANYPmzu1Zc3B0q1XA1?pwdnrjc# 使用说明: 以1.3.2与1.2.1版本为例 需要下载 BiliBili-History-Frontend 前端程序,在下载 BilibiliHistoryAnalyzer 解压运行&#…...
CH585单片机的LCD外设怎么驱动段式LCD
1、首先这里只讲应用,不讲具体原理。 要驱动段式LCD,这里就要知道占空比的调整,比如1/4为例就需要4个COM口。这4个COM口由单片机自行驱动,你不用管。就像硬件IIC和SPI,时序问题不用你去操心,你要做的就是向…...
包管理工具有哪些?主流软件分享
常见的包管理工具主要有:npm、Yarn、pnpm、Composer、Maven、pip、Conda 等,其中 npm 是目前全球使用最广泛的JavaScript包管理工具,以丰富的生态、便捷的使用体验以及强大的社区支持闻名。npm具备依赖管理、版本控制、脚本执行等强大功能&am…...
【网络安全】OWASP 十大漏洞
1. OWASP 十大漏洞 为了应对未来的风险,安全专业人员需要随时掌握最新信息。之前,您了解了CVE 列表,这是一个公开的已知漏洞和暴露列表。CVE 列表是全球安全社区相互共享信息的重要信息来源。 在本文中,您将了解安全专业人士参考…...
Fortran中FORALL的用法与性能分析
Fortran中FORALL的用法与性能分析 FORALL语句的基本用法 FORALL是Fortran 95引入的一种结构,用于表达并行数组操作。它的基本语法如下: FORALL (index start:end:stride, mask)array(index) expression END FORALL或者更复杂的多维度形式࿱…...