如何在本地部署现有气象大模型

今年涌现了诸如Pangu、Fuxi、Fengwu、GraphCast、FourCastNet等诸多气象大模型,本文介绍如何用EC开发的ai-models在本地部署以上模型。

本文测试环境系统为:

Ubuntu 18.04.6 LTS + Anaconda 3 + Cuda 11.8 + libcudnn 8

1、创建并启动虚拟环境

conda create -n large python=3.10source activate large

2、按照https://github.com/ecmwf-lab/ai-models安装所需库

pip install ai-models

3、添加EC封装好的各种大模型,目前支持的包括GraphCast、FourCastNet、Pangu等,直接pip安装即可

pip install ai-models-panguweatherpip install ai-models-fourcastnetpip install ai-models-graphcast  # Install details at https://github.com/ecmwf-lab/ai-models-graphcastpip install ai-models-fourcastnetv2

注:如果GraphCast用pip一键安装不成功(大概率是),可以按照https://github.com/ecmwf-lab/ai-models-graphcast提到的方式,首先安装jax,再手动安装GraphCast

pip install -r requirements-gpu.txt -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

4、添加Fuxi大模型,当前ai-models支持Fuxi,但貌似还不支持pip一键安装,可以按如下方式手动添加

git clone https://github.com/tpys/ai-models-fuxi.gitcd ai-models-fuxipython setup.py install

5、添加Fengwu大模型,Fengwu目前还未对ai-models做适配,这个需要手动添加。可以按照EC或Fuxi的风格修改一下,也可以直接从如下链接下载编译好的whl文件

链接: https://pan.baidu.com/s/1WCwJ4ptLXHeNHHO3xw_L4A?pwd=tzyu 提取码: tzyu 复制这段内容后打开百度网盘手机App,操作更方便哦链接: https://pan.baidu.com/s/1sOFN501Q-pKbUBiowZU0Ng?pwd=tzyu 提取码: tzyu 复制这段内容后打开百度网盘手机App,操作更方便哦

下载好whl后,直接pip 安装即可

pip install ai_models_fengwu-0.0.1-py3-none-any.whlpip install ai_models_fengwuv2-0.0.1-py3-none-any.whl

上述两个whl分别对应Fengwu模型中提到的without Transfer和with Transfer

6、至此,ai-models支持的大模型全部安装完成,可以通过如下命令查看是否安装成功

ai-models --models

如全部安装成功,则出现如下结果

如有未安装成功的(即未显示的,考虑重新安装一下)

7、关于预训练模型,ai-models对FourCastNet、GraphCast、Pangu、Fuxi均支持自动下载,按如下方式即可

ai-models --download-assets <model_name>

model_name即上图里的

fourcastnetfourcastnetv2-smallfuxigraphcastpanguweather

也可以从各家大模型在github公开的链接手动下载,如Fuxi,以下链接可以下载

https://github.com/tpys/ai-models-fuxi

而对Fengwu,目前需要手动下载,下载链接

https://github.com/OpenEarthLab/FengWu

8、接入输入数据。目前测试了通过CDS访问ERA5的方式,具体来说,首先到如下链接注册账号,

https://cds.climate.copernicus.eu/

然后点击自己的用户名,找到如下

在本地用户根目录下创建文件.cdsapirc,将

url: https://cds.climate.copernicus.eu/api/v2key: 对应的API Key

添加并保存即可。

9、如何运行?如采用上述步骤8提到的CDS数据输入,按如下方式运行即可

ai-models --input cds --date 20230110 --time 0000 fuxi --assets fuxi

其中,input指定了数据输入方式为CDS,程序会自动下载date和time指定时次的文件,并保存至本地。fuxi即模型名,也可替换为上述步骤6提到的任意模型,assets为下载预训练模型对应的目录。

其他如指定输入文件的运行方式待后续更新。

默认做未来10天240小时逐6小时的预报,如无需太多预报时次,可通过lead_time参数传递指定,更多参数可通过ai-models --help命令获取。

10、效果如何?见下图

单从模型结构的角度看,个人还是特别喜欢GraphCast的设计。

11、关于安装过程可能遇到的问题:

