Git Product home page Git Product logo

dgms_for_semi-unsupervised_learning's Introduction

This is the code to reproduce the results in the paper:

Semi-Unsupervised Learning with Deep Generative Models: Clustering and Classifying using Ultra-Sparse Labels


To set up a conda environment that this code will run in, execute:
>>yes | conda create -n TF python=2.7 scipy==1.0.0 tensorflow-gpu==1.8 Keras==2.1.3 pandas==0.22.0 numpy==1.14.0 matplotlib scikit-learn


The python script ./src/run_data_model_mixed.py is the main script for running the models

It takes the following arguments:
-m --model_name, choose between m2 gm_dgm adgm agm_dgm sdgm, required

-d --dataset_name choose between fmnist mnist

-p --prop_labelled type=float, required, the proportion of labelled data to keep for each class

-r --number_of_runs type=int, required

-e --number_of_epochs type=int, required

-c --classes_to_hide type=int, the individual class of array of classes to be entirely masked so as to do semi-unsupervised learning

-a --number_of_classes_to_add, corresponds to $N_{aug}$ in the paper

-z --number_of_dims_z type=int, default=100, $|z|$

-u --number_of_dims_a type=int, default=100, $|a|$

-s --number_of_mc_samples type=int, default=1

-t --iteration_number type=int, default=0, index to control which GPU is used on multi-GPU server

-l --number_of_units_in_hidden_layers type=int, default=500

-b --batch_size type=int, default=100

--decay_period type=int, default=200

--decay_ratio type=float, default=0.75

--loss_balance choose between average weighted, default is average, says how to scale unlabelled and labelled gradients. average gives both as the average over a mini batch, weighted downscales each by the relative sizes of the labelled and unlabelled data.

dgms_for_semi-unsupervised_learning's People

Contributors

matthewwilletts avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.