开放原子大赛石油软件赛道参赛经验分享

亿级以上网格油藏模型三维可视化

一、赛项背景

油藏数值模拟是油气田开发中至关重要的一环。油藏数值模拟将储层与井的数学模型离散求解,预测地下流体、能量等的动态变化,广泛应用于油田产量评估、开发方案优化等。随着计算机技术特别是并行技术的发展,油藏数值模拟的网格规模可达亿级到十亿级。如此大规模的油藏模型对三维可视化是一个挑战。

本次竞赛的目标是期望实现亿级以上网格油藏模型流畅的三维显示和数据交互。通过应用先进的计算机图形技术,利用局部更新、按需加载、并行处理等技巧改进算法,实现亿级以上网格油藏模型流畅的三维显示和数据交互,助力HiSim软件的升级。

二、赛项信息

赛项名称:亿级以上网格油藏模型三维可视化

赛项主题:油藏开发,油藏数值模拟

赛项时间:2024.09-2025.01

赛项目的:本次竞赛旨在通过“亿级以上网格油藏模型三维可视化”竞赛,旨在邀请计算机图形学、油藏数值模拟及可视化领域的精英人才,共同探索并攻克这一技术难题。

三、竞赛题目

参与本赛题所需的数据及说明已上传到AtomGit代码托管平台,代码库地址: 亿级以上网格油藏模型三维可视化 · AtomGit_开放原子开源基金会代码托管平台

本赛项要求参赛队伍实现亿级以上网格油藏模型流畅的三维显示和数据交互。油藏模型的三维可视化指将油藏网格与井的动、静态属性以计算机三维图形的方式呈现出来。由于CPU/GPU算力的限制、内存/显存容量的限制,亿级以上网格油藏的三维可视化会出现不流畅甚至无法显示的问题。项目组针对上述问题,提出赛题“亿级以上网格油藏模型三维可视化”,具体要求如下:

3.1 核心功能实现

亿级网格处理:参赛作品必须能够处理亿级以上的油藏网格模型,实现其三维可视化。

动静态属性展示:除了网格,还需将井的动、静态属性以三维图形的方式清晰、准确地呈现出来。

数据交互能力:用户需能够与三维模型进行交互,选择特定网格。

3.2 性能优化要求

流畅性:在CPU/GPU算力及内存/显存容量有限的情况下,确保三维显示和数据交互的流畅性。

局部更新技术:应用局部更新技术,仅对需要变更的部分进行更新,以减少不必要的计算和资源消耗。

按需加载策略:实现按需加载机制,根据用户需求和视图范围动态加载和卸载数据。

并行处理应用:利用并行处理技术,如GPU加速、多线程等,提高数据处理和渲染速度。

3.3 用户体验与外观

直观易用:用户界面应简洁、直观,易于操作和理解。

美观度:三维可视化效果应美观,符合专业软件的外观标准。

可移植性与兼容性:作品应能够在Windows或Linux平台上稳定运行。

3.4 赛题意义

将为巅峰赛题“超大规模多组分渗流全隐式模拟中的稀疏线性方程组求解”未来成果落地提供可视化功能支持,助力HiSim软件增强其处理大规模数据的可视化能力,提高油气藏模拟的精度和效率。

亿级以上网格的油气藏模型能够捕捉更多地质细节,提供更精确的地质构造和流体流动模拟,能够直观展示油气藏模型的内部结构、流体分布及动态变化过程,有助于研究人员和决策者更好地理解地质情况,做出科学决策。

四、参赛历程

4.1 研读赛题需求

本数据是HiSim模拟器的模拟结果数据,包含两类:

  • 网格数据:连续存放的二进制数组;
  • 井筒数据:文本文件。

利用以上两种数据体,可以完整地绘制储层和井筒的3D图。

网格几何数据是“Brick”格式,该格式包含“点集+拓扑”,可以描述结构或非结构的六面体单元,且单元顶点不需要是对齐的。Brick格式包含两个数组:

① 点集坐标,是顶点的(x, y, z)坐标,是double数组,长度等于“顶点数×3”,重合的点记为一个点;

② 网格顶点在点集中的编号,即每个网格由哪8个顶点组成,是整型数组,数组长度等于“有效基质网格数×8”,编号从1开始,8个顶点的顺序如,顶点先排底面、再排顶面,面内逆时针排序。

4.2 补充油藏相关知识点

油藏工程 中国石油大学

油藏工程-姚军-中国石油大学(华东)_哔哩哔哩_bilibili

