PaddleScience icon indicating copy to clipboard operation
PaddleScience copied to clipboard

钙钛矿太阳能电池人工神经网络ppsci实现

Open ZcwDev opened this issue 11 months ago • 6 comments

PR types

New features

PR changes

  1. Add perovskite solar cells neural network model (psc_nn.py)
  2. Add configuration file for the model (psc_nn.yaml)
  3. Implement hyperparameter optimization using Optuna
  4. Add evaluation and visualization functionality

Describe

This PR implements a neural network model for predicting the short-circuit current density (Jsc) of perovskite solar cells. Key features include:

  1. Model Architecture:

    • Multi-layer perceptron (MLP) with configurable layers and units
    • Hyperparameter optimization using Optuna
    • Support for multiple optimizers (Adam, RMSProp, SGD)
  2. Training Features:

    • Weighted MSE loss function
    • Learning rate scheduling with warmup
    • Evaluation during training
    • Model checkpointing
  3. Evaluation:

    • Multiple metrics (RMSE, R2, MAPE)
    • Results visualization
    • Model validation
  4. Configuration:

    • YAML-based configuration
    • Flexible hyperparameter settings
    • Separate train/eval modes

ZcwDev avatar Dec 30 '24 16:12 ZcwDev

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

:white_check_mark: ZcwDev
:x: 张成威


张成威 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

CLAassistant avatar Dec 30 '24 16:12 CLAassistant

@ZhangPassion pre-commit运行时需要指定--files为你的修改文件examples/perovskite_solar_cells,否则jointContribution文件夹下也会受到影响,可以通过git checkout develop jointContribution还原这个文件夹的改动。

image

HydrogenSulfate avatar Jan 02 '25 07:01 HydrogenSulfate

@ZhangPassion 完善一下PR描述, image

HydrogenSulfate avatar Jan 02 '25 07:01 HydrogenSulfate

Thanks for your contribution!

paddle-bot[bot] avatar Jan 06 '25 06:01 paddle-bot[bot]

提交的代码对与本项目无关的代码看起来有所改动,另外没有找到相关的requirement文件,辛苦整理一下代码,也提供一下可用于模型训练的数据集

leeleolay avatar Mar 12 '25 06:03 leeleolay

提交的代码对与本项目无关的代码看起来有所改动,另外没有找到相关的requirement文件,辛苦整理一下代码,也提供一下可用于模型训练的数据集

数据集: 通过网盘分享的文件:data.zip 链接: https://pan.baidu.com/s/17Cob37nbYVUvDbVxxznhHg?pwd=g8ip 提取码: g8ip --来自百度网盘超级会员v4的分享

ZcwDev avatar Mar 23 '25 12:03 ZcwDev

image 文档加载过程中有个warning,辛苦检查一下路径

leeleolay avatar Apr 17 '25 03:04 leeleolay

截屏2025-04-17 11 44 45 这里的案例名称建议修改为和文档一致的名称,比如psc_nn

leeleolay avatar Apr 17 '25 03:04 leeleolay

image 文档这里的代码显示有点问题

leeleolay avatar Apr 17 '25 03:04 leeleolay

同上 image

leeleolay avatar Apr 17 '25 03:04 leeleolay

文档里的requirements.txt是Conda 环境导出文件,建议修改为pip的,另外里面只需保留必要的安装依赖项即可,项目看起来用到了optuna,但是安装依赖的文档里没有囊括进来。代码运行训练时,config里只设置了10个epoch,但是程序运行时会迭代重复循环,辛苦检查一下代码逻辑。

leeleolay avatar Apr 17 '25 04:04 leeleolay

image 评估模型也出错了,辛苦检查一下错误

leeleolay avatar Apr 17 '25 04:04 leeleolay

image 评估模型也出错了,辛苦检查一下错误 1745317665892 我的运行没问题呀

ZcwDev avatar Apr 22 '25 10:04 ZcwDev

提交的代码有合入冲突,辛苦解决一下吧。 不能强制推送,需要手动解决每个冲突

leeleolay avatar May 08 '25 08:05 leeleolay

image 模型评估命令运行有问题。模型训练命令,模型会反复运行,停止不了,检查一下运行逻辑。

leeleolay avatar May 21 '25 05:05 leeleolay

image requirements这里面的paddle版本的制定,我测试是cpu也可以的,是否一定限制gpu的3.0.0的版本哈,可以考虑注释掉这行或者再修改

leeleolay avatar May 21 '25 05:05 leeleolay

https://paddle-org.bj.bcebos.com/paddlescience%2Fdatasets%2Fpsc%2Fdata.zip 可以在文档中添加数据集的下载链接,方便用户使用

leeleolay avatar May 21 '25 05:05 leeleolay

image 模型评估命令运行有问题。模型训练命令,模型会反复运行,停止不了,检查一下运行逻辑。

image 我用GPU运行的很快,你cpu可能要多等一会,就出结果了,验证的参数我换了一个,现在应该可以了(之前忘记换了)

ZcwDev avatar Jun 02 '25 15:06 ZcwDev

要是能运行的话,帮我之前参数的下载路径也换成最新的吧谢谢

ZcwDev avatar Jun 02 '25 15:06 ZcwDev

image 模型评估命令运行有问题。模型训练命令,模型会反复运行,停止不了,检查一下运行逻辑。

image 我用GPU运行的很快,你cpu可能要多等一会,就出结果了,验证的参数我换了一个,现在应该可以了(之前忘记换了)

是训练命令,不是评估命令。训练的时候,任务不会自动终止,反复迭代的。和CPU没有关系。CPU是指在requirements中可以修改一下,原先的指定了gpu

leeleolay avatar Jun 04 '25 09:06 leeleolay

要是能运行的话,帮我之前参数的下载路径也换成最新的吧谢谢

这个辛苦你这边修改一下吧,数据的链接可以在文档的前面标记一下链接。

leeleolay avatar Jun 04 '25 09:06 leeleolay

image 模型评估命令运行有问题。模型训练命令,模型会反复运行,停止不了,检查一下运行逻辑。

image 我用GPU运行的很快,你cpu可能要多等一会,就出结果了,验证的参数我换了一个,现在应该可以了(之前忘记换了)

是训练命令,不是评估命令。训练的时候,任务不会自动终止,反复迭代的。和CPU没有关系。CPU是指在requirements中可以修改一下,原先的指定了gpu

图片上的就是我的训练完成结果,确实是停止了啊

ZcwDev avatar Jun 06 '25 08:06 ZcwDev

辛苦贴一下训练的log文件

leeleolay avatar Jun 26 '25 03:06 leeleolay

评估命令,指定路径在实际运行时报错,这个链接我测试是可以下载的,辛苦再检查一下吧 image

(或使用远程预训练模型 python psc_nn.py mode=eval eval.pretrained_model_path="https://paddle-org.bj.bcebos.com/paddlescience/models/PerovskiteSolarCells/solar_cell_pretrained.pdparams")

leeleolay avatar Jun 26 '25 03:06 leeleolay

评估命令,指定路径在实际运行时报错,这个链接我测试是可以下载的,辛苦再检查一下吧 image

(或使用远程预训练模型 python psc_nn.py mode=eval eval.pretrained_model_path="https://paddle-org.bj.bcebos.com/paddlescience/models/PerovskiteSolarCells/solar_cell_pretrained.pdparams")

评估的参数已经被我换了,那个文件就是最新文件,链接是老文件的url,上次就麻烦您帮我换成最新的文件

ZcwDev avatar Jul 08 '25 07:07 ZcwDev

评估命令,指定路径在实际运行时报错,这个链接我测试是可以下载的,辛苦再检查一下吧 image (或使用远程预训练模型 python psc_nn.py mode=eval eval.pretrained_model_path="https://paddle-org.bj.bcebos.com/paddlescience/models/PerovskiteSolarCells/solar_cell_pretrained.pdparams")

评估的参数已经被我换了,那个文件就是最新文件,链接是老文件的url,上次就麻烦您帮我换成最新的文件

最新的文件是哪个

leeleolay avatar Jul 10 '25 03:07 leeleolay

评估命令,指定路径在实际运行时报错,这个链接我测试是可以下载的,辛苦再检查一下吧 image (或使用远程预训练模型 python psc_nn.py mode=eval eval.pretrained_model_path="https://paddle-org.bj.bcebos.com/paddlescience/models/PerovskiteSolarCells/solar_cell_pretrained.pdparams")

评估的参数已经被我换了,那个文件就是最新文件,链接是老文件的url,上次就麻烦您帮我换成最新的文件

最新的文件是哪个

examples/perovskite_solar_cells/solar_cell_pretrained.pdparams这一个

ZcwDev avatar Jul 16 '25 02:07 ZcwDev

https://paddle-org.bj.bcebos.com/paddlescience/models/PerovskiteSolarCells/solar_cell_pretrained.pdparams 权重已经更新链接,可参考这个。提交的代码请不要放模型权重

leeleolay avatar Jul 21 '25 02:07 leeleolay

评估命令辛苦再检查一下是否能正确运行吧,我这里测试跑不起来,可以看下大小写等等之类的问题

leeleolay avatar Jul 21 '25 02:07 leeleolay

评估命令辛苦再检查一下是否能正确运行吧,我这里测试跑不起来,可以看下大小写等等之类的问题

请问具体报错是啥呢,我这里可以跑起来

ZcwDev avatar Aug 01 '25 02:08 ZcwDev