GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - uofgravity/glasflow: Normalising flows implemented using nflows

BranchesTags
Open more actions menu

Latest commit

 

History

267 Commits
267 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
examples
examples
 
 
src/glasflow
src/glasflow
 
 
submodules
submodules
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
.pre-commit-config.yaml
.pre-commit-config.yaml
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE.md
LICENSE.md
 
 
README.md
README.md
 
 
pyproject.toml
pyproject.toml
 
 

Repository files navigation

DOI PyPI Conda Version

Glasflow

glasflow is a Python library containing a collection of Normalizing flows using PyTorch. It builds upon nflows.

Installation

glasflow requires Python 3.11 or newer.

glasflow is available to install via pip:

pip install glasflow

or via conda:

conda install glasflow -c conda-forge

PyTorch

Important: glasflow supports using CUDA devices but it is not a requirement and in most uses cases it provides little to no benefit.

By default the version of PyTorch installed by pip or conda will not necessarily match the drivers on your system, to install a different version with the correct CUDA support see the PyTorch homepage for instructions: https://pytorch.org/.

Usage

To define a RealNVP flow:

from glasflow import RealNVP

# define RealNVP flow. Change hyperparameters as necessary.
flow = RealNVP(
    n_inputs=2,
    n_transforms=5,
    n_neurons=32,
    batch_norm_between_transforms=True
)

Please see glasflow/examples for a typical training regime example.

nflows

glasflow uses a fork of nflows which is included as submodule in glasflow and can used imported as follows:

import glasflow.nflows as nflows

It contains various bugfixes which, as of writing this, are not included in a current release of nflows.

Using standard nflows

There is also the option to use an independent install of nflows (if installed) by setting an environment variable.

export  GLASFLOW_USE_NFLOWS=True

After setting this variable glasflow.nflows will point to the version of nflows installed in the current python environment.

Note: this must be set prior to importing glasflow.

Contributing

Pull requests are welcome. You can review the contribution guidelines here. For major changes, please open an issue first to discuss what you would like to change.

Citing

If you use glasflow in your work please cite our DOI. We also recommend you also cite nflows following the guidelines in the nflows readme.

About

Normalising flows implemented using nflows

Topics

normalizing-flowspytorchtorch

Resources

Readme
License

Contributing

Contributing
Activity
Custom properties

Stars

27 stars

Watchers

3 watching

Forks

4 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.