Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【Hackathon 7th PPSCI No.3】NO.3 DrivAerNet++ 论文复现 #1048

Closed
wants to merge 0 commits into from

Conversation

LilaKen
Copy link
Contributor

@LilaKen LilaKen commented Dec 18, 2024

PR types

Others

PR changes

APIs、Docs

Describe

本PR的目标是复现RegPointNet网络,将DrivAerNet++处理成ppsci版API,并且加入对应的文档说明。

论文信息

年份 会议 作者 引用数 论文PDF
2024 Conference and Workshop on Neural Information Processing Systems (NeurIPS) Mohamed Elrefaie, Florin Morar, Angela Dai, Faez Ahmed 4 DrivAerNet++: A Large-Scale Multimodal Car Dataset with Computational Fluid Dynamics Simulations and Deep Learning Benchmarks

现结果

预训练模型 神经网络 指标
DragPrediction_DrivAerNet_PointNet_r2_batchsize16_200epochs_100kpoints_tsne_NeurIPS_best_model.pdparams RegPointNet $R^2: 92%$

Copy link

paddle-bot bot commented Dec 18, 2024

Thanks for your contribution!

@wangguan1995
Copy link
Contributor

wangguan1995 commented Dec 19, 2024

需要进一步完成数据集的下载工作:https://dataverse.harvard.edu/dataverse/DrivAerNet
开发者你好,感谢你的参与!由于你的黑客松赛题完成度较高,其PR已被锁定,请尽快完善锁定的PR,并确保在2025年1月3日前完成合入。逾期未合入PR将无法获得奖金发放。

Copy link
Contributor

@wangguan1995 wangguan1995 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to fix

@@ -16,6 +16,10 @@

import copy

from ppsci.arch.regdgcnn import RegDGCNN
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里报错

@luotao1
Copy link
Collaborator

luotao1 commented Jan 3, 2025

📢:请尽快完善锁定的PR,并确保在2025年1月10日(不再延期)前完成合入。逾期未合入PR将无法获得奖金发放。

Copy link
Contributor

@wangguan1995 wangguan1995 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need fix

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

请删掉

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

用这个替代图片上传,其他图片同理,都已经放在这个路径下了,只需要修改fig4.jpg名称即可

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

文件夹删除

plotter.add_axes()
plotter.show()

def visualize_point_cloud(self, idx):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

此函数没有用到,还额外引入了trimesh

@@ -0,0 +1,2 @@
pyvista==0.43.3
trimesh==4.0.8
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这两个库想想办法尽量去掉,可以使用meshio(这个库不需要用户进行额外安装)
文件删掉

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RegDGCNN是另一篇论文提出的,不要放在这个PR,不利于问题追溯

@@ -0,0 +1,494 @@
import logging
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

paddle copyright没加

PointNet-based regression model for 3D point cloud data.

Args:
args (dict): Configuration parameters including 'emb_dims' for embedding dimensions and 'dropout' rate.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

类初始化,注释不全

# limitations under the License.

from __future__ import annotations

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

多余空格去掉

# limitations under the License.

from __future__ import annotations

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

同上

# Calculate R^2 score
r2score = 1 - (
rss / (tss + 1e-8)
) # Add small epsilon to avoid division by zero
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个建议直接assert,如果tss很小反正也算不对

Copy link
Contributor

@wangguan1995 wangguan1995 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To fix

|年份 | 会议 | 作者|引用数 | 论文PDF |
|-----|-----|-----|---|-----|
|2024| Conference and Workshop on Neural Information Processing Systems |Mohamed Elrefaie, Florin Morar, Angela Dai, Faez Ahmed|4|DrivAerNet++: A Large-Scale Multimodal Car Dataset with Computational Fluid Dynamics Simulations and Deep Learning Benchmarks|

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

缺少复现指标


**基准几何体生成:**在汽车空气动力学中,根据汽车后端[ 33、34 ]处的气流形态,通常将生产汽车分为三大类:后备箱型、快背型和凹槽型汽车。为了确保本研究的数据集涵盖了大多数传统汽车设计的整个设计空间,本研究基于DrivAer模型[ 47 ]创建了具有不同设计的多个参数化模型。这包括不同的后部构型- -快背、后掠和凹口- -导致不同的尾流结构和流场形态。此外,本研究还改变了车轮,包括开放和封闭的设计,以及平滑和详细的选项。对于汽车底座,本研究既包括典型的ICE汽车的详细底座,也包括适用于电动汽车(见图2)的平滑底座。通过探索各种后部、车轮和下车体构型,本研究旨在提供对其气动影响的全面理解,从而支持开发更鲁棒和可泛化的深度学习模型。对于参数化模型的创建,本研究利用商业软件ANSA ®定义了26个几何参数,允许本研究对这些参数化模型进行变形,从而得到一个大规模的3D汽车数据集。本研究的目标是开发一个过程生成器,以创建拓扑有效的汽车设计,确保每个设计都满足CFD求解器评估的必要要求和汽车设计师的可用性。

