当前位置: 首页 > news >正文

基于 GEE 利用 Sentinel-2 数据反演叶绿素与冠层水分含量

目录

1 数据加载与预处理

2 叶绿素含量反演

3 冠层水分反演

4 数据可视化与导出

5 完整代码

6 运行结果


在生态学和环境科学领域,植被的健康状况是评估生态系统稳定性和功能的关键指标之一。而叶绿素含量和冠层水分含量作为反映植被生理状态的重要参数,一直是遥感监测的核心目标。接下来,将通过Google Earth Engine(GEE)平台,分享如何利用Sentinel-2卫星数据反演叶绿素含量和冠层水分含量,并通过代码实现这一过程。

1 数据加载与预处理

在进行生态参数反演之前,需要加载并预处理卫星数据。这里选择了Sentinel-2卫星的“COPERNICUS/S2_SR_HARMONIZED”数据集,它提供了高质量的地表反射率产品,具有10米至60米的空间分辨率,非常适合植被监测。

/******************** 数据加载与预处理 ********************/
var s2 = ee.ImageCollection("COPERNICUS/S2_SR_HARMONIZED")// 设置时间范围.filterDate('2023-01-01', '2023-11-30')// 限定研究区域.filterBounds(roi)// 筛选云量小于20%的影像.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))// 波段名称标准化.map(function (img) {return img.rename(['B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7','B8', 'B8A', 'B9', 'B11', 'B12','AOT', 'WVP', 'SCL', 'TCI_R', 'TCI_G', 'TCI_B','MSK_CLDPRB', 'MSK_SNWPRB', 'QA10', 'QA20', 'QA60','MSK_CLASSI_OPAQUE', 'MSK_CLASSI_CIRRUS', 'MSK_CLASSI_SNOW_ICE']);})// 计算中值合成影像.median()// 裁剪至研究区域.clip(roi);

关键步骤解析:

  1. 时间范围筛选:通过filterDate方法,选择了2023年1月1日至11月30日的数据。您可以根据研究需求调整时间范围。

  2. 云量筛选:通过filter方法结合ee.Filter.lt,剔除了云量超过20%的影像,以减少云层对分析结果的干扰。

  3. 波段名称标准化:Sentinel-2数据的波段名称通常以“B04”、“B05”等形式出现。为了方便后续计算,将波段名称统一更正为“B4”、“B5”等。

  4. 中值合成:通过median方法,计算了中值合成影像,以减少噪声和异常值的影响。

  5. 裁剪至研究区域:使用clip方法将影像裁剪至感兴趣区域(roi),确保分析的精确性。

云掩膜处理:

云层是遥感影像中常见的干扰因素,它会掩盖地表的真实信息。Sentinel-2数据提供了“SCL”(Scene Classification Layer)波段,用于地表分类。其中,值为3的像素表示云中像素,值为8的像素表示云影,值为9的像素表示薄云。可以通过以下代码构建云掩膜:

// 云掩膜(基于SCL分类波段)
var cloudMask = s2.select('SCL').neq(3) // 排除云中像素.and(s2.select('SCL').neq(8))      // 排除云影.and(s2.select('SCL').neq(9));     // 排除薄云var s2Clean = s2.updateMask(cloudMask); // 应用云掩膜

通过neqand操作符,构建了一个无云的掩膜,并将其应用到中值合成影像上,得到了干净无云的影像数据(s2Clean)。

2 叶绿素含量反演

叶绿素是植物进行光合作用的核心色素,其含量直接反映了植物的生长状况和健康水平。在遥感领域,叶绿素含量可以通过植被反射光谱的特定波段计算得到,采用以下公式进行叶绿素含量反演:

其中:

  • B8A:865nm波段(近红外增强植被反射)

  • B5:705nm波段

  • B4:665nm波段

公式 3.2 * (B8A - B5)/(B8A + B5 + 0.15) * sqrt(B8A/B4) 是多个经典指数的合成优化,其中系数可以通过地面实测数据校准获得,这里取3.2。

/******************** 叶绿素含量反演 ********************/
var Cab = s2Clean.expression('3.2 * (B8A - B5) / (B8A + B5 + 0.15) * sqrt(B8A/B4)',{'B8A': s2Clean.select('B8A'),'B5': s2Clean.select('B5'),'B4': s2Clean.select('B4')}
).rename('Chlorophyll');

通过expression方法,将公式嵌入代码中,并将结果命名为“Chlorophyll”(叶绿素含量)。 

3 冠层水分反演

冠层水分含量是植被生理状态的重要指标之一,它反映了植被在水分胁迫下的适应能力和健康状况。采用以下公式进行冠层水分反演:

/******************** 冠层水分反演 ********************/
var Cw = s2Clean.expression('(B11 - B12)/(B11 + B12 + 0.03) * log(B8A)',{'B11': s2Clean.select('B11'),'B12': s2Clean.select('B12'),'B8A': s2Clean.select('B8A')}
).rename('CanopyWater');

通过expression方法,我们将公式嵌入代码中,并将结果命名为“CanopyWater”(冠层水分含量)。

4 数据可视化与导出

完成生态参数反演后,需要将结果可视化并导出。在GEE中,通过Map.addLayer方法将结果添加到地图上,并通过设置合适的可视化参数(如最小值、最大值和调色板),使结果更加直观易懂。

/******************** 可视化与导出 ********************/
var visCab = {min: 0,max: 6,palette: ['#FFFFCC', '#A1DAB4', '#41B6C4', '#225EA8', '#081D58']
};
var visCw = {min: -0.2,max: 0.7,palette: ['#0000FF', '#00FFFF', '#FFFF00', '#FF0000']
};Map.addLayer(Cab, visCab, '叶绿素含量(μg/cm²)');
Map.addLayer(Cw, visCw, '冠层水分指数');// 分项导出设置
Export.image.toDrive({image: Cab,description: 'Cab_20m_S2_2023Summer',folder: 'Sentinel2_EcoParams',region: roi,scale: 20,maxPixels: 1e13
});
Export.image.toDrive({image: Cw,description: 'Cw_20m_S2_2023Summer',folder: 'Sentinel2_EcoParams',region: roi,scale: 20,maxPixels: 1e13
});

关键步骤解析:

  1. 可视化参数设置:通过minmaxpalette参数,为叶绿素含量和冠层水分含量设置了合适的可视化范围和颜色渐变。

  2. 导出设置:通过Export.image.toDrive方法,将反演结果导出至Google Drive。导出的图像分辨率为20米,与Sentinel-2影像的空间分辨率相匹配。

5 完整代码

