Skip to main content

A high-level library on top of Pytorch.

Project description

Introduction

Python - Version PyPI - Version PyPI - Wheel Github - Tag License

A high level framework for general purpose neural networks in Pytorch.

Personally, going from Theano to Pytorch is pretty much like time traveling from 90s to the modern day. However, despite a lot of bells and whistles, I still feel there are some missing elements from Pytorch which are confirmed to be never added to the library. Therefore, this library is written to add more features to the current magical Pytorch. All the modules here directly subclass the corresponding modules from Pytorch, so everything should still be familiar. For example, the following snippet in Pytorch

from torch import nn
model = nn.Sequential(
    nn.Conv2d(1, 20, 5, padding=2),
    nn.ReLU(),
    nn.Conv2d(20, 64, 5, padding=2),
    nn.ReLU()
)

can be rewritten in Neuralnet-pytorch as

import neuralnet_pytorch as nnt
model = nnt.Sequential(
    nnt.Conv2d(1, 20, 5, padding='half', activation='relu'),
    nnt.Conv2d(20, 64, 5, padding='half', activation='relu')
)

which is the same as the native Pytorch, or

import neuralnet_pytorch as nnt
model = nnt.Sequential(input_shape=1)
model.add_module('conv1', nnt.Conv2d(model.output_shape, 20, 5, padding='half', activation='relu'))
model.add_module('conv2', nnt.Conv2d(model.output_shape, 64, 5, padding='half', activation='relu'))

which frees you from a lot of memorizations and manual calculations when adding one layer on top of another. Theano folks will also find some reminiscence as many functions are highly inspired by Theano.

Requirements

Pytorch >= 1.0.0

Matplotlib

Visdom

Tensorboard

Gin-config (optional)

Installation

Stable version

pip install --upgrade neuralnet-pytorch

Bleeding-edge version

pip install git+git://github.com/justanhduc/neuralnet-pytorch.git@master

To install the version with some collected Cuda/C++ ops, use

pip install git+git://github.com/justanhduc/neuralnet-pytorch.git@fancy

Usages

The manual reference is still under development and is available at https://neuralnet-pytorch.readthedocs.io.

TODO

  • [x] Adding introduction and installation
  • [x] Writing documentations
  • [ ] Adding examples

Disclaimer

This package is a product from my little free time during my PhD, so most but not all the written modules are properly checked. No replacements or refunds for buggy performance. All PRs are welcome.

Acknowledgements

The CUDA Chamfer distance is taken from the AtlasNet repo.

The AdaBound optimizer is taken from its official repo.

The adapted Gin for Pytorch code is taken from Gin-config.

The monitor scheme is inspired from WGAN.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for neuralnet-pytorch, version 1.0.0
Filename, size & hash File type Python version Upload date
neuralnet_pytorch-1.0.0a-py3-none-any.whl (49.2 kB) View hashes Wheel py3
neuralnet-pytorch-1.0.0a.tar.gz (61.4 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page