油藏数值模拟的核心原理是基于描述流体在多孔介质中流动的数学方程组,并通过计算机对这些方程进行数值求解,来预测地下油藏的动态行为。这个数学模型来源于基本的物理守恒定律和经验关系式。

油藏数值模拟的基本流程可以概括为以下几个主要步骤:

1. 构建地质模型 (Geological Modeling)

2. 网格划分 (Gridding)

3. 属性赋值 (Property Assignment)

4. 井数据整合 (Well Data Integration)

5. 模型初始化 (Model Initialization)

6. 动态数值模拟(时间步进计算)(Dynamic Simulation)

7. 结果后处理与分析

Petrel 地质建模专讲

Petrel 地质建模专讲(2023年最新录制的独家1080p优质内部一体化培训视频第二模块)!共大于10个视频!(并包含数据、课堂笔记、手册、实用技巧等资料)_哔哩哔哩_bilibili

基于华为鲲鹏HPC并行计算:油藏数值模拟网格粗化探索与实践【玩转华为云】-云社区-华为云

科吉思石油技术的个人空间-科吉思石油技术个人主页-哔哩哔哩视频

硬实力|亿级角点网格油藏模型三维显示技术取得重大突破-Colchis-科吉思石油技术咨询有限公司

十亿级网格CCS模拟的"GPU超能力"!【附: 5月份休斯顿技术峰会报名】

前沿技术 |金蛇狂舞!2025斯伦贝谢数值模拟新技术应用与文献盘点

前沿技术 |INTERSECT 2024重装升级,引领油藏模拟新时代

对模拟计算得到的随时间变化的压力场、饱和度场、各井的生产/注入数据、油藏整体产出数据等进行可视化和分析。进行产量预测、历史拟合(调整模型参数以匹配历史生产数据)、方案优化、剩余油分布分析等。

油藏数值模拟流程总结:先利用静态原理(重力、毛管力)和静态输入数据(地质模型、物性、P_c(S) 曲线等)建立油藏的初始静态平衡状态(初始化压力和饱和度场)。然后,在动态模拟阶段,利用动态原理(达西定律、质量守恒)和动态输入数据(K_r(S) 曲线、粘度、井条件等),计算流体在网格之间的流动,并根据流动结果,不断更新每个网格的压力和饱和度场,逐步推进模拟进程。饱和度场在整个过程中贯穿始终,既是初始状态的描述,也是连接各种岩石-流体关系(特别是通过相对渗透率和毛管压力),驱动动态流动的核心变量。

4.3 收集HiSim相关研发资料

 自主研发,填补空白,打造全系列一体化工业软件HiSim

HiSim®打造了一体化油藏数值模拟应用平台,集成数模模型建立、流体相态模拟、数值模拟运行、结果可视化分析、人机交互历史拟合、交互式井网部署及开发方案预测与方案优化等功能,为油气田开发提供了数值建模、数值模拟、动态分析及方案优化的一体化解决方案。

2024首届HiSim®软件设计大赛赛前培训圆满落幕

https://pubs.cstam.org.cn/data/article/em/preview/pdf/1000-4750(2008)10-0012-07.pdf

https://ir.pku.edu.cn/handle/20.500.11897/483950

并行计算基础知识

4.4 设计可视化方案

油藏数值模拟算例数据概览

概述  JD_Refined_BO3.dat  5KB

静态网格参数  JD_Refined_BO3_geom.bin  17713770KB

动态网格参数  JD_Refined_BO3_stu.bin  100381214KB

井筒数据  JD_Refined_BO3_wstu.out  23434KB

首先将油藏网格二进制格式Brick,通过c++转换成中间格式ply,然后使用开源软件Blender+python批量合成ply到glb格式。 最后再使用web技术实现模型的可视化,井筒数据的映射。

亿级网格处理

处理亿级以上的油藏网格模型,实现其三维可视化。

动静态属性展示

井的动、静态属性以三维图形的方式呈现,填充物理参数,如孔隙度与渗透率,描述储层岩石的性质。

数据交互能力

用户需能够与三维模型进行交互,选择特定网格。

网格模型尺寸范围(单位m):

XCOORD0 = 630752.507

YCOORD0 = 4338916.207

XCOORD=[33,7934],YCOORD=[-3941,1554],DEPTH=[1750,2845]

提取brick中的点集合,表征几何点云可视化,形成总体映像

