Personalized Fashion Recommendation and Generation
This is our TensorFlow implementation for the paper:
Wang-Cheng Kang, Chen Fang, Zhaowen Wang, Julian McAuley. Visually-Aware Fashion Recommendation and Design with Generative Image Models. In Proceedings of IEEE International Conference on Data Mining (ICDM'17)
Please cite our paper if you use the code or datasets.
We provide the three modules in our framework:
The code is tested under a Linux desktop with a single GTX-1080 Ti GPU.
The four fashion datasets:
can be downloaded via
All datasets are stored in .npy format, each item is associated with a JPG image. Please refer to DVBPR code for detail usage. For image generation, we mainly use the AmazonFashion dataset.
Please note the raw images are for academic use only.
Step 1: Train DVBPR:
cd DVBPR python main.py
The default hyper-parameters are defined in main.py, you can change them accordingly. AUC (on validation and test set) is recorded in DVBPR.log.
Step 2: Train GANs:
cd GAN python main.py --train True
The default hyper-parameters are defined in main.py, you can change them accordingly. Without '--train True', it will load a trained model and generated images for each category (stroed in folder samples).
Step 3: Preference Maximization:
cd PM python main.py
PM is based on pretrained DVBPR and GAN models. It will randomly pick a user for each category, and show the generated images through the optimization process.
With a single GTX-1080 Ti, training DVBPR and GANs take around 7 hours respectively.
A quick way to use our model is using pretrained models which can be acquired via:
With pretrained models, you can see the AUC results of DVBPR, and run GAN and PM code to generate images.