Comparing Numpy, Pytorch, and autograd on CPU and GPU

Code for fitting a polynomial to a simple data set is discussed. Implementations in numpy, pytorch, and autograd on CPU and GPU are compred. This post is available for downloading as this jupyter notebook. Table of Contents Very Brief Introduction to Autograd Using Numpy to Fit a Polynomial to Data Now, with Pytorch Pytorch with … Read more

Numpy versus Pytorch

Here we compare the accuracy and computation time of the training of simple fully-connected neural networks using numpy and pytorch implementations and applied to the MNIST data set. The Adam optimization algorithm in numpy and pytorch are compared, as well as the Scaled Conjugate Gradient optimization algorithm in numpy. The original notebook is available here. … Read more

Fast Reinforcement Learning After Pretraining

This article is available here as a jupyter notebook. We presented at IJCNN, 2015 the following paper, which won the Best Paper Award Anderson, C., Lee, M., and Elliott, D., “Faster Reinforcement Learning After Pretraining Deep Networks to Predict State Dynamics“, Proceedings of the IJCNN, 2015, Killarney, Ireland. Abstract: Deep learning algorithms have recently appeared … Read more

Javascript for Zooming and Panning in a Canvas

In 2012, I had a need for a simple zooming and panning capability for an animation project in Javascript. With much help from examples on the net, I came up with the solution illustrated at here. There must be better solutions available now. Here is zoom.js: /********************************************************************** * zoom.js * * Zooming and panning by … Read more

Record Your Own Lectures

With a lot of help from others on the net, I've settled on using a combination of free software and relatively inexpensive hardware to record lectures including full screen capture. The screen capture includes small video of lecturer from webcam on the laptop. For freehand drawing, I used a Bamboo tablet, which is also captured … Read more

Tabbed Panels in Matlab

(Updated 2016: Matlab now has functions uitab and uitabgroup for creating tabbed panels.) We have written some code that implements tabbed panels for Matlab. The implementation makes it very easy to add additional panels to an application. It can be downloaded here as pluggablePanels.tar.gz. It includes a README file and a subset of files needed … Read more

Neural Networks in Computer Graphics

Contents Semi-Automated Segmentation NURBS Terrain Modeling Radiosity Semi-Automated Segmentation One of the most tedious jobs in medical image processing is hand-drawing the boundaries around tissue of interest. We explored ways of training neural networks to duplicate the decisions made by a human anatomist while the human is tracing boundaries, then letting the neural network complete … Read more

Inversion of a Model of the Atmosphere

Philip Gabriel of the CSU Department of Atmospheric Sciences at Colorado State University has written a fortran model of the atmosphere. Given parameters representing the properties of clouds in various layers of the atmosphere, Philip’s model produces an expected power spectrum of the light received by a satellite. To determine the atmosphere properties from an … Read more

Mountain Car Solved with Reinforcement Learning in Matlab

Problems whose solutions optimize an objective function defined over multiple steps generally require considerable a prior knowledge. Dynamic programming techniques are able to solve such multi-stage, sequential decision problems, but they require complete knowledge of the state space, including state transition probabilities. Bertsekas (1995) has recently published a two-volume text that covers current dynamic programming … Read more

Our Early Neural Network Code

This posting contains links to and explanations for C code developed for our research in the 1990's. C Code for Error Backpropagation train.c is a C program for training multilayer, feedforward neural networks with error backpropagation using early stopping and cross-validation. The program includes the option of training the networks on a CNAPS Server (see … Read more