PyDeep is a machine learning / deep learning library with focus on unsupervised learning. The library has a modular design, is well documented and purely written in Python/Numpy. This allows you to understand, use, modify, and debug the code easily. Furthermore, its extensive use of unittests assures a high level of reliability and correctness.


  • Auto encoder module added including denoising, sparse, contractive, slowness AE’s
  • Unittests added, examples
  • tutorials added
  • Upcoming (short-term): Deep Boltzmann machines will be added
  • Upcoming (short-term): Feed Forward neural networks will be added
  • Future:
  • Future: RBM/DBM in tensorFlow

Features index

  • Principal Component Analysis (PCA)

    • Zero Phase Component Analysis (ZCA)
  • Independent Component Analysis (ICA)

  • Autoencoder

    • Centered denoising autoencoder including various noise functions
    • Centered contractive autoencoder
    • Centered sparse autoencoder
    • Centered slowness autoencoder
    • Several regularization methods like l1,l2 norm, Dropout, gradient clipping, …
  • Restricted Boltzmann machines

    • centered BinaryBinary RBM (BB-RBM)

    • centered GaussianBinary RBM (GB-RBM) with fixed variance

    • centered GaussianBinaryVariance RBM (GB-RBM) with trainable variance

    • centered BinaryBinaryLabel RBM (BBL-RBM)

    • centered GaussianBinaryLabel RBM (GBL-RBM)

    • centered BinaryRect RBM (BR-RBM)

    • centered RectBinary RBM (RB-RBM)

    • centered RectRect RBM (RR-RBM)

    • centered GaussianRect RBM (GR-RBM)

    • centered GaussianRectVariance RBM (GRV-RBM)

    • Sampling Algorithms for RBMs

      • Gibbs Sampling
      • Persistent Gibbs Sampling
      • Parallel Tempering Sampling
      • Independent Parallel Tempering Sampling
    • Training for RBMs

      • Exact gradient (GD)
      • Contrastive Divergence (CD)
      • Persistent Contrastive Divergence (PCD)
      • Independent Parallel Tempering Sampling
    • Log-likelihodd estimation for RBMs

      • Exact Partition function
      • Annealed Importance Sampling (AIS)
      • reverse Annealed Importance Sampling (AIS)


Jan Melchior