97 lines
2.5 KiB
Markdown
97 lines
2.5 KiB
Markdown
# Augmentation Feature Roadbook
|
|
|
|
Hi there! For those who are interested in testing
|
|
augmentation techniques in `Time-Series-Library`.
|
|
|
|
For now, we have embedded several augmentation methods
|
|
in this repo. We are still collecting publicly available
|
|
augmentation algorithms, and we appreciate your valuable
|
|
advice!
|
|
|
|
```
|
|
The Implemented Augmentation Methods
|
|
1. jitter
|
|
2. scaling
|
|
3. permutation
|
|
4. magwarp
|
|
5. timewarp
|
|
6. windowslice
|
|
7. windowwarp
|
|
8. rotation
|
|
9. spawner
|
|
10. dtwwarp
|
|
11. shapedtwwarp
|
|
12. wdba (Specially Designed for Classification tasks)
|
|
13. discdtw
|
|
```
|
|
|
|
## Usage
|
|
|
|
In this folder, we present two sample of shell scripts
|
|
doing augmentation in `Forecasting` and `Classification`
|
|
tasks.
|
|
|
|
Take `Forecasting` task for example, we test multiple
|
|
augmentation algorithms on `EthanolConcentration` dataset
|
|
(a subset of the popular classification benchmark `UEA`)
|
|
using `PatchTST` model.
|
|
|
|
```shell
|
|
export CUDA_VISIBLE_DEVICES=0
|
|
|
|
model_name=PatchTST
|
|
|
|
for aug in jitter scaling permutation magwarp timewarp windowslice windowwarp rotation spawner dtwwarp shapedtwwarp wdba discdtw discsdtw
|
|
do
|
|
echo using augmentation: ${aug}
|
|
|
|
python -u run.py \
|
|
--task_name classification \
|
|
--is_training 1 \
|
|
--root_path ./dataset/EthanolConcentration/ \
|
|
--model_id EthanolConcentration \
|
|
--model $model_name \
|
|
--data UEA \
|
|
--e_layers 3 \
|
|
--batch_size 16 \
|
|
--d_model 128 \
|
|
--d_ff 256 \
|
|
--top_k 3 \
|
|
--des 'Exp' \
|
|
--itr 1 \
|
|
--learning_rate 0.001 \
|
|
--train_epochs 100 \
|
|
--patience 10 \
|
|
--augmentation_ratio 1 \
|
|
--${aug}
|
|
done
|
|
```
|
|
|
|
Here, parameter `augmentation_ratio` represents how many
|
|
times do we want to perform our augmentation method.
|
|
Parameter `${aug}` represents a string of augmentation
|
|
type label.
|
|
|
|
The example here only perform augmentation once, so we
|
|
can set `augmentation_ratio` to `1`, followed by one
|
|
augmentation type label. Trivially, you can set
|
|
`augmentation_ratio` to an integer `num` followed by
|
|
`num` augmentation type labels.
|
|
|
|
The augmentation code obeys the same prototype of
|
|
`Time-Series-Library`. If you want to adjust other
|
|
training parameters, feel free to add arguments to the
|
|
shell scripts and play around. The full list of parameters
|
|
can be seen in `run.py`.
|
|
|
|
## Contact Us!
|
|
|
|
This piece of code is written and maintained by
|
|
[Yunzhong Qiu](https://github.com/DigitalLifeYZQiu).
|
|
We thank [Haixu Wu](https://github.com/wuhaixu2016) and
|
|
[Jiaxiang Dong](https://github.com/dongjiaxiang) for
|
|
insightful discussion and solid support.
|
|
|
|
If you have difficulties or find bugs in our code, please
|
|
contact us:
|
|
- Email: qiuyz24@mails.tsinghua.edu.cn |