Skip to content
Snippets Groups Projects
Commit 3485e378 authored by Pierre Falez's avatar Pierre Falez
Browse files

Init commit

parents
No related branches found
No related tags found
No related merge requests found
Showing
with 346 additions and 0 deletions
#N2S3 specific
results/
resource-cache/
#SBT specific
.cache/
.history/
.lib/
dist/*
target/
lib_managed/
src_managed/
project/boot/
project/plugins/project/
# IntelliJ
.idea/
n2s3.iml
# Scala IDE
.project
.settings/
#Others
.cache-main
.cache-tests
.classpath
\ No newline at end of file
.gitrepo 0 → 100644
; DO NOT EDIT (unless you know what you are doing)
;
; This subdirectory is a git "subrepo", and this file is maintained by the
; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme
;
[subrepo]
remote = git+ssh://git@git.renater.fr:2222/n2s3.git
branch = development
commit = f8a7382ccc0a54f641de0b7abe7ecbb624bdcf89
parent = 0fc67a1b92d3ab67aac48bf04b459be7ac289767
cmdver = 0.3.1
## Changes log v1.1
N2S3 1.1 is a quality improvement release.
The highlights of this version are the introduction of a new Domain Specific Language (DSL), a reorganization of the existing neuron models and lots of cleanups.
###Core
- Introduction of a DSL to simplify the task of creating a simulation.
- The different models N2S3 supports have been reorganised:
- Neuron Models are now located in the `models.neurons` package. The featured models are:
- Izhikevich (http://www.izhikevich.org/publications/spikes.pdf)
- Leaky-Integrate-and-Fire (http://www.cns.nyu.edu/~eorhan/notes/lif-neuron.pdf)
- Spike-Response-Model (http://icwww.epfl.ch/~gerstner/SPNM/node27.html)
- Synapse Models are now located in the `models.synapses` package. The featured synapses are:
- Inhibitory Synapse
- Simplified STDP
- Stantard STDP
- Static Synapse
- Ternary Synapse
###Cleanups
- Removal of lots of compilation warnings
- Removal of unused classes from the support package, old inputs
- Removal of the deprecated connections creation in ConnectionPolicy and subclasses
- Removal and cleanup of commented code
## Changes log v1.0
N2S3 1.0 is mainly an infrastructure release oriented towards the ease of development and distribution. This version builds on version 0.2 with ~165 new commits! There are also some news in the core of the simulator and the documentation. Here you have the major changes:
Infrastructure:
- N2S3 is now an SBT multi-project [1]
- Better integration with IntelliJ IDEA and Eclipse [2]
- Supporting the system's distribution:
- Clustering support
- Refactoring to support the dynamic deployment of actors in different cluster nodes.
- Two deployment strategies were implemented so far: Random and concrete node.
- Fixes in the core to make it distributable. E.g, fixed serialization of messages, global state.
- The Continuous Integration service was extended and enhanced [4]
- A new input mechanism was implemented [5, 6]
Core:
- Preliminar version of supervised learning algorithm SpikeProp
- Preliminar version of Supervised Xor, an example of learning the Xor function with SpikeProp (Error-backpropagation in temporally encoded networks of spiking neurons)
- Added bio-inspired model i.e., a model with parameters similar to those in the nature.
Examples:
- Examples of Mnist/Freeway/sevenSegment with the bio-inspired model.
- Example of Masquelier's experiment: Spike Timing Dependent Plasticity Finds the Start of Repeating Patterns in Continuous Spike Trains
- Preliminar version of an example of direction detection with reservoir computing (using supervised STDP and only 2 directions)
Documentation:
- The core scaladocs were entirely revisited
- Technical documentation about the core implementation can be found in [7]
[1] https://sourcesup.renater.fr/wiki/n2s3/environmentsetup#sbt_integration
[2] https://sourcesup.renater.fr/wiki/n2s3/environmentsetup#ide_integration
[3] https://sourcesup.renater.fr/wiki/n2s3/simulation_cluster
[4] https://sourcesup.renater.fr/jenkins/job/N2S3/
[5] https://sourcesup.renater.fr/wiki/n2s3/simulation_stimuli
[6] https://sourcesup.renater.fr/wiki/n2s3/inputs
[7] https://sourcesup.renater.fr/wiki/n2s3/devdocs
## Changes log v0.2
Infrastructural:
- all changes required to package and publish n2s3 as a library
- all tests are green
Documentation:
- on the documentation side, scaladocs were added on the main classes that are needed to setup experiments
Core:
- Added ternary synapse model
This diff is collapsed.
README.md 0 → 100755
# N2S3 a Neural Network Simulator
Thank you for downloading N2S3.
The aim of this simulator is to simulate different physical neural networks topology with different Synapses/Neurons models.
# Installation and testing
To use N2S3 in your project just declare a dependency as follows in your sbt file:
```scala
libraryDependencies ++= Seq(
"fr.univ-lille.cristal" %% "n2s3" % "1.0" exclude("net.sf", "jaer_2.11"),
"net.sf" %% "jaer" % "1.0" from "https://sourcesup.renater.fr/frs/download.php/file/5047/jaer.jar"
)
```
If you want to compile the code in this repository you can execute:
```bash
$ sbt compile
```
Similarly, you can run the tests:
```bash
$ sbt test
```
Check the docs: https://sourcesup.renater.fr/wiki/n2s3/
# Changes Log
## v1.1
N2S3 1.1 is a quality improvement release.
The highlights of this version are the introduction of a new Domain Specific Language (DSL), a reorganization of the existing neuron models and lots of cleanups.
###Infrastructure
- Update XChart version
###Core
- Introduction of a DSL to simplify the task of creating a simulation//TODO: introduce link to the documentation.
- The different models N2S3 supports have been reorganised:
- Neuron Models are now located in the `models.neurons` package. The featured models are:
- Izhikevich (http://www.izhikevich.org/publications/spikes.pdf)
- Leaky-Integrate-and-Fire (http://www.cns.nyu.edu/~eorhan/notes/lif-neuron.pdf)
- Spike-Response-Model (http://icwww.epfl.ch/~gerstner/SPNM/node27.html)
- Synapse Models are now located in the `models.synapses` package. The featured synapses are:
- Inhibitory Synapse
- Simplified STDP (http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6033439)
- Stantard STDP (https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3431193/)
- Static Synapse
- Ternary Synapse
- Improve the usage of Squant units
- There is no more `defaultSynapse` method in neuron model, therefore synapse model need to be given explicitly
- Modification in the synapses identifications. All incoming synapses have an local unique identifier
- Synapse weight graph require an explicit list of `NeuronConnection` in order to display then in the right order
###Support
- Add a Resource manager that aims to automatically download and unzip used datasets. Removal of datasets in the code repertory
###Cleanups
- Removal of lots of compilation warnings
- Removal of unused classes from the support package, old inputs
- Removal of the deprecated connections creation in ConnectionPolicy and subclasses
- Removal and cleanup of commented code
###Documentation
- Updated tutorial for version 1.1 https://sourcesup.renater.fr/wiki/n2s3/tutorial
- Updated download page https://sourcesup.renater.fr/wiki/n2s3/installation
- //TODO make page on DSL
- //TODO doc about models
## v1.0
N2S3 is now feature complete, well tested and fully documented. External users are welcome!
N2S3 1.0 is mainly an infrastructure release oriented towards the ease of development and distribution. This version builds on version 0.2 with ~165 new commits! There are also some news in the core of the simulator and the documentation. Here you have the major changes:
###Infrastructure
- N2S3 is now an SBT multi-project [1]
- Better integration with IntelliJ IDEA and Eclipse [2]
- Supporting the system's distribution:
- Clustering support
- Refactoring to support the dynamic deployment of actors in different cluster nodes.
- Two deployment strategies were implemented so far: Random and concrete node.
- Fixes in the core to make it distributable. E.g, fixed serialization of messages, global state.
- The Continuous Integration service was extended and enhanced [4]
- A new input mechanism was implemented [5, 6]
###Core
- Preliminar version of supervised learning algorithm SpikeProp
- Preliminar version of Supervised Xor, an example of learning the Xor function with SpikeProp (Error-backpropagation in temporally encoded networks of spiking neurons)
- Added bio-inspired model i.e., a model with parameters similar to those in the nature.
###Examples
- Examples of Mnist/Freeway/sevenSegment with the bio-inspired model.
- Example of Masquelier's experiment: Spike Timing Dependent Plasticity Finds the Start of Repeating Patterns in Continuous Spike Trains
- Preliminar version of an example of direction detection with reservoir computing (using supervised STDP and only 2 directions)
###Documentation
- The core scaladocs were entirely revisited
- Technical documentation about the core implementation can be found in [7]
We are waiting for your contributions, And do not hesitate to share!
The N2S3 team
[1] https://sourcesup.renater.fr/wiki/n2s3/environmentsetup#sbt_integration
[2] https://sourcesup.renater.fr/wiki/n2s3/environmentsetup#ide_integration
[3] https://sourcesup.renater.fr/wiki/n2s3/simulation_cluster
[4] https://sourcesup.renater.fr/jenkins/job/N2S3/
[5] https://sourcesup.renater.fr/wiki/n2s3/simulation_stimuli
[6] https://sourcesup.renater.fr/wiki/n2s3/inputs
[7] https://sourcesup.renater.fr/wiki/n2s3/devdocs
## v0.2
### Infrastructural
- all changes required to package and publish n2s3 as a library
- all tests are green
### Documentation
- on the documentation side, scaladocs were added on the main classes that are needed to setup experiments
### Core
- Added ternary synapse model
\ No newline at end of file
# N2S3's release process so far is the following
During development,
* development of version [X] is done in branch dev-[X], e.g. dev-0.2
* version numbers in build.sbt is [X]-SNAPSHOT, e.g., 0.2-SNAPSHOT
* regularly, SNAPSHOT versions are published in https://oss.sonatype.org/content/repositories/snapshots/fr/univ-lille/cristal/n2s3_2.11/
At release time
1) branch dev-[X] is merged into master
2) version numbers in build.sbt are set to [X]
3) a fixed version is staged/published in https://oss.sonatype.org/
4) a tag v[X] is created
5) a new development branch dev-[X+1] is started
* and a new development cycle starts
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
File added
import com.typesafe.sbt.SbtMultiJvm
import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.{MultiJvm, scalatestOptions}
lazy val commonSettings = Seq(
version := "1.1",
organization := "fr.univ-lille.cristal",
scalaVersion := "2.11.6",
scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8", "-language:postfixOps"),
/********************************************************************************************************************
* Dependecy information
******************************************************************************************************************/
resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/releases",
/********************************************************************************************************************
* Publishing options
******************************************************************************************************************/
publishTo := {
val nexus = "https://oss.sonatype.org/"
if (isSnapshot.value)
Some("snapshots" at nexus + "content/repositories/snapshots")
else
Some("releases" at nexus + "service/local/staging/deploy/maven2")
},
credentials += Credentials(Path.userHome / ".ivy2" / ".credentials"),
publishMavenStyle := true,
publishArtifact in Test := false,
pomIncludeRepository := { x => false },
pomExtra := <url>https://sourcesup.renater.fr/projects/n2s3/</url>
<licenses>
<license>
<name>CeCILL-B Version 1</name>
<url>http://www.cecill.info/licences/Licence_CeCILL-B_V1-fr.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<connection>scm:git://git.renater.fr/n2s3.git</connection>
<developerConnection>scm:git:ssh://git@git.renater.fr:2222/n2s3.git</developerConnection>
<url>https://sourcesup.renater.fr/scm/?group_id=2343</url>
</scm>
<developers>
<developer>
<id>emeraude-team</id>
<name>Emeraude Team</name>
<email>n2s3-dev@univ-lille1.fr</email>
</developer>
</developers>
)
lazy val root = (project in file(".")).
aggregate(n2s3, n2s3_cluster, examples, daemon)
lazy val n2s3 = (project in file("n2s3")).
settings(commonSettings: _*)
lazy val n2s3_cluster = (project in file("n2s3_cluster")).
settings(commonSettings: _*).
dependsOn(n2s3)
lazy val examples = (project in file("n2s3_examples")).
settings(commonSettings: _*).
dependsOn(n2s3, n2s3_cluster)
lazy val daemon = (project in file("n2s3_daemon")).
settings(commonSettings: _*).
dependsOn(n2s3)
lazy val integration_tests = (project in file("n2s3_integration_tests")).
settings(SbtMultiJvm.multiJvmSettings: _*).
settings(commonSettings: _*).
configs(MultiJvm).
dependsOn(n2s3, n2s3_cluster)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment