Coder Social home page Coder Social logo

danielkelshaw / concretedropout Goto Github PK

View Code? Open in Web Editor NEW
14.0 2.0 2.0 409 KB

PyTorch implementation of 'Concrete Dropout'

Home Page: https://arxiv.org/abs/1705.07832

License: MIT License

Python 100.00%
statistical-machine-learning dropout-probability dropout neural-network

concretedropout's Introduction

Hello! I am currently a PhD student @ImperialCollege. My research lies at the intersection of machine learning, physics, and differential geometry. The goal of this research is to leverage reduced-order models for high-dimensional, complex physical phenomena - utilising tools from differential geometry and physics to operate directly on low-dimensional manifolds.

Previously, I worked as a machine learning research intern @NasaJPL, @ESA, @MindFoundry, @Dyson, and @BAESystems.

concretedropout's People

Contributors

arose13 avatar danielkelshaw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

ml-edu arose13

concretedropout's Issues

Update README

At the moment the README.md provides no particular indication as to what this project is about - it would be a good idea to update this to describe the purpose of the code that has been developed.

Configure Repository

In order to provide a suitable development environment the repository should be set up with an appropriate directory structure as well as functionality for automated continuous integration.

Rethink Class Decorator Approach

In the initial development of this code I was experimenting with the use of class decorators to add functionality, namely the concrete_regulariser. Coming back to this code several months later I realise that, although this works, it is not the nicest way of implementing a solution.

I would like to rework my implementation of the regularisation by making a base-class which accounts for the implementation, rather than requiring the user to wrap their model implementation with a pre-defined decorator.

Provide MNIST Example

An example of using ConcreteDropout in training a network for MNIST classification should be included - this provides a demonstration of the capabilities of the network.

is softmax required?

The model passes the logits through softmax in the output layer, but then the F.cross_entropy() function is used which combines log_softmax and nll. I think maybe the softmax in the output layer is not necessary?

Weight regulariser and dropout regulariser

Hi ! I read Yarin Gal's paper and I did not understand how the weight regulariser and dropout regulariser are initialized. The author provided a formula, but it is not very clear (e.g what means prior length scale ? and which value to assign for this variable ?). Could you explain how you find the values used to inizialize the weight regulariser and the dropout regulariser ?

Demonstrate Usage in README.md

It would be good to demonstrate how the modules developed can be user in a very simple way. This could help users implement the code found in this repository.

Implement ConcreteDropout Class

Implementation of the ConcreteDropout class should inherit from nn.Module to allow the functionality to be used inline with other PyTorch modules. Upon implementation the ConcreteDropout module can be used in a regular neural network to be tested.

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.