Skip to content

jrweststanford/nn_physical_concepts

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Discovering physical concepts with neural networks

Code for: R. Iten, T. Metger, H.Wilming, L. del Rio, and R. Renner. "Discovering physical concepts with neural networks" (2018).

This repository contains the trained Tensorflow models used in the paper as well as code to load, train and analyze them.

Requires:

  • Python 2.7
  • numpy
  • matplotlib
  • tensorflow
  • tensorboard
  • tqdm
  • jupyter

Branches:

  • master: Implementation of beta-VAE [1] for reference. Includes an example in the /analysis folder that shows how to set up and train a network.
  • pendulum: SciNet finds correct physical parameters describing a damped pendulum.
  • angular_momentum: SciNet finds and exploits angular momentum conservation to make predictions.
  • qubit: SciNet recovers correct number of parameters describing quantum states.
  • copernicus: SciNet discovers heliocentric model of the solar system.

To use the code:

  1. Clone the repository.
  2. Add the cloned directory nn_physical_concepts to your python path. See here for instructions for doing this in a virtual environment. Without a virtual environment, see here.
  3. Import from scinet import *. This includes the shortcuts nn to the model.py code and dl to the data_loader.py code.
  4. Import additional files (e.g. data generation scripts) using import scinet.my_data_generator as my_data_gen_name.

Generated data files are stored in the data directory. Saved models are stored in the tf_save directory. Tensorboard logs are stored in the tf_log directory.

Some documentation is available in the code. For further questions, please contact us directly ([email protected],[email protected]).

[1] Higgins, I. et al. beta-VAE: "Learning Basic Visual Concepts with a Constrained Variational Framework", ICLR (2017).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 76.7%
  • Python 23.3%