Map.centerObject(roi,7)
var styling = {color:"red",fillColor:"00000000"};
Map.addLayer(roi.style(styling),{},"geometry")/******************** 数据加载与预处理 ********************/
var s2 = ee.ImageCollection("COPERNICUS/S2_SR_HARMONIZED").filterDate('2023-01-01', '2023-11-30') // 需修改日期可调整此处.filterBounds(roi).filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20)).map(function (img) {// 波段名称标准化(用户数据实际波段名)return img.rename(['B1', 'B2', 'B3', 'B4', 'B5', 'B6', 'B7','B8', 'B8A', 'B9', 'B11', 'B12', // 关键修正点:B04→B4,B05→B5'AOT', 'WVP', 'SCL', 'TCI_R', 'TCI_G', 'TCI_B','MSK_CLDPRB', 'MSK_SNWPRB', 'QA10', 'QA20', 'QA60','MSK_CLASSI_OPAQUE', 'MSK_CLASSI_CIRRUS', 'MSK_CLASSI_SNOW_ICE']);}).median().clip(roi);// 云掩膜(基于SCL分类波段)
var cloudMask = s2.select('SCL').neq(3) // 3=云中像素.and(s2.select('SCL').neq(8)) // 8=云影.and(s2.select('SCL').neq(9)); // 9=薄云var s2Clean = s2.updateMask(cloudMask);/******************** 叶绿素含量反演 ********************/
var Cab = s2Clean.expression('3.2 * (B8A - B5) / (B8A + B5 + 0.15) * sqrt(B8A/B4)',{'B8A': s2Clean.select('B8A'), // 865nm(原B8A)'B5': s2Clean.select('B5'), // 705nm(原B05)'B4': s2Clean.select('B4') // 665nm(原B04)}
).rename('Chlorophyll');/******************** 冠层水分反演 ********************/
var Cw = s2Clean.expression('(B11 - B12)/(B11 + B12 + 0.03) * log(B8A)',{'B11': s2Clean.select('B11'), // 1610nm'B12': s2Clean.select('B12'), // 2190nm'B8A': s2Clean.select('B8A') // 近红外增强植被反射}
).rename('CanopyWater');/******************** 可视化与导出 ********************/
var visCab = {min: 0,max: 6,palette: ['#FFFFCC', '#A1DAB4', '#41B6C4', '#225EA8', '#081D58']
};
var visCw = {min: -0.2,max: 0.7,palette: ['#0000FF', '#00FFFF', '#FFFF00', '#FF0000']
};Map.addLayer(Cab, visCab, '叶绿素含量(μg/cm²)');
Map.addLayer(Cw, visCw, '冠层水分指数');// 分项导出设置
Export.image.toDrive({image: Cab,description: 'Cab_20m_S2_2023Summer',folder: 'Sentinel2_EcoParams',region: roi,scale: 20,maxPixels: 1e13
});Export.image.toDrive({image: Cw,description: 'Cw_20m_S2_2023Summer',folder: 'Sentinel2_EcoParams',region: roi,scale: 20,maxPixels: 1e13
});

6 运行结果

点击RUN即可下载数据
叶绿素含量反演结果可视化
冠层水分反演结果可视化

相关文章:

基于 GEE 利用 Sentinel-2 数据反演叶绿素与冠层水分含量

目录 1 数据加载与预处理 2 叶绿素含量反演 3 冠层水分反演 4 数据可视化与导出 5 完整代码 6 运行结果 在生态学和环境科学领域,植被的健康状况是评估生态系统稳定性和功能的关键指标之一。而叶绿素含量和冠层水分含量作为反映植被生理状态的重要参数&#x…...

《鸿蒙系统下AI模型训练加速:时间成本的深度剖析与优化策略》

在当今数字化浪潮中,鸿蒙系统凭借其独特的分布式架构与强大的生态潜力,为人工智能的发展注入了新的活力。随着AI应用在鸿蒙系统上的日益普及,如何有效降低模型训练的时间成本,成为了开发者与研究者们亟待攻克的关键课题。这不仅关…...

PyTorch分布式训练

本文结构: 分布式训练概述环境设置数据并行(DDP)模型并行启动训练性能优化建议示例代码参考资料和相关问题 以下是为您整理的PyTorch分布式训练教程指南: 一、PyTorch分布式训练核心概念 数据并行:通过分割数据集实…...

ubuntu22.04 关于挂在设备为nfts文件格式无法创建软连接的问题

最近遇到情况,解压工程报错,无法创建软连接 但是盘内还有130G空间,明显不是空间问题,查找之后发现是移动硬盘的文件格式是NTFS,在ubuntu上不好兼容,于是报错。 开贴记录解决方案。 1.确定文件格式 使用命…...

C++编程:进阶阶段—4.2对象

目录 4.2 对象特征 4.2.1 构造函数和析构函数 4.2.2 构造函数的分类 4.2.3 拷贝函数调用时机 4.2.4 构造函数调用规则 4.2.5 深拷贝与浅拷贝 4.2.6 初始化列表 4.2.7 类对象作为类成员 4.2.8 静态成员 4.2.9 成员变量和成员函数的存储 4.2.10 this指针 4.2.11 空指针…...

C++跨平台开发环境搭建全指南:工具链选型与性能优化实战

C跨平台开发环境搭建全指南:工具链选型与性能优化实战 目录 开发环境搭建工具链选型性能优化实战常见问题排查 开发环境搭建 操作系统环境准备 Windows# 安装Visual Studio Build Tools choco install visualstudio2022buildtools choco install cmake --instal…...

常见JVM命令

1. java -XX:PrintCommandLineFlags HelloGC 作用:打印 JVM 启动时的命令行参数,包括用户显式设置的参数和 JVM 自动默认设置的参数。用于确认 JVM 实际使用的配置。 2. java -Xmn10M -Xms40M -Xmx60M -XX:PrintCommandLineFlags -XX:PrintGC -XX:Prin…...

C语言实现队列数据结构:思路与代码详解

目录 一、引言 二、整体思路 三、代码模块分析 (一)头文件包含与宏定义 (二)数据类型定义 (三)队列操作函数 1. 队列初始化 2. 队列销毁 3. 入队操作 4. 出队操作 5. 获取队头元素 6…...

【Docker项目实战】使用Docker与Caddy部署BanBan任务管理工具

【Docker项目实战】使用Docker部署BanBan任务管理工具 一、BanBan介绍1.1 BanBan简介1.2 主要特点1.3 使用场景二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、下载BanBan镜像五、…...

AI重构私域增长:从流量收割到终身价值运营的三阶跃迁

私域运营的AI进化论:内容即服务的三个阶段 随着企业微信生态的成熟,私域运营正经历从"流量收割"到"关系养成"的本质转变。在AIGC技术的推动下,2024年私域场景正式进入**"内容即服务"**的价值共创期&#xff1…...

es扩容节点以后写入数据量增加1倍

背景: es扩容一倍的数据节点以后 写入数据量增加1倍 业务反馈业务访问量没增加。 最后定位是监控数据: PUT _cluster/settings {"persistent": {"xpack.monitoring.collection.enabled" : "false"} }这个索引记录的是 节…...

Go本地缓存设计与实现

本地缓存是一个项目中很常见的组件。在很多人的眼中就是一个简单的key-value的map存储即可实现,但实际上,设计一个本地缓存需要考虑的问题远比你想象的多,比如说,本地缓存是将数据存储在内存,若数据量激增突破了内存限…...

04 | 初始化 fastgo 项目仓库

提示: 所有体系课见专栏:Go 项目开发极速入门实战课;欢迎加入 云原生 AI 实战 星球,12 高质量体系课、20 高质量实战项目助你在 AI 时代建立技术竞争力(聚焦于 Go、云原生、AI Infra);本节课最终…...

Spring中复杂对象的创建方式:FactoryBean、实例工厂与静态工厂全解析

1.反转控制与依赖注入 控制:对于成员变量赋值的控制权 反转控制:把对于成员变量赋值的控制权,从代码中反转(转移)到Spring工厂和配置文件中完成 好处:解耦合 底层实现:工厂设计模式 依赖注入: 注入&#xf…...

异或和之和 第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 A 组

异或和之和 题目来源 第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 A 组 原题链接 蓝桥杯 异或和之和 https://www.lanqiao.cn/problems/3507/learning/ 问题描述 问题分析 要点1:异或运算 概念 异或(Exclusive OR,简称 XOR)是一种数学运算符,常用于逻辑运算与计算机…...

设计模式 一、软件设计原则

一、理解设计原则 1、单一原则 1.1 如何理解单一职责原则(SRP) 单一职责原则(Single Responsibility Principle,简称SRP),他要求一个类或模块应该只负责一个特定的功能,这有助于降低类之间的耦合度&#xf…...

修复Electron项目Insecure Content-Security-Policy(内容安全策略CSP)警告的问题

将以下代码粘贴进html的<header>标签内 <metahttp-equiv"Content-Security-Policy"content"default-src self; style-src self unsafe-inline; img-src self data:; "> 解释一下上面代码中的属性含义 default-src self&#xff1a;配置加载策…...

机器人交互系统 部署构建

环境要求 Ubuntu 20.04 或更高版本ROS Noetic 或兼容版本Python 3.8 安装步骤 1. 安装ROS环境&#xff08;如未安装&#xff09; sudo apt update sudo apt install ros-noetic-desktop-full source /opt/ros/noetic/setup.bash2. 创建工作空间并克隆代码 mkdir -p ~/code…...

当AI回答问题时,它的“大脑”里在炒什么菜?

文章目录 1. 拆解订单&#xff1a;AI如何听懂你的“暗号”&#xff1f;2. 调用工具&#xff1a;AI的“万能工具箱”里有什么&#xff1f;3. 知识不够&#xff1f;去“图书馆”现学现卖&#xff01;4. 人类的秘密武器&#xff1a;给AI戴上“镣铐”5. 为什么AI会“胡言乱语”&…...

linux 软件扩展GPU显存

概述 共享内存可以通过 Unified Memory&#xff08;统一内存&#xff09;来实现&#xff0c;它允许 CPU 和 GPU 共享相同的内存地址空间&#xff0c;从而方便数据的传输和访问。 利用该技术可解决家用GPU 机器学习时显存不足的问题 &#xff08;注&#xff1a; 虽然解决了爆显…...

【RabbitMQ】Spring Boot 结合 RabbitMQ 完成应用间的通信

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【中间件】企业级中间件剖析 Spring 框架与 RabbitMQ 的整合主要通过 Spring AMQP&#xff08;Advanced Message Queuing Protocol&#xff09;模块实现&#xff0c;提供了便捷的消息队列开发能力。 引…...

DeepSeek本地化部署(DeepSeek+olloma+Dify)

文章目录 概要需要准备的工具Ollama准备内容Docker准备内容Dify准备内容本地访问Dify 概要 提示&#xff1a;本篇文章主要讲述如何部署本地Deepseek私有大模型&#xff0c;使用Windows无显卡环境进行部署 需要准备的工具 Ollama、Docker Desktop 下载地址&#xff1a; Ollama…...

Spring boot3-WebClient远程调用非阻塞、响应式HTTP客户端

来吧&#xff0c;会用就行具体理论不讨论 1、首先pom.xml引入webflux依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId> </dependency> 别问为什么因为是响应式....…...

Ubuntu22.04安装数据

数据库安装步骤&#xff1a; sudo apt-get update sudo apt install mysql-server mysql-client sudo systemctl start mysql sudo systemctl status mysql &#xff08;1&#xff09;在命令行登录 MySQL 数据库&#xff0c;并使用 mysql 数据库 &#xff08;必须使用这个…...

【python-uiautomator2】手机上的ATX应用界面报错问题处理:无法提供服务,非am instrument启动

目录 一、前期准备 1.1 插入设备 1.2 安装atx-agent 二、解决报错&#xff1a;无法提供服务&#xff0c;非am instrument启动 2.1 出现报错 2.2 尝试解决 2.3 最终解决 三、开启ATX的悬浮窗权限 一、前期准备 1.1 插入设备 本地插入待执行设备&#xff0c;待执行设备…...

自动化测试介绍及学习路线

目录 一、自动化测试 1.1 自动化测试的概念 1.2 自动化测试的主流领域 接口自动化测试 UI自动化测试 持续集成 二、学习路线 一、自动化测试 1.1 自动化测试的概念 自动化测试是指利用软件工具或脚本来执行测试用例和比较实际结果与预期结果的过程&#xff0c;通过运行…...

Python:函数(一)

python函数相关的知识点 1. 函数定义与调用 定义&#xff1a;使用 def 关键字&#xff0c;后接函数名和参数列表。 def greet(name):"""打印问候语&#xff08;文档字符串&#xff09;"""print(f"Hello, {name}!") 调用&#xff1a…...

qml c++混合编程注意事项

在Qml和C类进行数据交互时&#xff0c;通用的办法都是注册C到Qml中&#xff0c;但是很多时候C的对象是在C中进行创建&#xff0c;如果在Qml中创建了&#xff0c;数据之间的交互就会出现无法控制的问题。 信号与槽、上下文等都是数据交互的方式&#xff0c;但是当嵌套多层时&…...

Leetcode6-Z字形变换

题目链接&#xff1a;6. Z 字形变换 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 定义numRows个字符数组&#xff0c;用于存每一行的字符&#xff1b;再定义一个标志行数的变量cnt&#xff0c;cnt在0到numRows-1之间不停的加一或减一&#xff08;当cnt到0了&am…...

【eNSP实战】配置交换机端口安全

拓扑图 目的&#xff1a;让交换机端口与主机mac绑定&#xff0c;防止私接主机。 主机PC配置不展示&#xff0c;按照图中配置即可。 开始配置之前&#xff0c;使用PC1 ping 一遍PC2、PC3、PC4、PC5&#xff0c;让交换机mac地址表刷新一下记录。 LSW1查看mac地址表 LSW1配置端…...

React.js 基础与进阶教程

React.js 基础与进阶教程 React.js 是由 Facebook 开发的流行前端 JavaScript 库&#xff0c;专为构建用户界面&#xff08;UI&#xff09;设计&#xff0c;尤其适用于单页面应用&#xff08;SPA&#xff09;。它采用组件化开发模式&#xff0c;使 UI 结构更加清晰、可维护性更…...

Docker基础入门(一)

初识Docker 什么是Docker Docker是一个快速交付应用、运行应用的技术&#xff1a; 可以将程序及其依赖、运行环境一起打包为一个镜像&#xff0c;可以迁移到任意Linux操作系统运行时利用沙箱机制形成隔离容器&#xff0c;各个应用互不干扰启动、移除都可以通过一行命令完成&…...

moment.js时间处理库

目录 一、moment().isValid()验证时间是否有效 二、moment().second()获取秒数或者设置秒数 三、moment().day()获取星期或者设置星期 四、moment().add()加法操作 五、moment().subtract()减法操作 六、moment.max()最大值 七、moment.min()最小值 八、克隆时间 一、mo…...

基于hive的电信离线用户的行为分析系统

标题:基于hive的电信离线用户的行为分析系统 内容:1.摘要 随着电信行业的快速发展&#xff0c;用户行为数据呈现出海量、复杂的特点。为了深入了解用户行为模式&#xff0c;提升电信服务质量和精准营销能力&#xff0c;本研究旨在构建基于 Hive 的电信离线用户行为分析系统。通…...

循环神经网络(RNN):时序建模的核心引擎与演进之路

在人工智能处理序列数据的战场上&#xff0c;循环神经网络&#xff08;RNN&#xff09;如同一个能够理解时间的智者。从 2015 年谷歌神经机器翻译系统颠覆传统方法&#xff0c;到 2023 年 ChatGPT 实现对话连续性&#xff0c;这些突破都植根于 RNN 对时序建模的深刻理解。本文将…...

docker 安装常用镜像

我们在上篇文章中已经修改了daemon.json 安装镜像时如果search超时就直接pull 安装mysql docker pull mysql:5.7 启动命令 docker run --name mysql-docker -p 3306:3306 -e MYSQL_ROOT_PASSWORDroot1234 -d mysql:5.7 ocker run&#xff1a;运行docker容器命令 --name my…...

大数据学习(63)- Zookeeper详解

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博主哦&#x1f91e; &#x1f…...

安卓Compose中accompanist库使用详解

安卓Compose中accompanist库使用详解 文章目录 安卓Compose中accompanist库使用详解一、Accompanist 库概览二、核心组件详解三、总结与建议 本文首发地址 https://h89.cn/archives/348.html 最新更新地址 https://gitee.com/chenjim/chenjimblog 一、Accompanist 库概览 Acco…...

Gateway:网关路由与登录鉴权

在微服务架构中&#xff0c;用户登录和身份校验的处理方式确实与单体应用有所不同。在单体架构中&#xff0c;一旦用户通过身份验证&#xff0c;其会话信息可以在整个应用范围内共享&#xff0c;所有模块都能访问到用户信息。然而&#xff0c;在微服务架构下&#xff0c;每个服…...

【MySQL篇】MySQL内置函数

目录 1&#xff0c;日期函数 2&#xff0c;字符串函数 3&#xff0c;数学函数 4&#xff0c;其他函数 实战OJ 1&#xff0c;日期函数 日期类型在之前文章【数据类型】中有描述 传送门&#xff1a;【MySQL篇】数据类型_mysql 数据类型-CSDN博客 函数名称描述current_dat…...

爬虫案例十三js逆向模拟登录中大网校

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、网站分析二、代码 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; js 逆向模拟登录中大网校 提示&#xff1a;以下是本篇文章正文内…...

高效编程指南:PyCharm与DeepSeek的完美结合

DeepSeek接入Pycharm 前几天DeepSeek的充值窗口又悄悄的开放了&#xff0c;这也就意味着我们又可以丝滑的使用DeepSeek的API进行各种辅助性工作了。本文我们来聊聊如何在代码编辑器中使用DeepSeek自动生成代码。 注&#xff1a;本文适用于所有的JetBrains开发工具&#xff0c…...

前馈神经网络 - 参数学习(优化问题)

神经网络的参数学习比线性模型要更加困难&#xff0c;主要原因有两点:&#xff08;1)非凸优化问题和 &#xff08;2)梯度消失问题&#xff0c;本文我们来学习和分析这两类问题。 一、非凸优化问题 1、非凸优化问题演示&#xff1a; 神经网络的优化问题是一个非凸优化问题。 …...

AI 大模型统一集成|如何封装多个大模型 API 调用

&#x1f31f; 在这系列文章中&#xff0c;我们将一起探索如何搭建一个支持大模型集成项目 NexLM 的开发过程&#xff0c;从 架构设计 到 代码实战&#xff0c;逐步搭建一个支持 多种大模型&#xff08;GPT-4、DeepSeek 等&#xff09; 的 一站式大模型集成与管理平台&#xff…...

C语言学习day25:WinAPI编程进阶06-游戏辅助窗体监视热键讲解

我们上一章已经绘制出了植物大战僵尸的一个页面 但是我们要怎么样去判断&#xff0c;用户是否按了F1呢。好的接下来就是我们的内容&#xff0c;监视热键。 思路&#xff1a; 我们按下的是键盘&#xff0c;因此我们得用键盘消息&#xff0c;也是&#xff1a;WM_KEYDOWN 同时要…...

JVM常用概念之常量

问题 final修饰的字段就一定是不能重新赋值吗? 基础知识 常量变量是使用常量表达式初始化的原始类型或 String 类型的最终变量。变量是否为常量变量可能对类初始化、二进制兼容性和明确赋值有影响。 —Java 语言规范 实验 用例源码-重新赋值 import java.lang.reflect.Fie…...

【Vue】el-dialog的2种封装方法(父子组件双向通信),$emit触发父事件/.sync修饰符双向绑定

🤵 作者:coderYYY 🧑 个人简介:前端程序媛,目前主攻web前端,后端辅助,其他技术知识也会偶尔分享🍀欢迎和我一起交流!🚀(评论和私信一般会回!!) 👉 个人专栏推荐:《前端项目教程以及代码》 前言 在现代Vue.js开发中,el-dialog组件作为ElementUI库中的一个…...

解决远程主机允许路由转发 【原理扫描】:将/proc/sys/net/ipv4/ip_forward 置为0

解决远程主机允许路由转发 【原理扫描】&#xff1a;将/proc/sys/net/ipv4/ip_forward 置为0 解决远程主机允许路由转发 【原理扫描】&#xff1a;将/proc/sys/net/ipv4/ip_forward 置为0问题描述解决方案临时修改永久生效验证配置 影响 解决远程主机允许路由转发 【原理扫描】…...

c++20 Concepts的简写形式与requires 从句形式

c20 Concepts的简写形式与requires 从句形式 原始写法&#xff08;简写形式&#xff09;等效写法&#xff08;requires 从句形式&#xff09;关键区别说明&#xff1a;组合多个约束的示例&#xff1a;两种形式的编译结果&#xff1a;更复杂的约束示例&#xff1a;标准库风格的约…...

安装oVirt环境

1. oVirt Engine 硬件要求 资源最低推荐 中央处理器 双核 x86_64 CPU. 一个四核 x86_64 CPU 或多个双核 x86_64 CPU。 记忆 4 GB 的可用系统 RAM&#xff08;如果未安装 Data Warehouse 且现有进程未占用内存&#xff09;。 16 GB 的系统 RAM。 硬盘 25 GB 本地可访问的…...