1、pangu、fuxi、fengwu等模型无法调用gpu解决方案:注意看提示的问题,一般是cuda、libcudnn版本不对应,按本文开始提到的环境配置亲测可用。此外,如采用CPU,单模型运行时间一般为8小时左右不等,采用单卡GPU,一般不超过5分钟。2、GraphCast提示ptx问题解决方案:也是版本问题3、单模型运行一般占用10G左右的显存,对pangu,因为有6和24两个模型,可能无法实现单卡运行解决方案:用空间换算力,将6和24两个模型分别指定至两个GPU,需要修改源码,找到~/anaconda3/envs/large/lib/python3.10/site-packages/ai-models-panguweather/model.py文件,第81、88行,分别增加 ort_session_*.set_providers(['CUDAExecutionProvider'],  provider_options=[{'device_id': *}])4、其他问题?欢迎交流!如有不当之处,欢迎指正!
### 回答1: 将模型上传到Google Earth Engine (GEE) 并使用的步骤如下: 1. 准备数据:首先,您需要准备您的模型所需的数据。数据可以来自不同的来源,包括卫星图像、气象数据等。确保您的数据已经导入到GEE的数据目录中。 2. 创建模型:使用合适的编程语言(例如JavaScript)创建您的模型。模型可以是机器学习模型、地理空间分析模型或其他类型的模型。 3. 上传模型:将您的模型上传到GEE的代码编辑器中。您可以使用GEE提供的API来上传模型,例如`ee.Model.fromAsset()`函数。 4. 部署模型:在上传模型后,您可以选择将其部署为一个可调用的函数,以便在GEE中使用。部署模型的方法取决于您使用的编程语言和模型类型。例如,如果您使用JavaScript开发,您可以使用GEE的`ee.Function()`函数来将模型部署为函数。 5. 在GEE中使用模型:一旦您的模型成功部署,您可以在GEE的代码编辑器中使用它。通过调用模型函数并传入输入参数,可以对数据进行分析、预测或其他操作。 需要注意的是,GEE是一个强大的地理空间分析平台,因此在将模型上传到GEE之前,您可能需要熟悉GEE的API和编程语言(例如JavaScript)的使用。如果您之前没有使用过GEE,建议先学习相关的文档和示例,以便更好地理解和使用GEE的功能。 ### 回答2: 要将模型上传到Google Earth Engine并使用,您需要按照以下步骤进行操作: 1. 创建Google Earth Engine账户:首先,您需要创建一个Google Earth Engine的账户。您可以使用现有的Google账户登录或创建一个新的账户。 2. 安装Earth Engine Python API:您需要在本地计算机上安装Google Earth Engine的Python API。可以在Google Earth Engine官方文档中找到安装指南。 3. 编写Python脚本:根据您的模型需求,编写一个Python脚本,可以使用Earth Engine Python API库来访问和处理遥感数据。 4. 将模型上传到Earth Engine:在Python脚本中,您可以使用Earth Engine Python API上传模型。首先,您需要将模型以适当的格式保存到本地计算机。然后,使用API提供的方法将模型上传到Earth Engine服务器。 5. 使用模型:一旦模型成功上传到Earth Engine,您就可以在Earth Engine的平台上使用它了。您可以使用Python脚本中的Earth Engine Python API代码,连接到模型并使用它来处理和分析遥感数据。 总之,要将模型上传到Google Earth Engine并使用,您需要创建一个Earth Engine账户,安装Earth Engine Python API,编写Python脚本,将模型上传到Earth Engine服务器,并使用Earth Engine Python API来连接和使用模型。这样,您就可以在Earth Engine的平台上进行遥感数据处理和分析了。 ### 回答3: 要将模型上传到Google Earth Engine并使用,需要按照以下步骤进行操作: 1. 创建Google Earth Engine账号:首先,在Google Earth Engine网站上创建一个账号。如果没有账号,需要申请并等待Google审核通过。 2. 安装Earth Engine Python API:在本地计算机上安装Earth Engine Python API。可以使用pip工具来安装,在终端中运行以下命令:pip install earthengine-api 3. 创建一个Earth Engine脚本:使用Python编写一个Earth Engine脚本,在该脚本中定义模型的输入和输出。可以使用Earth Engine提供的算法和数据集,也可以自己上传和使用数据集。 4. 将脚本上传到Earth Engine代码编辑器:将编写的脚本上传到Earth Engine代码编辑器中。在代码编辑器中,可以编辑和运行脚本,并查看结果。 5. 运行模型脚本:在代码编辑器中,运行模型脚本以上传模型到Earth Engine。脚本将发送请求给Earth Engine服务器,服务器将运行脚本并生成结果。 6. 使用结果:脚本运行完成后,可以使用Earth Engine提供的工具来查看和分析结果。可以在Google Earth Engine平台上使用可视化工具来显示生成的结果,并进行进一步的分析和处理。 总之,要将模型上传到Google Earth Engine并使用,需要创建账号,安装Python API,编写脚本,上传到代码编辑器,运行脚本,然后使用Earth Engine提供的工具来查看和分析结果。
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值