Dan Goodman & Romain Brette Ecole Normale Supérieure Projet Odyssée

Slides:



Advertisements
Similar presentations
Guy Griffiths. General purpose interpreted programming language Widely used by scientists and programmers of all stripes Supported by many 3 rd -party.
Advertisements

Example Project and Numerical Integration Computational Neuroscience 03 Lecture 11.
AT2 – Neuromodeling Tutorial Anatoly Buchin & Fleur Zeldenrust February 11 th, 2013
Use of Python as a MATLAB Replacement for Algorithm Development and Execution in a Multi-Core Environment Glen W. Mabey, Ph.D. Southwest Research Institute.
Neural modeling and simulation
Python for Science Shane Grigsby. What is python? Why python? Interpreted, object oriented language Free and open source Focus is on readability Fast.
Introduction to MATLAB The language of Technical Computing.
Audio Programming With Python Copyright © Software Carpentry 2011 This work is licensed under the Creative Commons Attribution License See
Marković Miljan 3139/2011
Romain Brette & Dan Goodman Ecole Normale Supérieure Projet Odyssée
Spike Train Statistics Sabri IPM. Review of spike train  Extracting information from spike trains  Noisy environment:  in vitro  in vivo  measurement.
Presented by Suganya Karunakaran Reduction of Spike Afterdepolarization by Increased Leak Conductance Alters Interspike Interval Variability Fernando R.
Dan Goodman & Romain Brette Ecole Normale Supérieure Projet Odyssée
Dan Goodman & Romain Brette Ecole Normale Supérieure Projet Odyssée
Introduction: Neurons and the Problem of Neural Coding Laboratory of Computational Neuroscience, LCN, CH 1015 Lausanne Swiss Federal Institute of Technology.
Romain Brette Institut de la Vision, Paris Main developers of : Dan Goodman & Marcel Stimberg Neural.
Modeling The quadratic integrate and fire follows from a reduced form (1) where F(V) is a voltage dependant function which aims to capture the voltage.
Lecture 4 Neural Networks ICS 273A UC Irvine Instructor: Max Welling Read chapter 4.
By. What advantages has it? The Reasons for Choosing Python  Python is free  It is object-oriented  It is interpreted  It is operating-system independent.
Chapter 7 Matrix Mathematics Matrix Operations Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Simulating neural networks with Romain Brette
Romain Brette Ecole Normale Supérieure, Paris Philosophy of the spike.
© 2004 The MathWorks, Inc. 1 MATLAB for C/C++ Programmers Support your C/C++ development using MATLAB’s prebuilt graphics functions and trusted numerics.
Chapter 5. Loops are common in most programming languages Plus side: Are very fast (in other languages) & easy to understand Negative side: Require a.
BRIAN Simulation of spiking neural networks
Dr. Chris Musselle – Consultant R Meets Julia Dr Chris Musselle.
Company Overview for GDF Suez December 29, Enthought’s Business Enthought provides products and consulting services for scientific software solutions.
Introduction to Julia: Why are we doing this to you? (Fall 2015) Steven G. Johnson, MIT Applied Math MIT classes , 18.06, ,
VBS Documentation and Implementation The full standard initiative is located at Quick description Standard manual.
Programming Languages: Scratch Intro to Scratch. Lower level versus high level Clearly, lower level languages can be tedious Higher level languages quickly.
Scientific Computing Beyond Matlab Nov 19, 2012 Jason Su.
Java Root IO Part of the FreeHEP Java Library Tony Johnson Mark Dönszelmann
Scientific Computing with NumPy & SciPy NumPy Installation and Documentation  Not much on the home page—don’t buy the guide, it’s.
Romain Brette & Dan Goodman Ecole Normale Supérieure Equipe Audition
The netCDF-4 data model and format Russ Rew, UCAR Unidata NetCDF Workshop 25 October 2012.
Hands-on Introduction to R. We live in oceans of data. Computers are essential to record and help analyse it. Competent scientists speak C/C++, Java,
Introduction Advantages/ disadvantages Code examples Speed Summary Running on the AOD Analysis Platforms 1/11/2007 Andrew Mehta.
Planned features STDP (close to finished) Gap junctions Using the GPU (project with GPULib) Automatic code generation Static analysis of neural networks.
Development of a Distributed MATLAB Environment with Real-Time Data Visualization Authors: Joseph Diamond, Richard McEver Affiliation: Dr. Jian Huang,
Python Mini-Course University of Oklahoma Department of Psychology Lesson 21 NumPy 6/11/09 Python Mini-Course: Lesson 21 1.
Classification (slides adapted from Rob Schapire) Eran Segal Weizmann Institute.
CS 189 Brian Chu Slides at: brianchu.com/ml/
Why consider ND-MV networks? Multi-Values: Multi-valued domains can be used to explore larger optimization spaces. Several interesting direct applications.
A (VERY) SHORT INTRODUCTION TO MATLAB J.A. MARR George Mason University School of Physics, Astronomy and Computational Sciences.
FORTRAN History. FORTRAN - Interesting Facts n FORTRAN is the oldest Language actively in use today. n FORTRAN is still used for new software development.
From brain activities to mathematical models The TempUnit model, a study case for GPU computing in scientific computation.
MATLAB "Mathematical Laboratory" Designed for numerical computation.
Brian A clock driven simulator for spiking neural networks in Python.
COMP 4332 Tutorial 1 Feb 16 WANG YUE Tutorial Overview & Learning Python.
CSC321: Neural Networks Lecture 1: What are neural networks? Geoffrey Hinton
CIS 595 MATLAB First Impressions. MATLAB This introduction will give Some basic ideas Main advantages and drawbacks compared to other languages.
PYTHON FOR HIGH PERFORMANCE COMPUTING. OUTLINE  Compiling for performance  Native ways for performance  Generator  Examples.
1 Azhari, Dr Computer Science UGM. Human brain is a densely interconnected network of approximately neurons, each connected to, on average, 10 4.
Quiz 1 A sample quiz 1 is linked to the grading page on the course web site. Everything up to and including this Friday’s lecture except that conditionals.
A rectangular array of numeric or algebraic quantities subject to mathematical operations. The regular formation of elements into columns and rows.
Simulation Environments for Neuroscience Presented by Ali Nadalizadeh – IPM – Summer 2009 به نام خداوند بخشنده مهربان.
PH2150 Scientific Computing Skills
CSC391/691 Intro to OpenCV Dr. Rongzhong Li Fall 2016