静态网格数据读取,从上往下切片输出ply格式文件,在点集合中找到xy,xz, yz, -x-y, -x-z, -y-z6个平面最大点构成的格子数据,点集输出到txt文件,在拓扑数据处理阶段加载到内存,构成三维点数据,供拓扑点数据和拓扑数据的重新组合切片输出。切片工具使用c++ mfc框架编写。模型可视化基于网络浏览器实现。

PLY是一种用于存储三维模型的文件格式,全名为多边形档案(Polygon File Format),又称斯坦福三角形格式(Stanford Triangle Format)。以下是关于PLY格式的详细介绍:

基本特性

  • 存储内容‌:PLY格式主要用以储存立体扫描结果的三维数值,通过多边形片面的集合来描述三维物体。
  • 属性支持‌:它可以存储的信息包括顶点坐标、颜色、透明度、表面法向量、材质坐标、数据可信度等,并能对多边形的正反两面设定不同的属性。
  • 编码方式‌:在档案内容的储存上,PLY有两种版本,分别是纯文字(ASCII)版本与二元码(binary)版本,其差异在于储存时是否以ASCII编码表示元素信息。

文件结构

  • 档头(header)‌:每个PLY文件都包含档头,用以设定网格模型的“元素”与“属性”。档头中定义了文件中包含的元素类型(如顶点、面等)以及这些元素的属性(如坐标、颜色等)。
  • 数值资料‌:在档头下方接着的是一连串的元素“数值资料”,这些资料按照档头中定义的顺序和类型进行存储。

元素与属性定义

  • 元素‌:PLY文件中的元素可以是顶点(vertex)、面(face)等。
  • 属性‌:属性用于描述元素的特征,如顶点的坐标(x, y, z)、颜色(R, G, B)等。在PLY文件中,属性通过“property”关键字进行定义。

应用场景

PLY格式因其高效的存储方式和丰富的属性支持,在多个领域有着广泛的应用:

  • 3D扫描‌:用于存储和处理3D扫描设备获取的三维数据。
  • 3D打印‌:作为3D打印软件的输入格式之一,用于描述待打印物体的三维模型。
  • 游戏开发‌:在游戏开发中,PLY格式常用于存储游戏场景和角色的三维模型。
  • 动画制作‌:在动画制作中,PLY格式可用于存储动画角色的三维模型和动作数据。

4.5 总体流程设计

开发语言:c++、javascript

模型格式:ply、stl、glb/gltf、b3dm

应用框架:B/S架构、vue、threejs、chrome v131浏览器

glTF(GL Transmission Format)和GLB(GL Transmission Format Binary File)是两种用于存储和传输三维场景和模型的文件格式,它们都由Khronos Group定义和维护。以下是关于这两种格式的详细介绍:

glTF格式

  • 特点‌:

    • 可扩展性‌:glTF文件格式具有可扩展性,可以根据需要添加新的数据类型和属性信息,便于扩展和更新。
    • 压缩性‌:支持压缩算法,可以有效地减小文件大小,便于传输和存储。
    • 广泛的行业支持‌:许多知名的3D引擎和应用程序都支持glTF格式。
    • 快速高效‌:glTF文件通常比其他3D模型格式小且读取速度快。
    • 丰富的场景数据‌:除了存储模型和材料外,还能够存储动画数据、骨骼、蒙皮、场景层次结构以及灯光(通过扩展)。
  • 优点‌:

    • 作为开放标准,不受特定公司控制,可自由使用。
    • 文件结构清晰,易于解析和渲染。
  • 缺点‌:

    • 由于是基于JSON的,文件大小可能比某些二进制格式大。
    • 在某些特定应用程序或游戏中,可能需要进行额外的转换或调整。
    • 3D模型数据的存储格式较为简单,修改模型可能比较困难。

GLB格式

  • 特点‌:

    • 单一文件格式‌:将所有的模型数据(包括结构、几何、纹理等)打包到一个单一的文件中,更易于传输和加载。
    • 二进制格式‌:可以直接被GPU读取和处理,无需预处理,提高渲染效率。
    • glTF兼容‌:完全兼容glTF规范,支持所有glTF特性。
  • 优点‌:

    • 文件大小通常比glTF小33%,更适合网络传输。
    • 包含渲染3D模型所需的所有数据,非常适合在Web和移动应用程序中使用。
    • 广泛支持,被许多3D应用程序和游戏引擎所接受。
  • 缺点‌:

    • 由于是二进制格式,编辑和修改比较困难,需要专业工具。
    • 可扩展性受限,一旦文件生成后,修改和添加新元素可能较为困难。
    • 文件结构可能相对复杂,包含扩展内容块。

