> 该项目是《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.py` 内 `data_mod` 变量选择数据 ### Test `python test.py` > 编辑 `test.py` 内 `dataload_mod` 和 `pretrained_mod` 变量选择加载数据和预训练模型 ## 数据集 > 通过经典二维拓扑优化代码生成的三组形变、密度数据 mod1: ![](datasets/top88_mod1_img_180_60.jpg) mod2: ![](datasets/top88_mod2_img_180_60.jpg) mod3: ![](datasets/top88_mod3_img_180_60.jpg) ## 项目结构 ``` . ├── checkpoints │ ├── ... ├── datasets │ ├── ... ├── models │ ├── ANN.py │ ├── AutoEncoder.py │ └── CNN.py ├── README.md ├── requirements.txt ├── test.py ├── train.py └── utils ├── data_loader.py └── data_standardizer.py ```