Stefan Mihalas Ernst Niebur Krieger Mind/Brain Institute and
PH2150 Scientific Computing Skills
Torch 02/27/2018 Hyeri Kim Good afternoon, everyone. I’m Hyeri. Today, I’m gonna talk about Torch.
Introduction to Deep Learning for neuronal data analyses
Python for Scientific Computing
Step-By-Step Instructions for Miniproject 2
Transforming Data (Python®)
Neuro-RAM Unit in Spiking Neural Networks with Applications
Measurement Physical Quantity SI System and Base Units Derived Units
Scientific Python Introduction
Igor Stančin, Alan Jović to: {igor.stancin,
Presentation transcript:

Dan Goodman & Romain Brette Ecole Normale Supérieure Projet Odyssée

Brian: a pure Python simulator What is Brian for? Quick model coding for every day use Easy to learn and intuitive Equations-oriented: flexible What is Brian not for? Very large-scale network models (distributed) Very detailed biophysical models

Brian in action PiPe Ce Ci P

Flexibility: adaptive threshold Threshold increases when spike arrives and decays Implemented as DE and user-defined reset and threshold functions

Performance Python is interpreted, but Brian uses NumPy for fast vector operations Python overheads add up to O(1/dt) For large N, performance improves Faster than Matlab, not much slower than C++ (1.7x)

Interoperability Python Brian’s data types PyNN NeuralEnsemble Computational neuroscience cookbook Piquant units package

Python and data types Brian is pure Python, all of its output can be used with any Python package, e.g. –NumPy (numerical) –SciPy (scientific) –PyLab (plotting) Brian’s output data types: –Quantities with physical dimensions: Quantity class derived from float, so easily compatible –Arrays with units: qarray class derived from numpy.ndarray, so easily compatible –Will talk more about Quantity and qarray later –Spike trains are lists of tuples (i,t) indicating that neuron i fired at time t

PyNN PyNN.brian in development Brian’s data structures easily compatible with PyNN, e.g. spike trains are exactly the same Through PyNN get support for many other things, e.g. –NeuroML –FacetsML

NeuralEnsemble and Cookbook NeuralEnsemble projects are in Python, so compatibility with Brian is good Brian data can be analysed with NeuroTools Computational neuroscience cookbook will facilitate code sharing and interoperability, see it at

Piquant units package Brian’s units module released as a stand-alone package Piquant, available at Idea is to have a standard package for single quantities and arrays with units for interoperability Piquant works by –Building on NumPy data types –Quantity derived from float –qarray derived from numpy.ndarray Current implementation –Single quantities good and reasonably stable –qarray slow and slightly patchy implementation, needs to be rewritten Looking for volunteers to help (get in touch!)

Piquant ideas (time allowing) Quantity –Deriving from float seems like a good idea, probably won’t change –Standard SI names: volt, amp, etc. –Standard SI prefixes: mvolt, namp, etc. –Some short names: mV, nA, etc. qarray –Current implementation has arrays with homogeneous units, or inhomogeneous Homogeneous fairly fast, just store one unit Inhomogeneous uses ndarray with dtype=object, very slow –Could use NumPy’s broadcasting rule for more flexible homogeneity Underlying array of floats X Array of units U that should be broadcastable to X, e.g. one unit for each row of X, or one unit for each column of X Performance? Compatibility with NumPy and SciPy?