使用场景

  • glTF‌:主要用于游戏开发、虚拟现实和增强现实、建筑可视化以及工业设计等领域。其开放性和高效性使其成为这些领域中的理想选择。
  • GLB‌:作为glTF的二进制版本,GLB的使用场景与glTF相似。由于其文件大小更小且加载速度更快,特别适合在网页中高效加载和渲染3D模型。

3D Tiles是一种高效的三维城市和地理空间数据存储格式,以下是对其的详细介绍:

基本概念

3D Tiles,即三维瓦片,是由Cesium公司提出的一种针对大规模三维场景的优化格式。它主要用于存储和传输高效的3D模型数据,如建筑物、地形数据、点云数据以及3D城市模型等。通过瓦片化处理,3D Tiles能够显著提高大规模3D模型的加载和渲染效率。

核心特点

  1. 层级化数据组织‌:

    • 3D Tiles使用层级的方式组织数据,每个瓦片通常包含一定区域内的3D模型或数据。瓦片的大小与场景的复杂度、数据的尺度以及显示设备的性能密切相关。
  2. 按需加载‌:

    • 3D Tiles支持动态加载和卸载瓦片,根据视角和距离来调整细节层次(LOD),从而避免一次性加载大量数据带来的性能瓶颈。
  3. 支持多种几何类型‌:

    • 3D Tiles支持多种几何类型,包括点云、多边形、模型等,并且可以包含丰富的属性信息和层次细节(LOD)结构。
  4. 高效渲染‌:

    • 通过使用层级细节技术(LOD)和批处理技术,3D Tiles能够优化渲染性能,确保在不同设备和网络条件下的最佳显示效果。

结构与应用

  1. 结构‌:

    • 3D Tiles的文件通常包括三个主要部分:根文件(root tileset file)、瓦片文件(Tile files)和二进制数据(Binary data)。根文件是一个JSON文件,描述整个场景的瓦片集合及其层次结构;瓦片文件包含每个瓦片的具体数据;二进制数据则存储了3D模型的几何数据、纹理数据、属性等。
  2. 应用场景‌:

    • 3D城市建模‌:3D Tiles非常适合用于表示和管理大规模的城市模型,能够处理复杂的建筑物和基础设施数据。
    • 地理信息系统(GIS)‌:对于各种类型的地理空间数据,3D Tiles能够提供快速加载和高效显示。
    • 虚拟现实和增强现实‌:借助3D Tiles的优化特性,VR/AR应用能够流畅地呈现大规模的3D环境。

技术细节

  1. 瓦片集与瓦片‌:

    • 瓦片集(tileset)是一组按层次结构组织的瓦片(Tile)。瓦片集本身包含根瓦片,每个瓦片都可以有子瓦片。瓦片集和瓦片都以JSON描述。
  2. 边界体积‌:

    • 每个瓦片包含一个边界体积(bounding volume),用于封装瓦片的内容和所有子内容。边界体积可以是定向的bounding box、bounding sphere或者以最小和最大经度、纬度、高程定义的地理区域。
  3. 几何误差与细化策略‌:

    • 几何误差(geometric error)用于衡量瓦片中的内容相对于最高细节级别的简化程度。在运行时,几何误差用于计算屏幕空间误差(SSE),从而决定层次细节(LOD)的细化。细化策略包括添加操作(ADD)和替换操作(REPLACE)。

使用方式

在实际项目中,使用3D Tiles的常见步骤如下:

  1. 使用专门的工具(如TilesBuilder)来加载和处理3D Tiles数据。
  2. 根据实际需求设置LOD的切换逻辑,以确保性能和显示效果的平衡。
  3. 将3D Tiles集成到应用程序中,利用其高效渲染和交互特性来呈现大规模的三维场景。

4.6 项目总结

自赛题发布以来,大赛吸引了来自全国范围内 的32支队伍、共计71名选手报名参赛。其中, 21所高校与1家企业积极参与,展现了石油软 件技术的广泛影响力。在初赛阶段,经过激烈 地角逐与比拼,8个团队凭借出色的三维显示 和数据交互与技术创新成功晋级决赛。

第二届开放原子大赛石油软件赛项决赛在北京举办,推动了开源创新成果在传统油气领域的深度应用

石油行业的一场技术盛宴 —— 第二届开放原子大赛石油软件赛项决赛,在中国石油勘探开发研究院盛大举办!

