Update VS2N MongoDB schemas authored by Hammouda Elbez's avatar Hammouda Elbez
# VS2N MongoDB schemas
In VS2N, we use MongoDB to store all the collected data from SNN simulations. This makes it possible to deploy VS2N on multiple nodes, for a faster and better user experience especially when working with large networks.
In VS2N, we use MongoDB to store all the collected data from SNN simulations. This makes it possible to deploy VS2N on multiple nodes for a faster and better user experience, especially when working with large networks.
Each type of collected data is stored in one collection (the equivalent of a table in a relational database system), and all the collections on one simulation are stored in one MongoDB database.
Each type of collected data is stored in one collection (the equivalent of a table in a relational database system). All the collections on one simulation are stored in one MongoDB database.
In VS2N, the types of collected data from each SNN simulation (which are stored as a collection each) are:
......@@ -16,10 +16,10 @@ In VS2N, the types of collected data from each SNN simulation (which are stored
**Optional**
- Labels of each input to the network (if possible).
Each collection contains documents (the equivalent of a row in a table of a relational database system), each document has a specific schema that needs to be respected by any simulator, in order for VS2N to work properly.
Each collection contains documents (the equivalent of a row in a table of a relational database system). Each document has a specific schema that needs to be respected by any simulator in order for VS2N to work correctly.
## Document schemas
A document schema is a JSON object that contains information about the shape, fields, and type of data stored in that document.
A *document schema* is a JSON object that contains information about the shape, fields, and type of data stored in that document.
```json
{
......@@ -37,7 +37,7 @@ A document schema is a JSON object that contains information about the shape, fi
## 1- General information schemas:
**Collection name** : info<br><br>
**Collection content** :<br>
In this collection, there are two schemas, the first one contains information about:
In this collection, there are two schemas. The first one contains information about:
- Used dataset.
- Date of simulation.
- Name of the simulation.
......@@ -69,6 +69,7 @@ In this collection, there are two schemas, the first one contains information ab
```
<div align="center">Example</div>
<br>
The second one contains optional information, which is collected if there was a test phase after training:
- Network accuracy
- final neuron classes (for non supervised learning)
......@@ -105,7 +106,7 @@ The second one contains optional information, which is collected if there was a
**Collection content** :<br>
In this collection, we collect every spike activity in the network during training. The collection contains information about:
- Time of spike (μs).
- Label of current input data (if exists).
- Label of current input data (if it exists).
- Layer name and neuron id.
```json
......@@ -114,7 +115,7 @@ In this collection, we collect every spike activity in the network during traini
"_id" : { "bsonType": "objectId" }, // id
"T" : { "bsonType": "NumberLong" }, // time of spike
"i" : { "<JSON>" }, // layer name : neuron id
"Input" : { "bsonType": "string" } // label of current input data (if exists)
"Input" : { "bsonType": "string" } // label of current input data (if it exists)
}
}
```
......@@ -211,7 +212,7 @@ In this collection, we collect every synapse weight activity in the network duri
## 5- Labels activity schemas (optional):
**Collection name** : labels<br><br>
**Collection content** :<br>
In this collection, we collect every input label in the network during training (if exist). The collection contains information about:
In this collection, we collect every input label in the network during training (if it exists). The collection contains information about:
- Time of input introduction to the network (μs).
- Label value.
- Value of total inputs already introduced.
......
......