ANNarchy 4.8.2
  • ANNarchy
  • Installation
  • Tutorial
  • Manual
  • Notebooks
  • Reference

  • Reference
  • Core components
    • Population
    • Projection
    • Neuron
    • Synapse
    • Monitor
    • PopulationView
    • Dendrite
    • Network
  • Configuration
    • setup
    • compile
    • clear
    • reset
    • set_seed
    • get_population
    • get_projection
    • populations
    • projections
    • monitors
  • Simulation
    • simulate
    • simulate_until
    • step
    • parallel_run
    • enable_learning
    • disable_learning
    • get_time
    • set_time
    • get_current_step
    • set_current_step
    • dt
  • Neuron models
    • LeakyIntegrator
    • Izhikevich
    • IF_curr_exp
    • IF_cond_exp
    • IF_curr_alpha
    • IF_cond_alpha
    • HH_cond_exp
    • EIF_cond_alpha_isfa_ista
    • EIF_cond_exp_isfa_ista
  • Synapse models
    • STP
    • STDP
    • Hebb
    • Oja
    • IBCM
  • Inputs
    • InputArray
    • TimedArray
    • PoissonPopulation
    • TimedPoissonPopulation
    • SpikeSourceArray
    • HomogeneousCorrelatedSpikeTrains
    • CurrentInjection
    • DecodingProjection
    • ImagePopulation
    • VideoPopulation
  • IO
    • save
    • load
    • save_parameters
    • load_parameters
  • Utilities
    • report
  • Random Distributions
    • Uniform
    • DiscreteUniform
    • Normal
    • LogNormal
    • Exponential
    • Gamma
    • Binomial
  • Functions and Constants
    • add_function
    • functions
    • Constant
    • get_constant
  • Plotting
    • raster_plot
    • histogram
    • inter_spike_interval
    • coefficient_of_variation
    • population_rate
    • smoothed_rate
  • Callbacks
    • every
    • callbacks_enabled
    • disable_callbacks
    • enable_callbacks
    • clear_all_callbacks
  • Convolution
    • Convolution
    • Pooling
    • Transpose
    • Copy
  • BOLD monitoring
    • BoldMonitor
    • BoldModel
    • balloon_RN
    • balloon_RL
    • balloon_CN
    • balloon_CL
    • balloon_maith2021
    • balloon_two_inputs
  • Tensorboard logging
    • Logger
  • ANN-to-SNN conversion
    • ANNtoSNNConverter

On this page

  • Population
    • Parameters
    • Attributes
    • Methods
      • clear
      • compute_firing_rate
      • coordinates_from_rank
      • disable
      • enable
      • get
      • load
      • neuron
      • normalized_coordinates_from_rank
      • rank_from_coordinates
      • reset
      • save
      • set
      • size_in_bytes
      • sum

Population

core.Population.Population(
    self,
    geometry,
    neuron,
    name=None,
    stop_condition=None,
    storage_order='post_to_pre',
    copied=False,
)

Structure for a population of homogeneous neurons.

Example:

pop = ann.Population(100, neuron=ann.Izhikevich, name="Excitatory population")

Parameters

Name Type Description Default
geometry tuple | int population geometry as tuple. If an integer is given, it is the size of the population. required
neuron Neuron Neuroninstance. It can be user-defined or a built-in model. required
name str unique name of the population (optional, it defaults to pop0, pop1, etc). None
stop_condition str a single condition on a neural variable which can stop the simulation whenever it is true. None

Attributes

Name Description
attributes List of attribute names.
depth Depth of the population.
dimension Number of dimensions of the population.
functions List of declared functions.
geometry Geometry of the population.
height Height of the population.
name Name of the population
neurons Returns iteratively each neuron in the population.
parameters List of parameter names.
ranks Array of ranks in the population (between 0 and size - 1).
refractory Refractory period (in ms).
size Size of the population.
targets List of connected targets.
variables List of variable names.
width Width of the population.

Methods

Name Description
clear Clears all spiking events previously emitted (history of spikes, delayed spikes).
compute_firing_rate Tells spiking neurons in the population to compute their mean firing rate over the given window and store the values in the variable r.
coordinates_from_rank Returns the coordinates of a neuron based on its rank.
disable Temporarily disables computations in this population (including the projections leading to it).
enable (Re)-enables computations in this population, after they were disabled by the disable() method.
get Returns the value of neural variables and parameters.
load Load the saved state of the population by Population.save().
neuron Returns an IndividualNeuron object wrapping the neuron with the provided rank or coordinates.
normalized_coordinates_from_rank Returns normalized coordinates of a neuron based on its rank.
rank_from_coordinates Returns the rank of a neuron based on coordinates.
reset Resets all parameters and variables of the population to the value they had before the call to compile().
save Saves all information about the population (structure, current value of parameters and variables) into a file.
set Sets the value of neural variables and parameters.
size_in_bytes Returns the size of allocated memory on the C++ side. Please note that this does not contain monitored data and works only if compile() has been invoked.
sum Returns the array of weighted sums corresponding to the target:

clear

core.Population.Population.clear()

Clears all spiking events previously emitted (history of spikes, delayed spikes).

Can be useful if you do not want to totally reset a population (i.e. all variables), only to clear the spiking history between two trials.

Note: does nothing for rate-coded networks.

compute_firing_rate

core.Population.Population.compute_firing_rate(window)

Tells spiking neurons in the population to compute their mean firing rate over the given window and store the values in the variable r.

This method has an effect on spiking neurons only.

If this method is not called, r will always be 0.0. r can of course be accessed and recorded as any other variable.

Parameters

Name Type Description Default
window float window in ms over which the spikes will be counted. required

coordinates_from_rank

core.Population.Population.coordinates_from_rank(rank)

Returns the coordinates of a neuron based on its rank.

Parameters

Name Type Description Default
rank int Rank of the neuron. required

Returns

Name Type Description
tuple Coordinates.

disable

core.Population.Population.disable()

Temporarily disables computations in this population (including the projections leading to it).

You can re-enable it with the enable() method.

enable

core.Population.Population.enable()

(Re)-enables computations in this population, after they were disabled by the disable() method.

The status of the population is accessible through the enabled flag.

get

core.Population.Population.get(name)

Returns the value of neural variables and parameters.

Parameters

Name Type Description Default
name str attribute name as a string. required

load

core.Population.Population.load(filename, pickle_encoding=None)

Load the saved state of the population by Population.save().

Warning: Matlab data can not be loaded.

Example:

pop.load('pop1.npz')
pop.load('pop1.txt')
pop.load('pop1.txt.gz')

Parameters

Name Type Description Default
filename the filename with relative or absolute path. required

neuron

core.Population.Population.neuron(*coord)

Returns an IndividualNeuron object wrapping the neuron with the provided rank or coordinates.

Returns

Name Type Description
IndividualNeuron IndividualNeuron instance.

normalized_coordinates_from_rank

core.Population.Population.normalized_coordinates_from_rank(rank, norm=1.0)

Returns normalized coordinates of a neuron based on its rank. The geometry of the population is mapped to the hypercube [0,1]d[0, 1]^d[0,1]d

Parameters

Name Type Description Default
rank int Rank of the neuron required
norm float Norm of the cube (default = 1.0) 1.0

Returns

Name Type Description
tuple Coordinates.

rank_from_coordinates

core.Population.Population.rank_from_coordinates(coord)

Returns the rank of a neuron based on coordinates.

Parameters

Name Type Description Default
coord tuple Coordinate tuple, can be multidimensional. required

Returns

Name Type Description
int Rank.

reset

core.Population.Population.reset(attributes=None)

Resets all parameters and variables of the population to the value they had before the call to compile().

Parameters

Name Type Description Default
attributes list list of attributes (parameter or variable) which should be reinitialized. Default: all attributes. None

save

core.Population.Population.save(filename)

Saves all information about the population (structure, current value of parameters and variables) into a file.

  • If the file name is ‘.npz’, the data will be saved and compressed using np.savez_compressed (recommended).

  • If the file name ends with ‘.gz’, the data will be pickled into a binary file and compressed using gzip.

  • If the file name is ‘.mat’, the data will be saved as a Matlab 7.2 file. Scipy must be installed.

  • Otherwise, the data will be pickled into a simple binary text file using pickle.

Warning: The ‘.mat’ data will not be loadable by ANNarchy, it is only for external analysis purpose.

Example:

pop.save('pop1.npz')
pop.save('pop1.txt')
pop.save('pop1.txt.gz')
pop.save('pop1.mat')

Parameters

Name Type Description Default
filename str Filename, may contain relative or absolute path. required

set

core.Population.Population.set(values)

Sets the value of neural variables and parameters.

Example:

pop.set({'tau': 20.0, 'r': np.random.rand((8,8)) } )

Parameters

Name Type Description Default
values dict dictionary of attributes to be updated. required

size_in_bytes

core.Population.Population.size_in_bytes()

Returns the size of allocated memory on the C++ side. Please note that this does not contain monitored data and works only if compile() has been invoked.

Returns

Name Type Description
int Size.

sum

core.Population.Population.sum(target)

Returns the array of weighted sums corresponding to the target:

excitatory = pop.sum('exc')

For spiking networks, this is equivalent to accessing the conductances directly:

excitatory = pop.g_exc

If no incoming projection has the given target, the method returns zeros.

Note: it is not possible to distinguish the original population when the same target is used.

Parameters

Name Type Description Default
target str the desired projection target. required
Reference
Projection
 

Copyright Julien Vitay, Helge Ülo Dinkelbach, Fred Hamker