This article discusses how to visualize triangular meshes available in Object File Format (
.off) in Python using occmodel. Installation instructions for installing occmodel on Ubuntu are included.
A simple implementation of batch normalization in Tensorflow. Note that the implementation is meant for training — i.e. for testing on individual samples, the mean and variance should be fixed in advance. Also note that
tf.nn.moments is replaced by a custom method for computing mean and variance to avoid the problem described here.
In specific cases,
tf.nn.moments cannot be run on the GPU (see here). This is problematic when training (convolutional) neural networks where moments are part of the computation graph (e.g. for normalization). This snippet is a simple work around, computing mean and variance along the provided dimensions manually.
Following the Theano documentation, this snippet illustrates the creation of a new Theano type, namely the Double type. Based on this type, the add operation is implemented. Originally, I intended this as a quick tutorial on how to define more complex types with differentiable operations. However, as also discussed here, this turned out to be more involved than expected.
Following the PyTorch documentation, this snippet illustrates how to extend PyTorch by manually adding a linear neural network module. The example includes the linear module as discussed in the documentation and an example application on linearly separable data.
Slightly adapted example for adding new operations in Tensorflow taken from the official documentation. The files should be copied to
tensorflow/core/user_ops. The new operation is compiled using
bazel build -c opt //tensorflow/core/user_ops:zero_out.so from the Tensorflow root. The generated
.so file can usually be found by searching
bazel-bin. This code does not include the corresponding gradient function yet.