开源赋能油气技术革新,第二届开放原子大赛石油软件专区赛决战在即_OpenAtom Operation-开放原子开发者工作坊
开源助推油气行业数字化转型,第二届开放原子大赛石油软件专区赛决赛成功举办-开放原子大赛

决赛路演阶段向院士专家汇报,与石油大学,清华大学,空气动力研究所同台竞技,C/S,B/S两路架构开阔眼界,绝对让你收获满满。

https://www.cardc.cn/nnw/engineering-introduction.aspx

树优超云 | UniXDE 智能仿真优化云平台 - 树优超云

VTK - The Visualization Toolkit

ParaView - Open-source, multi-platform data analysis and visualization application

WebGPU,下一代 Web 图形技术 - 邵嘉炜_哔哩哔哩_bilibili

W3ORG-chinese-web-gpu.pdf

这篇GPU学习笔记,详细整理了其工作原理、编程模型和架构设计

五、可视化结果

参见官网:

亿级以上网格油藏模型三维可视化-开放原子大赛

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/82762.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习方法讨论——正论科举精神的内核

世界不存在绝对的善,可以很善,但很难找到绝对的善,总带些副作用;世界上也不存在绝对的恶,可以很恶,但很难找到绝对的恶,可以尝试举例; 再者,物极必反,当对一个…

网络不再神秘:如何有效利用服务器网络流量探针进行监控?

目录 一、流量探针到底是个啥? 二、别只是“部署了”,关键在“用得好” 1. 做到“最小粒度”数据采集 2. 结合时间窗口,构建行为基线 3. 利用标签化管理,提升可读性 4. 把探针输出对接安全告警系统 三、那如何部署才合理&a…

uniapp(微信小程序)>关于父子组件的样式传递问题(自定义组件样式穿透)

在父组件中给子组件添加类名,子组件的样式由父组件决定 由于"微信小程序"存在【样式隔离机制】&#xff0c;且默认设置为isolated(启用样式隔离)&#xff0c;因此这里给出以下两种解决方案&#xff1a; // 小程序编译机制 1. 当 <style scoped> 存在时&#…

基于FastAPI框架的日志模块设计

以下是一个基于FastAPI框架设计的日志模块&#xff0c;结合SQLite数据库实现增删改查功能的完整实现方案&#xff1a; 1. 项目结构 your_project/ ├── app/ │ ├── logs/ # 日志模块目录 │ │ ├── models.py # 数据库模型定义 │ │ …

面试题:C++虚函数可以是内联函数吗?

目录 1.引言 2.示例 3.总结 1.引言 为什么C的虚函数和内联函数这两个看似矛盾的特性能否共存&#xff1f;这个问题实际上触及了C编译期优化与运行时多态性之间的微妙平衡。我发现这个问题不仅是面试中的常见陷阱&#xff0c;更是理解C深层机制很好的一个点。 虚函数可以被声…

用python清除PDF文件中的水印(Adobe Acrobat 无法删除)

学校老师发的资料&#xff0c;有时候会带水印&#xff0c;有点强迫症的都想给它去掉。用Adobe Acrobat试了下&#xff0c;检测不到水印&#xff0c;无法删除&#xff01;分析发现原来这类PDF文件是用word编辑的&#xff0c;其中的水印是加在了页眉中&#xff01; 自己动手想办法…

Oracle中自定义异常内置异常嵌套异常的捕获处理

一、异常类型分类 类型说明示例内置预定义异常Oracle已命名异常&#xff08;如NO_DATA_FOUND&#xff09;查询无数据时触发内置非预定义异常未命名的Oracle错误&#xff08;需用PRAGMA EXCEPTION_INIT关联&#xff09;ORA-02290&#xff08;违反检查约束&#xff09;自定义异常…

《Flutter社交应用暗黑奥秘:模式适配与色彩的艺术》

暗黑模式已从一种新奇的功能演变为用户体验中不可或缺的一环。对于Flutter开发者而言&#xff0c;如何在社交应用中完美实现暗黑模式适配与色彩对比度优化&#xff0c;是一场充满挑战与惊喜的技术探索之旅。 暗黑模式&#xff0c;绝非仅仅是将界面颜色反转这么简单。从用户体验…

【kubernetes】通过Sealos 命令行工具一键部署k8s集群

一、前言 1、sealos安装k8s集群官网&#xff1a;K8s > Quick-start > Deploy-kubernetes | Sealos Docs 2、本文安装的k8s版本为v1.28.9 3、以下是一些基本的安装要求&#xff1a; 每个集群节点应该有不同的主机名。主机名不要带下划线。所有节点的时间需要同步。需要…

视觉-语言-动作模型:概念、进展、应用与挑战(上)

25年5月来自 Cornell 大学、香港科大和希腊 U Peloponnese 的论文“Vision-Language-Action Models: Concepts, Progress, Applications and Challenges”。 视觉-语言-动作 (VLA) 模型标志着人工智能的变革性进步&#xff0c;旨在将感知、自然语言理解和具体动作统一在一个计…

Java笔记4

第一章 static关键字 2.1 概述 以前我们定义过如下类&#xff1a; public class Student {// 成员变量public String name;public char sex; // 男 女public int age;// 无参数构造方法public Student() {}// 有参数构造方法public Student(String a) {} }我们已经知道面向…

记一次redis未授权被种挖矿

#挖矿程序 /etc/httpgd /etc/nnt.sh #大小问 #定时任务名为root /var/spool/cron/root 内容&#xff1a;*/50 * * * * sh /etc/nnt.sh >/dev/null 2>&1 定时任务只有所有者可以写&#xff0c;且chmod修改权限失败。 #先查看定时任务的拓展属性&#xff0c;不可变(i…

Excel分组计算求和的两种实现方案

文章目录 背景样例数据方案一、函数求和实现步骤缺点 方案二、数据透视表实现步骤优点 背景 在Excel文档中&#xff0c;经常会进行数据的求和计算&#xff0c;可使用不同的方式实现&#xff0c;记录下来&#xff0c;方便备查。 样例数据 已有商品销量信息&#xff0c;包含销…

如何应对网站被爬虫和采集?综合防护策略与实用方案

在互联网时代&#xff0c;网站内容被恶意爬虫或采集工具窃取已成为常见问题。这不仅侵犯原创权益&#xff0c;还可能影响网站性能和SEO排名。以下是结合技术、策略与法律的综合解决方案&#xff0c;帮助网站构建有效防护体系。 一、技术防护&#xff1a;阻断爬虫的“技术防线”…

网卡网孔速率的协商是如何进行的?

网卡与交换机等网络设备之间的速率协商主要通过**自动协商&#xff08;Auto-Negotiation&#xff09;**机制实现&#xff0c;其核心是物理层&#xff08;PHY&#xff09;芯片之间的信息交互。以下是协商过程的详细解析&#xff1a; 一、自动协商的核心流程 1. 发送配置帧&am…

FastExcel 本地开发和Linux上上传Resource文件的差异性

不能直接通过路径来获取 这个是一个下载导出文件的操作 GetMapping(value "/export/all") public void exportAll(HttpServletResponse response, LaylineListReq req) throws IOException {// 从类路径下获取 Excel 文件资源ClassPathResource classPathResource…

【RAG】Milvus、Pinecone、PgVector向量数据库索引参数优化

Milvus 、PgVector 索引参数优化 IVF类索引关键参数&#xff08;基于聚类算法&#xff09; nlist (倒排列表数量): 决定将向量空间划分为多少个聚类中心值越大搜索越精确但耗时越长推荐值: 通常设置为数据量的4√n到n/1000之间例如: 1百万数据量可设nlist1000到4000 nprobe (搜…

5月12日信息差

一、国际政治与安全:俄乌冲突与中美博弈 1. 乌克兰战场信息分化 俄方战报: 俄罗斯国防部宣称在顿巴斯地区摧毁乌军12辆坦克及3套美制“海马斯”火箭系统,称乌军反攻受阻。 信息特点:强调装备摧毁数量,淡化前线实际控制变化。 乌方通报: 乌克兰总参谋部表示已夺回巴赫穆特…

Python如何使用进行风险管理和投资组合优化

文章目录 前言python3.13 环境配置风险管理投资组合优化 前言 在 Python 中&#xff0c;可以使用多个库来进行风险管理和投资组合优化&#xff0c;以下是一些常见的方法和库。 python3.13 环境配置 python3.13安装教程&#xff1a;https://blog.csdn.net/2501_91538706/artic…

C++ 状态模式详解

状态模式&#xff08;State Pattern&#xff09;是一种行为设计模式&#xff0c;它允许一个对象在内部状态改变时改变其行为&#xff0c;使对象看起来像是改变了其类。 核心概念 设计原则 状态模式遵循以下设计原则&#xff1a; 单一职责原则&#xff1a;将状态相关行为分离…