Editing keypoint & parameters, built upon pytorch
conda create --name airfoil python=3.8
conda activate airfoil
pip install -r requirements.txt
请将数据集软链接到 data
文件夹下, 默认数据集为 data/airfoil/cst_gen/*.dat
在项目的根文件夹下:
# use CST method to generate airfoil
python dataload/cst_gen.py
# interpolate airfoil to specified number of points
python dataload/interpolate.py
# split train/val/test
python dataload/datasplit.py
# generate parsec feature
python dataload/parsec_direct.py
在项目的根文件夹下:
reproduce baseline: softvae, cvae-gan
# train soft-cvae condition on keypoint&parsec
python train_soft_vae.py
# eval editing performance
python eval_editing_softvae.py
# train cvae-gan condition on keypoint&parsec
python train_cvae_gan.py
# eval editing performance
python eval_editing_cvae_gan.py
train and eval
# train pkvae condition on keypoint&parsec
python train_pk_vae.py
# eval editing performance
python eval_editing_pkvae.py
# train editing keypoint condition on source_keypoint,target_keypoint,source_param, generate: target_param
python train_ekvae.py
# join train editing keypoint & pkvae condition source_keypoint,target_keypoint,source_param, generate: target_point
python train_ek_pkvae.py
# train editing param condition on source_param,target_param,source_keypoint, generate: target_keypoint
python train_epvae.py
# train editing param condition on source_param,target_param,source_keypoint, generate: target_point
python train_ep_pkvae.py
ablation study
# decrease control keypoints 1/20
python train_pkvae.py --downsample_rate 20 --condition_size 24 --log_dir logs/pk_vae_2 --device cuda:1
# decrease control keypoints 1/30
python train_pkvae.py --downsample_rate 30 --condition_size 20 --log_dir logs/pk_vae_3 --device cuda:2