Neural Networks for Topology Optimization
This is the code for the paper I. Sosnovik, I. Oseledets "Neural Networks for Topology Optimization". [link][pdf]
In this research, we propose a deep learning based approach for speeding up the topology optimization methods. The problem we seek to solve is the layout problem. The main novelty of this work is to state the problem as an image segmentation task. We leverage the power of deep learning methods as the efficient pixel-wise image labeling technique to perform the topology optimization. We introduce the convolutional encoder-decoder architecture and the overall approach of solving the above-described problem with high performance.
Preparations
We use TOP dataset to train the model.
In order to work with dataset easier, we aggregate the files into one .h5
dataset.
python prepare_data.py --source SOURCE_FOLDER --dataset-path WHERE_TO_SAVE
Training
You can train the model with script training.py
. Here is the list of arguments:
--dataset-path
- path to.h5
dataset--input-size
- size of the input tensor. Default is40
--batch-size
- size of a minibatch. Default is64
--epochs
- number of training epochs. Default is30
--vol-coeff
- volume constraint coefficient in total loss. Default is1.0
--iter-sampler
- iteration sampler. Eitheruniform
orpoisson_<LAM>
, whereLAM
is lambda in Poisson distribution. Default isuniform
--summary-prefix
- root folder to save the summary--save-prefix
- root folder to save the model
Just type bash experiments.sh
to run default experiments.
Notebook results.ipynb
demonstrates how to reproduce some of the results from the paper.
Citation
If you use this code for your research, please cite
@article{sosnovik2017neural,
title={Neural networks for topology optimization},
author={Sosnovik, Ivan and Oseledets, Ivan},
journal={arXiv preprint arXiv:1709.09578},
year={2017}
}