  Biological neural networks are often modeled as systems of coupled,
nonlinear, ordinary or partial differential equations. The number of
differential equations used to model a network increases with the size of the
network and the level of detail used to model individual neurons and synapses.
As one scales up the size of the simulation, it becomes essential to utilize
powerful computing platforms. While many tools exist that solve these equations
numerically, they are often platform-specific. Further, there is a high barrier
of entry to developing flexible platform-independent general-purpose code that
supports hardware acceleration on modern computing architectures such as
GPUs/TPUs and Distributed Platforms. TensorFlow is a Python-based open-source
package designed for machine learning algorithms. However, it is also a
scalable environment for a variety of computations, including solving
differential equations using iterative algorithms such as Runge-Kutta methods.
In this article and the accompanying tutorials, we present a simple exposition
of numerical methods to solve ordinary differential equations using Python and
TensorFlow. The tutorials consist of a series of Python notebooks that, over
the course of five sessions, will lead novice programmers from writing programs
to integrate simple one-dimensional ordinary differential equations using
Python to solving a large system (1000's of differential equations) of coupled
conductance-based neurons using a highly parallelized and scalable framework.
Embedded with the tutorial is a physiologically realistic implementation of a
network in the insect olfactory system. This system, consisting of multiple
neuron and synapse types, can serve as a template to simulate other networks.
