Skip to content

Commit

Permalink
v0.4.2
Browse files Browse the repository at this point in the history
Squashed commit of the following:

commit 48044e6c46a23337c7f64fd9b1c3075433ceb5b4
Author: Chris Choy <chrischoy@ai.stanford.edu>
Date:   Fri Mar 13 20:52:57 2020 -0700

    minor updates

commit 0084e80c00df63f12561cd63c4503dd5bf413d10
Author: Chris Choy <chrischoy@ai.stanford.edu>
Date:   Fri Mar 13 17:30:02 2020 -0700

    minor doc updates
  • Loading branch information
chrischoy committed Mar 14, 2020
1 parent f1a2a95 commit d212be8
Show file tree
Hide file tree
Showing 9 changed files with 47 additions and 21 deletions.
7 changes: 4 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
# Change Log

## [master] - 2020-03-05
## [0.4.2] - 2020-03-13

### Added

- Completion and VAE examples
- GPU version of getKernelMap: getKernelMapGPU


### Changed

- Fix dtype double to float on the multi-gpu example
- Remove the dimension input argument on GlobalPooling, Broadcast functions
- Kernel map generation has tensor stride > 0 check
- Fix `SparseTensor.set_tensor_stride`
- Track whether the batch indices are set first when initializing coords, The initial batch indices will be used throughout the lifetime of a sparse tensor
- Add warning on ModelNet40 training (Issue #86)
- Add a memory warning on ModelNet40 training example (Issue #86)
- Update the readme, definition
- Fix an error in examples.convolution
- Changed `features_at`, `coordinates_at` to take a batch index not the index of the unique batch indices. (Issue #100)
- Fix an error torch.range --> torch.arange in `sparse_quantize` (Issue #101)
- Fix BLAS installation link error (Issue #94)
- Fix `MinkowskiBroadcast` and `MinkowskiBroadcastConcatenation` to use arbitrary channel sizes
- Fix `pointnet.py` example (Issue #103)


## [0.4.1] - 2020-01-28
Expand Down
11 changes: 4 additions & 7 deletions MinkowskiEngine/MinkowskiNormalization.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,8 +225,7 @@ def backward(ctx, out_grad):
cpp_coords_manager = coords_manager.CPPCoordsManager

# 1/N \sum dout
mean_dout, num_nonzero = gpool_forward(out_grad,
cpp_in_coords_key,
mean_dout, num_nonzero = gpool_forward(out_grad, cpp_in_coords_key,
cpp_glob_coords_key,
cpp_coords_manager, True,
ctx.mode.value)
Expand Down Expand Up @@ -257,7 +256,7 @@ def backward(ctx, out_grad):

class MinkowskiStableInstanceNorm(Module):

def __init__(self, num_features, dimension=-1):
def __init__(self, num_features):
Module.__init__(self)
self.num_features = num_features
self.eps = 1e-6
Expand All @@ -269,11 +268,10 @@ def __init__(self, num_features, dimension=-1):
self.glob_sum2 = MinkowskiBroadcastAddition()
self.glob_mean = MinkowskiGlobalPooling()
self.glob_times = MinkowskiBroadcastMultiplication()
self.dimension = dimension
self.reset_parameters()

def __repr__(self):
s = f'(nchannels={self.num_features}, D={self.dimension})'
s = f'(nchannels={self.num_features})'
return self.__class__.__name__ + s

def reset_parameters(self):
Expand Down Expand Up @@ -313,8 +311,7 @@ def __init__(self, num_features, mode=GlobalPoolingMode.AUTO):
num_features (int): the dimension of the input feautres.
dimension (int): the spatial dimension of the input tensor.
mode (GlobalPoolingModel, optional): The internal global pooling computation mode.
"""
Module.__init__(self)
self.num_features = num_features
Expand Down
2 changes: 1 addition & 1 deletion MinkowskiEngine/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
# Please cite "4D Spatio-Temporal ConvNets: Minkowski Convolutional Neural
# Networks", CVPR'19 (https://arxiv.org/abs/1904.08755) if you use any part
# of the code.
__version__ = "0.4.1"
__version__ = "0.4.2"

import os
import sys
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

# Minkowski Engine

[![PyPI Version][pypi-image]][pypi-url][![Join the chat at https://gitter.im/MinkowskiEngineGitter/general](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/MinkowskiEngineGitter/general)
[![PyPI Version][pypi-image]][pypi-url] [![Join the chat at https://gitter.im/MinkowskiEngineGitter/general](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/MinkowskiEngineGitter/general)

The Minkowski Engine is an auto-differentiation library for sparse tensors. It supports all standard neural network layers such as convolution, pooling, unpooling, and broadcasting operations for sparse tensors. For more information, please visit [the documentation page](http://stanfordvl.github.io/MinkowskiEngine/overview.html).

Expand Down
1 change: 0 additions & 1 deletion docs/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
source
_build
_static
_template
8 changes: 5 additions & 3 deletions docs/conf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import os
import sys
# import pkg_resources
# pkg_resources.require('MinkowskiEngine==0.4.2a1')
import MinkowskiEngine as ME

from recommonmark.parser import CommonMarkParser
Expand All @@ -18,9 +20,9 @@
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
sys.path.insert(0, os.path.abspath('../'))
# sys.path.insert(0, os.path.abspath('../'))
sys.path.insert(0, os.path.abspath('../../'))
autodoc_mock_imports = ['MinkowskiEngine.examples']
# autodoc_mock_imports = ['MinkowskiEngine.examples']


# -- Project information -----------------------------------------------------
Expand Down Expand Up @@ -75,7 +77,7 @@
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
exclude_patterns = ['_build', 'README.md', 'Thumbs.db', '.DS_Store']

# The name of the Pygments (syntax highlighting) style to use.
pygments_style = None
Expand Down
2 changes: 1 addition & 1 deletion docs/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

# Minkowski Engine

[![PyPI Version][pypi-image]][pypi-url][![Join the chat at https://gitter.im/MinkowskiEngineGitter/general](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/MinkowskiEngineGitter/general)
[![PyPI Version][pypi-image]][pypi-url] [![Join the chat at https://gitter.im/MinkowskiEngineGitter/general](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/MinkowskiEngineGitter/general)

The Minkowski Engine is an auto-differentiation library for sparse tensors. It supports all standard neural network layers such as convolution, pooling, unpooling, and broadcasting operations for sparse tensors. For more information, please visit [the documentation page](http://stanfordvl.github.io/MinkowskiEngine/overview.html).

Expand Down
12 changes: 9 additions & 3 deletions docs/sparse_tensor_network.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,16 @@ We use the generalized convolution not only on the 3D
spatial axes, but on any arbitrary dimensions, or also on the temporal axis, which is proven to be more
effective than recurrent neural networks (RNN) in some applications.

Specifically, we the generalize convolution for generic input and
output coordinates, and for arbitrary kernel shapes. The generalized convolution
Specifically, we generalize convolution for generic input and output coordinates, and for arbitrary kernel shapes. It allows extending a sparse tensor network to extremely high-dimensional spaces and dynamically generate coordinates for generative tasks.
Also, the generalized convolution
encompasses not only all sparse convolutions but also the
conventional dense convolutions. Let :math:`x^{\text{in}}_\mathbf{u} \in
conventional dense convolutions. We list some of characteristics and applications of generalized convolution below.

- Sparse tensors for convolution kernels allow high-dimensional convolutions with specialized kernels `[3] <https://arxiv.org/abs/1904.08755>`_
- Arbitrary input coordinates generalized convolution encompasses all discrete convolutions
- Arbitrary output coordinates allows dynamic coordinate generation and generative networks `[reconstruction and completion networks] <https://github.com/StanfordVL/MinkowskiEngine#example-networks>`_

Let :math:`x^{\text{in}}_\mathbf{u} \in
\mathbb{R}^{N^\text{in}}` be an :math:`N^\text{in}`-dimensional input feature
vector in a :math:`D`-dimensional space at :math:`\mathbf{u} \in \mathbb{R}^D`
(a D-dimensional coordinate), and convolution kernel weights be
Expand Down
23 changes: 22 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,8 @@ def run_command(*args):
raise ImportError(' \
\nBLAS not found from numpy.distutils.system_info.get_info. \
\nPlease specify BLAS with: python setup.py install --blas=openblas" \
\nfor more information, please visit https://github.com/StanfordVL/MinkowskiEngine/wiki/Installation')
\nfor more information, please visit https://github.com/StanfordVL/MinkowskiEngine/wiki/Installation'
)

print(f'\nUsing BLAS={BLAS}')

Expand Down Expand Up @@ -151,4 +152,24 @@ def run_command(*args):
'Convolutional Neural Networks', '3D Vision', 'Deep Learning'
],
zip_safe=False,
classifiers=[
# https://pypi.org/classifiers/
'Environment :: Console',
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'Intended Audience :: Other Audience',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: MIT License',
'Natural Language :: English',
'Programming Language :: C++',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Topic :: Multimedia :: Graphics',
'Topic :: Scientific/Engineering',
'Topic :: Scientific/Engineering :: Artificial Intelligence',
'Topic :: Scientific/Engineering :: Mathematics',
'Topic :: Scientific/Engineering :: Physics',
'Topic :: Scientific/Engineering :: Visualization',
],
python_requires='>=3.6')

0 comments on commit d212be8

Please sign in to comment.