A tensorflow implementation of Informative Generative Adversarial Network (InfoGAN ) to one dimensional ( 1D ) time series data with a supervised loss function. So it's called semisupervised Info GAN.
Refer to
- InfoGAN (https://arxiv.org/abs/1606.03657 )
- AC-GAN ( Auxiliary Classifier GAN )(https://arxiv.org/abs/1610.09585)
This work is intended to be useful for time series data augmentation.
- tensorflow = 1.0.1
- sugartensor = 1.0.0.2
- matplotlib = 2.2.3
You can use any csv formatted time series data as following.
time,serie,target
1,11.1,0
2,12.2,2
3,13.0,1
4,14,0,2
.
.
.
This file should be saved at 'asset/data/serie_target.csv' before you train the network.
Execute
python train.py
to train the network. You can see the result ckpt files and log files in the 'asset/train' directory. Launch tensorboard --logdir asset/train/run-MMDD-HHmm to monitor training process.
Execute
python generate.py
to generate sample time series data. The graph image of generated time series data will be saved in the 'asset/train' directory.
Execute
python generate.py
to generate sample time series data. The graph image of generated time series data will be saved in the 'asset/train' directory.
This graph of time series was generated by InfoGAN network. You may know that it's difficult to discriminate generated time series data from real time series data.
Fake time series data
Decomposed time series data (depending on your data and labels)