![fig2](G:\desktop\PaddleScience\docs\zh\examples\drivaernetplusplus\fig2.jpg)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

图片路径记得更换为链接地址


**高分辨率3D行业标准设计:**本研究的设计策划包括选择有效的汽车配置,然后进行详细的CFD模拟,以评估空气动力学性能。本研究的目标是创建一个平衡的数据集,包含各种各样的汽车设计,确保覆盖不同的空气动力学性能指标和美学考虑。图3展示了用于生成DrivAerNet + +数据集的设计参数子集。通过为每个参数定义一个下界和上界,并对基准参数模型进行变形,本研究确保了适合工程应用和模拟的全面和定义良好的表示。本研究的设计方法是多样性保持的,确保优化不会导致过于相似的设计。为了实现这一点,本研究采用了最优拉丁超立方采样进行实验设计( DoE )。具体来说,本研究采用增强型随机进化算法( ESE ) [ 17 ]来保证设计空间的高效采样。使用这些步骤,DrivAerNet + +的多样性明显高于DrivAerNet [ 22 ]。

![fig3](G:\desktop\PaddleScience\docs\zh\examples\drivaernetplusplus\fig3.jpg)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1


图4显示了不同设计构型和类别之间气动性能的比较分析,突出了本研究数据集的多样性和规模。

![fig4](G:\desktop\PaddleScience\docs\zh\examples\drivaernetplusplus\fig4.jpg)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1


为了标准化参数研究,本研究关注26个参数,而不是50个参数,因为DrivAerNet [ 22 ]的50个几何参数模型仅基于一个汽车类别,特别是带有详细底座和开放车轮的快背车。结果如图5所示,AutoGluon在单个快背类别上表现较好,而LightGBM在组合数据集上表现较好。尽管如此,所有模型在组合数据集上的性能都有所下降。一个有意义的发现是,对于所有的模型,无论是单个类别还是组合类别,扩大数据集的大小都会带来性能的提升。例如,通过将训练集大小从640增加到3200,XGBoost的R2值从大约0.35增加到0.55。

![fig5](G:\desktop\PaddleScience\docs\zh\examples\drivaernetplusplus\fig5.jpg)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1


在这里,本研究测试了在PyTorch [ 49 ]和PyTorch Geometric [ 25 ]中实现的不同几何深度学习模型(点网络、GCNN 、RegDGCNN ),用于气动阻力的代理模型建模任务,突出了数据集多样性和缩放的重要性。具体来说,本研究使用不同的表示来训练模型,包括基于图的模型和基于点云的模型。与以往研究[ 37、20、43、6]不同的是,在一个汽车设计(快车)上训练模型,在另一个实验中,在所有设计(有长坡度车顶的汽车、客货两用汽车和Estateback)上训练模型。首先,本研究在DrivAerNet数据集[ 22 ]上训练深度学习模型,该数据集包括带有详细底座、开轮和镜子的快背板的变体。该数据集包含4,000个汽车设计( 2800个用于训练,大约600个用于验证, 600个用于测试),结果如表2所示。然后,在DrivAerNet + +数据集上训练和测试相同的模型,该数据集包含8,000个(有长坡度车顶的汽车、带后背、客货两用汽车、流畅细致的底座、不同的车轮配置)广泛变化的汽车设计,分为5,600个用于训练,1,200个用于验证,1,200个用于测试,结果如表3所示。

![table2](G:\desktop\PaddleScience\docs\zh\examples\drivaernetplusplus\table2.jpg)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1


表2:在包含600个汽车设计的DrivAerNet [ 22 ]数据集(采用开轮、带反射镜和详细的底架结构的快背式设计)的测试集上对用于气动阻力预测的深度学习模型进行对比分析。

![table3](G:\desktop\PaddleScience\docs\zh\examples\drivaernetplusplus\table3.jpg)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1


![table3](G:\desktop\PaddleScience\docs\zh\examples\drivaernetplusplus\table3.jpg)

表3:深度学习模型在DrivAerNet + + ( All car )包含1200款汽车设计的测试集上进行气动阻力预测的对比分析。
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1


```

## 4. 完整代码
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

此处可以参考其他md文档文件,直接应用py文件的内容到md内部

@wangguan1995
Copy link
Contributor

修改文档bug + AIStudio更新跑通加精

Copy link
Collaborator

@HydrogenSulfate HydrogenSulfate left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

问题同另一个DriveAerNet PR

Comment on lines 39 to 40


Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

连续空行保留一个

@LilaKen LilaKen closed this Jan 12, 2025
@LilaKen LilaKen deleted the DrivAerNet++ branch January 12, 2025 15:07
@LilaKen LilaKen restored the DrivAerNet++ branch January 12, 2025 15:08
@LilaKen LilaKen deleted the DrivAerNet++ branch January 12, 2025 15:09
@LilaKen LilaKen restored the DrivAerNet++ branch January 12, 2025 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants