该项目是《Problem-independent machine learning (PIML)-based topology optimization—A universal approach》的python复现
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
郑敬润 a2138aa6a0 Update JupyterNB for Visualization 1 year ago
checkpoints first commit 1 year ago
datasets first commit 1 year ago
models first commit 1 year ago
utils first commit 1 year ago
.gitignore first commit 1 year ago
README.md first commit 1 year ago
my-FEA-net.ipynb Update JupyterNB for Visualization 1 year ago
requirements.txt first commit 1 year ago
test.ipynb Update JupyterNB for Visualization 1 year ago
test.py first commit 1 year ago
topopt-88.py add topopt88 1 year ago
train.py first commit 1 year ago

README.md

该项目是《Problem-independent machine learning (PIML)-based topology optimization—A universal approach》机器学习网络部分的复现

环境依赖

PyTorch 2.1.0 CUDA 12.1 Ubuntu 20.04 (没有用到新特性,所以应该对旧版本兼容)

# matplotlib==3.8.0
# numpy==1.26.2
# scikit_learn==1.3.0
# torch==2.1.0
pip install -r requirements.txt

Usage

TODO: 用argparse模块管理网络参数

Train

python train.py

编辑 train.pydata_mod 变量选择数据

Test

python test.py

编辑 test.pydataload_modpretrained_mod 变量选择加载数据和预训练模型

数据集

通过经典二维拓扑优化代码生成的三组形变、密度数据

mod1:

mod2:

mod3:

项目结构

.
├── checkpoints
│   ├── ...
├── datasets
│   ├── ...
├── models
│   ├── ANN.py
│   ├── AutoEncoder.py
│   └── CNN.py
├── README.md
├── requirements.txt
├── test.py
├── train.py
└── utils
    ├── data_loader.py
    └── data_standardizer.py