# OneScience **Repository Path**: onescience-ai/onescience ## Basic Information - **Project Name**: OneScience - **Description**: OneScience是基于先进的深度学习框架打造的科学计算工具包,旨在通过一系列高度集成的组件加速科学研究和技术开发进程。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 17 - **Forks**: 5 - **Created**: 2025-06-02 - **Last Updated**: 2026-04-23 ## Categories & Tags **Categories**: ai **Tags**: None ## README
#
OneScience
###
先进的科学智能(AI for Science)模型工具包
OneScience是基于先进的深度学习框架打造的科学计算工具包,旨在通过一系列高度集成的组件加速科学研究和技术开发进程。该工具包包括前沿的数据集、基础模型、预训练模型以及前后处理工具,支持地球科学(气象、海洋)、生命信息(蛋白质、基因)、计算流体、工业仿真以及材料化学等多个领域的研究。 这些模型包括个可续研究的多数领域,包括: - 地球科学 - 流体仿真 - 结构力学 - 生物信息 - 材料化学 除上述领域外,OneScience还包括了其它众多科研领域模型以及一些基础的科学数学组件。 项目中模型均在GPU和海光DCU平台上,完成测试验证。 ## 安装使用 ### 安装OneScience 本项目 DCU 显卡所需的torch、torchvision、apex、dgl库下载地址: ```shell cd onescience pip install -e . ``` 注:特殊依赖库需要与dtk版本对应。 ## 使用手册 如果你想快速了解OneScience的全部使用方法,可以参考我们的[使用手册](https://download2.sourcefind.cn:65024/9/main/onesicence)。 ## 在线试用 你可以直接在[超算互联网平台](https://www.scnet.cn/ui/mall/app)试用大多数模型,同时,我们在平台上还提供了各个领域模型所需要的丰富的[数据集](https://www.scnet.cn/ui/mall/search/goods?common1=DATA\&common2=DATA-330)。我们还为共有或者私有模型提供私有托管服务,欢迎交流合作。 以下是一些示例: ####
地球科学(AI for Earth Science)
集合了不同的气象场景,例如全球中期天气预报、短临降雨等,并且提供前沿的数据集、基础模型、预训练模型. | 问题类型 | 案例 | 数据集 | 模型架构 | | :-----: | :---------------------------------------: | :---------------------------------------------------------------------: | :------------: | | 降尺度 | [CorrDiff](examples/earth/corrdiff) | ERA5、HRRR | Unet、Diffusion | | 中期天气预报 | [FourCastNet](examples/earth/fourcastnet) | ERA5、TJWeather | AFNO | | 中期天气预报 | [GraphCast](examples/earth/graphcast) | ERA5、TJWeather | GNN | | 中期天气预报 | [Pangu](examples/earth/pangu_weather) | ERA5、TJWeather | 3DTransformer | | 短临降雨 | [NowCastNet](examples/earth/nowcastnet) | MRMS | GAN | | 中期天气预报 | [FengWu](examples/earth/fengwu) | ERA5、TJWeather | 3DTransformer | | 中长期天气预报 | [Fuxi](examples/earth/fuxi) | ERA5、TJWeather | 3DTransformer | | 中短期天气预报 | [Xihe](examples/earth/xihe) | CMEMS、TJWeather | 3DTransformer | | 短中期海洋预报 | [Oceancast](examples/earth/oceancast) | EMCMS海洋数据、Wave\_Height、Wave\_Period、Wave\_Direction、Wind\_U10、Wind\_V10 | AFNO | **数据集** | 数据集名称 | 简要描述 | |-----------|---------| | ERA5再分析数据集 | 全球高分辨率再分析数据,包含温度、风、湿度等,多气压层 | | TJWeather中科天机气象数据集 | **全球/中国区域高分辨率模拟数据,包括气温,风速,位势高度等160种气象要素** | | HRRR数据集 | 美国3km分辨率快速更新数据,用于降尺度训练 | | CWB台湾数据集 | 台湾地区雷达和卫星数据,用于短临预报 | | MRMS多雷达数据 | 高时空分辨率降水估计数据 | | EMCMS海洋数据 | 海浪、风速等海洋气象数据 | | CMEMS | 海温、海流、盐度等海洋环境数据 | | SyntheticWeather | 用于测试的合成天气数据 | ####
计算流体(AI for CFD)
| 问题类型 | 案例 | 数据集 | 模型架构 | | :-----------: | :-----------------------------------------------------------------: | :------------------------------: | :----------------: | | 汽车设计 | [Transolver-Car-Design](examples/cfd/Transolver-Car-Design) | Shape-Net Car | Transformer | | 翼型设计 | [Transolver-Airfoil-Design](examples/cfd/Transolver-Airfoil-Design) | AirfRANS | Transformer | | 圆柱绕流 | [MeshGraphNets](examples/cfd/vortex_shedding_mgn) | DeepMind旋涡脱落数据集 | GNN | | 任意 2D 几何体绕流 | [DeepCFD](examples/cfd/DeepCFD) | DeepCFD数据集 | U-Net | | 求解PDE的模型集 | [PDENNEval](examples/cfd/PDENNEval) | PDEBench、自生成PDE数据集 | 多种模型集合 | | 物理驱动求解PDE | [PINNsformer](examples/cfd/pinnsformer) | - | PINN | | 不可压流体 | [CFDBench](examples/cfd/CFDBench) | CFDBench数据集(顶盖驱动方腔流、管道流、坝流、圆柱扰流) | 多种模型集合 | | 复杂边界的椭圆偏微分方程 | [BENO](examples/cfd/beno) | 椭圆偏微分方程数据集 | Transformer,GNN | | 圆柱绕流 | [lagrangian\_mgn](examples/cfd/lagrangian_mgn) | DeepMind拉格朗日网格数据集 | GNN | | 流体模型Benckmark | [CFD\_Benchmark](examples/cfd/CFD_Benchmark) | 多种数据集 | 多种模型集合 | | 湍流 | [EagleMeshTransformer](examples/cfd/EagleMeshTransformer) | Eagle无人机数据集(110万个二维网格,600个不同场景) | Transformer | | 拓扑优化 | [GP\_for\_TO](examples/cfd/GP_for_TO) | - | Gaussian Processes | **数据集** | 数据集名称 | 简要描述 | |-----------|---------| | Shape-Net Car数据集 | 汽车几何数据,用于空气动力学优化 | | AirfRANS数据集 | 翼型流场仿真数据,用于翼型设计优化 | | DeepMind旋涡脱落数据集 | 圆柱绕流时序数据,用于GNN训练 | | DeepCFD数据集 | 管道流CFD解数据,包含速度和压力场 | | PDEBench数据集 | 多种PDE方程的大规模基准数据 | | 自生成PDE数据集 | 多类方程数值解数据,补充PDEBench | | CFDBench数据集 | 多经典流动问题,用于模型泛化评估 | | Eagle无人机数据集 | 大规模湍流数据,用于无人机气流预测 | | BENO数据集 | 复杂边界椭圆PDE数据集 | ####
生物信息(AI for Biology)
| 问题类型 | 案例 | 数据集 | 模型架构 | | :--------------: | :---------------------------------------------: | :------------------------------------------: | :---------------------------------: | | 蛋白质结构预测及设计 | [AlphaFold3](examples/biosciences/alphafold3) | mmseqsDB, AF3官方数据集, PDB, UniRef, BFD, MGnify | Pairformer, Diffusion等多种模型集合 | | 蛋白质结构预测及设计 | [Protenix](examples/biosciences/protenix) | Protenix官方数据集 | Transformer, Diffusion等多种模型集合 | | 蛋白质设计(骨架设计) | [RFdiffusion](examples/biosciences/RFdiffusion) | - | diffusion | | 蛋白质设计(骨架到序列设计) | [ProteinMPNN](examples/biosciences/ProteinMPNN) | - | MPNN | | 蛋白质设计及优化 | [PT-DiT](examples/biosciences/pt_dit) | - | Diffusion, Transformer | | 突变预测,外显子分类,基因必要性 | [Evo2](examples/biosciences/evo2) | OpenGenome2数据集(2.5TB) | StripedHyena2 | | 药物设计 | [MolSculptor](examples/biosciences/molsculptor) | - | Autoencoder,Latent Diffusion等多种模型集合 | **数据集详情** | 数据集名称 | 简要描述 | |-----------|---------| | AlphaFold3数据集 | 蛋白质及生物大分子结构数据 | | OpenGenome2数据集 | 大规模基因组序列数据 | | Protenix数据集 | 蛋白质-配体结构数据 | | RFdiffusion数据集 | 蛋白质骨架生成数据 | | ProteinMPNN数据集 | 蛋白质序列设计数据 | | ProteinDataset | 蛋白质数据集基类 | | GenomeDataset | 基因组数据集基类 | | MultimerDataset | 蛋白质多聚体数据 | | UnifiedDataset | 跨模态统一数据处理管道 | ####
材料化学(AI for Materials Chemistry)
| 问题类型 | 案例 | 数据集 | 模型架构 | | :---------------: | :--------------------------------------: | :--------------------------------------------------: | :---------------------------------: | | 通用原子尺度模拟 | [UMA](examples/MaterialsChemistry/UMA) | 多种第一性原理计算数据集的 大规模聚合(OC20,OMat24,OMol25,ODAC23,OMC25) | 等变图神经网络(GNN) | | 原子间势函数拟合 / 原子尺度模拟 | [MACE](examples/MaterialsChemistry/mace) | MPTrj, SPICE, OMat24 | E(3)-等变图神经网络 (E(3)-Equivariant GNN) | **数据集** | 数据集名称 | 简要描述 | |-----------|---------| | OC20数据集 | 催化剂吸附与反应数据(百万级DFT样本) | | OMat24数据集 | 无机材料DFT数据,用于性质预测 | | OMol25数据集 | 分子DFT数据,用于分子设计 | | ODAC23数据集 | 催化反应路径与过渡态数据 | | OMC25数据集 | 多组分材料DFT数据 | | MPTrj数据集 | 材料分子动力学轨迹数据 | | SPICE数据集 | 分子与蛋白高精度量子计算数据 | | AseAtomsDataset | ASE原子对象数据集基类 | | AseDBDataset | ASE数据库格式数据集 | | FairChemDataset | FairChem统一材料数据集接口 | ####
结构力学(AI for Structural)
| 问题类型 | 案例 | 数据集 | 模型架构 | | :-------: | :------------------------------------------------------------: | :-: | :--: | | 经典弹塑性力学问题 | [DEM\_for\_plasticity](examples/structural/DEM_for_plasticity) | - | PINN | | 2D平面应力问题 | [Plane\_Stress](examples/structural/Plane_Stress) | - | PINN | **数据集** | 数据集名称 | 简要描述 | |-----------|---------| | VortexShedding | 涡旋脱落流动数据 | | VortexSheddingRe300-1000 | 指定雷诺数范围的涡旋脱落数据 | | Stokes | Stokes流动数据 | | AhmedBody | 车身气动流动数据 | | DrivAerNet | 汽车空气动力学数据 | | Lagrangian | 粒子追踪数据 | | BistrideMultiLayerGraph | 多层图结构数据 | ### 快速开始 ```python >>> import torch >>> from onescience.models.unet import UNet >>> inputs = torch.randn(1, 1, 96, 96, 96).cuda() >>> print("The shape of inputs: ", inputs.shape) >>> model = UNet( in_channels=1, out_channels=1, model_depth=5, feature_map_channels=[64, 64, 128, 128, 256, 256, 512, 512, 1024, 1024], num_conv_blocks=2, ).cuda() >>> x = model(inputs) >>> print("model: ", model) >>> print("The shape of output: ", x.shape) ``` ## 支持与建议 如使用过程中遇到问题或想提出开发建议,可直接在超算互联网平台反馈,或者在Issue页面新建issue. ## License 本项目 Onescience 遵循 [Apache License 2.0](LICENSE) 许可. ### 第三方软件 本项目还使用了以下开源软件: - [NVIDIA NeMo](https://github.com/NVIDIA/NeMo), 遵循 [Apache License 2.0](licenses/NeMo_LICENSE). 有关第三方软件归属的详细信息,请参阅[NOTICE](NOTICE)文件. ## 🌐 加入我们的社区 我们欢迎你加入 OneScience 微信社区 —— 这里汇聚了研究人员、工程师和爱好者,共同分享见解、交流合作. - 📱 **微信社区交流群:** 微信扫描管理员微信进群