All Projects → kang205 → Dvbpr

kang205 / Dvbpr

Personalized Fashion Recommendation and Generation

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Dvbpr

Awesome Gan For Medical Imaging
Awesome GAN for Medical Imaging
Stars: ✭ 1,814 (+1109.33%)
Mutual labels:  generative-adversarial-network
Gesturegan
[ACM MM 2018 Oral] GestureGAN for Hand Gesture-to-Gesture Translation in the Wild
Stars: ✭ 136 (-9.33%)
Mutual labels:  generative-adversarial-network
Semantic image inpainting
Semantic Image Inpainting
Stars: ✭ 140 (-6.67%)
Mutual labels:  generative-adversarial-network
Chainer Pix2pix
chainer implementation of pix2pix
Stars: ✭ 130 (-13.33%)
Mutual labels:  generative-adversarial-network
Deep Learning With Pytorch Tutorials
深度学习与PyTorch入门实战视频教程 配套源代码和PPT
Stars: ✭ 1,986 (+1224%)
Mutual labels:  generative-adversarial-network
Unetgan
Official Implementation of the paper "A U-Net Based Discriminator for Generative Adversarial Networks" (CVPR 2020)
Stars: ✭ 139 (-7.33%)
Mutual labels:  generative-adversarial-network
Pytorch Studiogan
StudioGAN is a Pytorch library providing implementations of representative Generative Adversarial Networks (GANs) for conditional/unconditional image generation.
Stars: ✭ 2,325 (+1450%)
Mutual labels:  generative-adversarial-network
P2pala
Page to PAGE Layout Analysis Tool
Stars: ✭ 147 (-2%)
Mutual labels:  generative-adversarial-network
Deep Learning With Python
Example projects I completed to understand Deep Learning techniques with Tensorflow. Please note that I do no longer maintain this repository.
Stars: ✭ 134 (-10.67%)
Mutual labels:  generative-adversarial-network
Tsit
[ECCV 2020 Spotlight] A Simple and Versatile Framework for Image-to-Image Translation
Stars: ✭ 141 (-6%)
Mutual labels:  generative-adversarial-network
Ganimation
GANimation: Anatomically-aware Facial Animation from a Single Image (ECCV'18 Oral) [PyTorch]
Stars: ✭ 1,730 (+1053.33%)
Mutual labels:  generative-adversarial-network
Gandissect
Pytorch-based tools for visualizing and understanding the neurons of a GAN. https://gandissect.csail.mit.edu/
Stars: ✭ 1,700 (+1033.33%)
Mutual labels:  generative-adversarial-network
Nice Gan Pytorch
Official PyTorch implementation of NICE-GAN: Reusing Discriminators for Encoding: Towards Unsupervised Image-to-Image Translation
Stars: ✭ 140 (-6.67%)
Mutual labels:  generative-adversarial-network
Ganspapercollection
Stars: ✭ 130 (-13.33%)
Mutual labels:  generative-adversarial-network
Conditional Gan
Anime Generation
Stars: ✭ 141 (-6%)
Mutual labels:  generative-adversarial-network
Cyclegan
Software that can generate photos from paintings, turn horses into zebras, perform style transfer, and more.
Stars: ✭ 10,933 (+7188.67%)
Mutual labels:  generative-adversarial-network
Generative adversarial networks 101
Keras implementations of Generative Adversarial Networks. GANs, DCGAN, CGAN, CCGAN, WGAN and LSGAN models with MNIST and CIFAR-10 datasets.
Stars: ✭ 138 (-8%)
Mutual labels:  generative-adversarial-network
Tensorflow Infogan
🎎 InfoGAN: Interpretable Representation Learning
Stars: ✭ 149 (-0.67%)
Mutual labels:  generative-adversarial-network
Genegan
GeneGAN: Learning Object Transfiguration and Attribute Subspace from Unpaired Data
Stars: ✭ 142 (-5.33%)
Mutual labels:  generative-adversarial-network
Focal Frequency Loss
Focal Frequency Loss for Generative Models
Stars: ✭ 141 (-6%)
Mutual labels:  generative-adversarial-network

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:

  • Deep Visually-Aware Bayesian Personalized Ranking (DVBPR): Jointly learn user latent factors and extract task-guided visual features from implicit feedback for fashion recommendation.
  • GANs: A conditional generative adversarial network for fashion generation.
  • Preference Maximization: Adjust generated images that match a user's personal taste better (personalized fashion design).

Environment

The code is tested under a Linux desktop with a single GTX-1080 Ti GPU.

Requirements:

  • TensorFlow 1.3
  • Numpy
  • PIL

Datasets

The four fashion datasets:

  • AmazonFashion (3.3GB) : 64K users, 234K images, 0.5M actions
  • AmazonWomen (6.2GB): 97K users, 347K images, 0.8M actions
  • AmazonMen (2.1GB): 34K users, 110K images, 0.2M actions
  • Tradesy (3.4GB): 33K users, 326K images, 0.6M actions

can be downloaded via

bash download_dataset.sh 

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.

Amazon datasets are derived from here, tradesy dataset is introduced in here. Please cite the corresponding papers if you use the datasets.

Please note the raw images are for academic use only.

Model Training

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.

Demo (with pretrained models)

A quick way to use our model is using pretrained models which can be acquired via:

bash download_pretrained_models.sh 

With pretrained models, you can see the AUC results of DVBPR, and run GAN and PM code to generate images.

Misc

  • Acknowledgments: GAN code borrows heavily from DCGAN. GAN networks are modified from LSGAN.
  • In principal, our framework can adapt with any GANs variant, we look forward to using advanced GANs to achieve better generation results with higher resolution.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].