All Projects → netket → Netket

netket / Netket

Licence: apache-2.0
Machine learning algorithms for many-body quantum systems

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Netket

Qrack
Comprehensive, GPU accelerated framework for developing universal virtual quantum processors
Stars: ✭ 79 (-69.14%)
Mutual labels:  physics-simulation, quantum
Innovative Hacktober
Make a pull request. Let's hack the ocktober in an innovative way.
Stars: ✭ 34 (-86.72%)
Mutual labels:  hacktoberfest, machine-learning-algorithms
Dm control
DeepMind's software stack for physics-based simulation and Reinforcement Learning environments, using MuJoCo.
Stars: ✭ 2,592 (+912.5%)
Mutual labels:  physics-simulation, neural-networks
Deep Learning With Python
Deep learning codes and projects using Python
Stars: ✭ 195 (-23.83%)
Mutual labels:  convolutional-neural-networks, neural-networks
100daysofmlcode
My journey to learn and grow in the domain of Machine Learning and Artificial Intelligence by performing the #100DaysofMLCode Challenge.
Stars: ✭ 146 (-42.97%)
Mutual labels:  hacktoberfest, neural-networks
Cnn face detection
Implementation based on the paper Li et al., “A Convolutional Neural Network Cascade for Face Detection, ” 2015 CVPR
Stars: ✭ 251 (-1.95%)
Mutual labels:  convolutional-neural-networks, neural-networks
Algorithmsanddatastructure
Algorithms And DataStructure Implemented In Python & CPP, Give a Star 🌟If it helps you
Stars: ✭ 400 (+56.25%)
Mutual labels:  hacktoberfest, machine-learning-algorithms
Livianet
This repository contains the code of LiviaNET, a 3D fully convolutional neural network that was employed in our work: "3D fully convolutional networks for subcortical segmentation in MRI: A large-scale study"
Stars: ✭ 143 (-44.14%)
Mutual labels:  convolutional-neural-networks, neural-networks
Lacmus
Lacmus is a cross-platform application that helps to find people who are lost in the forest using computer vision and neural networks.
Stars: ✭ 142 (-44.53%)
Mutual labels:  hacktoberfest, neural-networks
Daal4py
sources for daal4py - a convenient Python API to oneDAL
Stars: ✭ 113 (-55.86%)
Mutual labels:  hacktoberfest, machine-learning-algorithms
Coursera Deep Learning Specialization
Notes, programming assignments and quizzes from all courses within the Coursera Deep Learning specialization offered by deeplearning.ai: (i) Neural Networks and Deep Learning; (ii) Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization; (iii) Structuring Machine Learning Projects; (iv) Convolutional Neural Networks; (v) Sequence Models
Stars: ✭ 188 (-26.56%)
Mutual labels:  convolutional-neural-networks, neural-networks
Brain.js
brain.js is a GPU accelerated library for Neural Networks written in JavaScript.
Stars: ✭ 12,358 (+4727.34%)
Mutual labels:  hacktoberfest, convolutional-neural-networks
Anime4k
A High-Quality Real Time Upscaler for Anime Video
Stars: ✭ 14,083 (+5401.17%)
Mutual labels:  convolutional-neural-networks, neural-networks
Awesome Quantum Machine Learning
Here you can get all the Quantum Machine learning Basics, Algorithms ,Study Materials ,Projects and the descriptions of the projects around the web
Stars: ✭ 1,940 (+657.81%)
Mutual labels:  quantum, machine-learning-algorithms
Iresnet
Improved Residual Networks (https://arxiv.org/pdf/2004.04989.pdf)
Stars: ✭ 163 (-36.33%)
Mutual labels:  convolutional-neural-networks, neural-networks
Onedal
oneAPI Data Analytics Library (oneDAL)
Stars: ✭ 382 (+49.22%)
Mutual labels:  hacktoberfest, machine-learning-algorithms
Chainer Cifar10
Various CNN models for CIFAR10 with Chainer
Stars: ✭ 134 (-47.66%)
Mutual labels:  convolutional-neural-networks, neural-networks
Bender
Easily craft fast Neural Networks on iOS! Use TensorFlow models. Metal under the hood.
Stars: ✭ 1,728 (+575%)
Mutual labels:  convolutional-neural-networks, neural-networks
C
Collection of various algorithms in mathematics, machine learning, computer science, physics, etc implemented in C for educational purposes.
Stars: ✭ 11,897 (+4547.27%)
Mutual labels:  hacktoberfest, machine-learning-algorithms
C Plus Plus
Collection of various algorithms in mathematics, machine learning, computer science and physics implemented in C++ for educational purposes.
Stars: ✭ 17,151 (+6599.61%)
Mutual labels:  hacktoberfest, machine-learning-algorithms
logo

NetKet

Release Anaconda-Server Badge Build Status GitHub Issues Paper License Binder Code style: black

NetKet is an open-source project delivering cutting-edge methods for the study of many-body quantum systems with artificial neural networks and machine learning techniques. It is a Python library built on C++ primitives.

Installation and Usage

Netket supports MacOS and Linux. The reccomended way to install it in a non-conda python environment is:

pip install netket[mpi]

The [mpi] after netket will install mpi related dependencies of netket. We reccomend to install netket with all it's extra dependencies, which are documented below. However, if you do not have a working MPI compiler in your PATH this installation will most likely fail because it will attempt to install mpi4py, which enables MPI support in netket. If you are only starting to discover netket and won't be running extended simulations, you can forego MPI by installing netket with the command

pip install netket 

Netket is also available on conda-forge. To install netket in a conda-environment you can use:

conda install conda-forge::netket

The conda library is linked to anaconda's mpi4py, therefore we do not reccomend to use this installation method on computer clusters with a custom MPI distribution. We don't reccomend to install from conda as the jaxlib there is not very performant.

Extra dependencies

When installing netket with pip, you can pass the following extra variants as square brakets. You can install several of them by separating them with a comma.

  • '[dev]': installs development-related dependencies such as black, pytest and testing dependencies
  • '[mpi]': Installs mpi4py to enable multi-process parallelism. Requires a working MPI compiler in your path
  • '[all]': Installs mpi, and dev.

MPI Support

Depending on the library you use to define your machines, distributed computing through MPI might or might not be supported. Please see below:

  • netket : distributed computing through MPI support can be enabled by installing the package mpi4py through pip or conda.
  • jax : distributed computing through MPI is supported natively only if you don't use Stochastic Reconfiguration (SR). If you need SR, you must install mpi4jax. Please note that we advise to install mpi4jax with the same tool (conda or pip) with which you installed netket.
  • pytorch : distributed computing through MPI is enabled if the package mpi4py is isntalled. Stochastic Reconfiguration (SR) cannot be used when MPI is enabled.

To check whever MPI support is enabled, check the flags

# For standard MPI support
>>> netket.utils.mpi_available
True

# For faster MPI support with jax and to enable SR + MPI with Jax machines
>>> netket.utils.mpi4jax_available
True

Major Features

  • Graphs

    • Built-in Graphs
      • Hypercube
      • General Lattice with arbitrary number of atoms per unit cell
    • Custom Graphs
      • Any Graph With Given Adjacency Matrix
      • Any Graph With Given Edges
    • Symmetries
      • Automorphisms: pre-computed in built-in graphs, available through iGraph for custom graphs
  • Quantum Operators

    • Built-in Hamiltonians
      • Transverse-field Ising
      • Heisenberg
      • Bose-Hubbard
    • Custom Operators
      • Any k-local Hamiltonian
      • General k-local Operator defined on Graphs
  • Variational Monte Carlo

    • Stochastic Learning Methods for Ground-State Problems
      • Gradient Descent
      • Stochastic Reconfiguration Method
        • Direct Solver
        • Iterative Solver for Large Number of Parameters
  • Exact Diagonalization

    • Full Solver
    • Lanczos Solver
    • Imaginary-Time Dynamics
  • Supervised Learning

    • Supervised overlap optimization from given data
  • Neural-Network Quantum State Tomography

    • Using arbitrary k-local measurement basis
  • Optimizers

    • Stochastic Gradient Descent
    • AdaMax, AdaDelta, AdaGrad, AMSGrad
    • RMSProp
    • Momentum
  • Machines

    • Restricted Boltzmann Machines
      • Standard
      • For Custom Local Hilbert Spaces
      • With Permutation Symmetry Using Graph Isomorphisms
    • Feed-Forward Networks
      • For Custom Local Hilbert Spaces
      • Fully connected layer
      • Convnet layer for arbitrary underlying graph
      • Any Layer Satisfying Prototypes in AbstractLayer [extending C++ code]
    • Jastrow States
      • Standard
      • With Permutation Symmetry Using Graph Isomorphisms
    • Matrix Product States
      • MPS
      • Periodic MPS
    • Custom Machines
      • Any Machine Satisfying Prototypes in AbstractMachine [extending C++ code]
  • Observables

    • Custom Observables
      • Any k-local Operator
  • Sampling

    • Local Metropolis Moves
      • Local Hilbert Space Sampling
    • Hamiltonian Moves
      • Automatic Moves with Hamiltonian Symmetry
    • Custom Sampling
      • Any k-local Stochastic Operator can be used to do Metropolis Sampling
    • Exact Sampler for small systems
  • Statistics

    • Automatic Estimate of Correlation Times
  • Interface

    • Python Library
    • JSON output

License

Apache License 2.0

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].