|
|
# VS2N MongoDB schemas
|
|
# 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:
|
|
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 |
... | @@ -16,10 +16,10 @@ In VS2N, the types of collected data from each SNN simulation (which are stored |
|
|
**Optional**
|
|
**Optional**
|
|
|
- Labels of each input to the network (if possible).
|
|
- 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
|
|
## 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
|
|
```json
|
|
|
{
|
|
{
|
| ... | @@ -37,7 +37,7 @@ A document schema is a JSON object that contains information about the shape, fi |
... | @@ -37,7 +37,7 @@ A document schema is a JSON object that contains information about the shape, fi |
|
|
## 1- General information schemas:
|
|
## 1- General information schemas:
|
|
|
**Collection name** : info<br><br>
|
|
**Collection name** : info<br><br>
|
|
|
**Collection content** :<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.
|
|
- Used dataset.
|
|
|
- Date of simulation.
|
|
- Date of simulation.
|
|
|
- Name of the simulation.
|
|
- Name of the simulation.
|
| ... | @@ -69,6 +69,7 @@ In this collection, there are two schemas, the first one contains information ab |
... | @@ -69,6 +69,7 @@ In this collection, there are two schemas, the first one contains information ab |
|
|
```
|
|
```
|
|
|
<div align="center">Example</div>
|
|
<div align="center">Example</div>
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
|
The second one contains optional information, which is collected if there was a test phase after training:
|
|
The second one contains optional information, which is collected if there was a test phase after training:
|
|
|
- Network accuracy
|
|
- Network accuracy
|
|
|
- final neuron classes (for non supervised learning)
|
|
- final neuron classes (for non supervised learning)
|
| ... | @@ -105,7 +106,7 @@ The second one contains optional information, which is collected if there was a |
... | @@ -105,7 +106,7 @@ The second one contains optional information, which is collected if there was a |
|
|
**Collection content** :<br>
|
|
**Collection content** :<br>
|
|
|
In this collection, we collect every spike activity in the network during training. The collection contains information about:
|
|
In this collection, we collect every spike activity in the network during training. The collection contains information about:
|
|
|
- Time of spike (μs).
|
|
- Time of spike (μs).
|
|
|
- Label of current input data (if exists).
|
|
- Label of current input data (if it exists).
|
|
|
- Layer name and neuron id.
|
|
- Layer name and neuron id.
|
|
|
|
|
|
|
|
```json
|
|
```json
|
| ... | @@ -114,7 +115,7 @@ In this collection, we collect every spike activity in the network during traini |
... | @@ -114,7 +115,7 @@ In this collection, we collect every spike activity in the network during traini |
|
|
"_id" : { "bsonType": "objectId" }, // id
|
|
"_id" : { "bsonType": "objectId" }, // id
|
|
|
"T" : { "bsonType": "NumberLong" }, // time of spike
|
|
"T" : { "bsonType": "NumberLong" }, // time of spike
|
|
|
"i" : { "<JSON>" }, // layer name : neuron id
|
|
"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 |
... | @@ -211,7 +212,7 @@ In this collection, we collect every synapse weight activity in the network duri |
|
|
## 5- Labels activity schemas (optional):
|
|
## 5- Labels activity schemas (optional):
|
|
|
**Collection name** : labels<br><br>
|
|
**Collection name** : labels<br><br>
|
|
|
**Collection content** :<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).
|
|
- Time of input introduction to the network (μs).
|
|
|
- Label value.
|
|
- Label value.
|
|
|
- Value of total inputs already introduced.
|
|
- Value of total inputs already introduced.
|
| ... | | ... | |