Feature |
Mean |
Std. Deviation |
Max |
Min |
Delay |
0.37 |
0.5 |
7.785 |
0.023 |
Jitter |
0.09 |
0.21 |
3.314 |
0.0 |
Traffic |
0.35 |
0.22 |
1.194 |
0.029 |
Link Capacity |
22.41 |
14.78 |
40.0 |
10.0 |
Table 7- Mean, Standard Deviation, Max and Min for nsfnetbw and geant2bw
Feature |
Mean |
Std. Deviation |
Max |
Min |
Delay |
0.4 |
0.61 |
10.927 |
0.022 |
Jitter |
0.09 |
0.22 |
4.658 |
0.0 |
Traffic |
0.19 |
0.15 |
1.194 |
0.014 |
Link Capacity |
22.4 |
14.77 |
40.0 |
10.0 |
Table 8 - Mean, Standard Deviation,
Max and Min for nsfnetbw, geant2bw and synth50bw
The values from the original demo code are shown in Table 9 - Original normalisation values.
Feature |
Mean |
Std. Deviation |
Delay |
0.37 |
0.54 |
Traffic |
0.17 |
0.13 |
Link Capacity |
25 |
40 |
Table 9 - Original normalisation
values
On 25 Sep 2019, at 13:56, Nathan Sowatskey <nathan@nathan.to> wrote:Many thanks. I had planned to factor the normalisation code into discrete functions, so this makes sense. That way I can run different tests with different normalisation strategies.
Regards
NathanOn 25 Sep 2019, at 12:06, Jose Suárez-Varela <jsuarezv@ac.upc.edu> wrote:
Hello Nathan,
The normalization may be considered a configurable parameter in RouteNet. You may use the normalization function that is more convenient depending on your training data. This means that it is not necessary to apply always a linear function to normalize the data. The only condition is that during the inference you must apply the opposite transformation to the output.
In the case of RouteNet with forwarding nodes, this is a work in progress where we have considered to use a logarithmic function to normalize the delay data and assess if the model fits better.
Regards,
José
El 22/09/2019 a las 17:27, Nathan Sowatskey escribió:Hi
In the demo code, for example in:
https://github.com/knowledgedefinednetworking/demo-routenet/blob/master/demo_notebooks/demo.ipynb
A form of normalisation is applied:
predictions = 0.54*preds + 0.37
This is consistent with the parse() function here:
https://github.com/knowledgedefinednetworking/demo-routenet/blob/master/code/routenet_with_link_cap.py#L83
if k == 'delay':
features[k] = (features[k] - 0.37) / 0.54
if k == 'traffic':
features[k] = (features[k] - 0.17) / 0.13
if k == 'link_capacity':
features[k] = (features[k] - 25.0) / 40.0
There is another case here:
https://github.com/knowledgedefinednetworking/network-modeling-GNN/blob/master/routenet_with_forwarding_nodes/routenet_with_forwarding_nodes.py#L93
if k == 'delay':
features[k] = (tf.math.log(features[k]) + 1.78) / 0.93
if k == 'traffic':
features[k] = (features[k] - 0.28) / 0.15
if k == 'jitter':
features[k] = (features[k] - 1.5) / 1.5
if k == 'link_capacity':
features[k] = (features[k] - 27.0) / 14.86
if k == 'queue_sizes':
features[k] = (features[k] - 16.5) / 15.5
What is the basis for this normalisation and those specific constants please?
Why does the normalisation in routenet_with_link_cap and routenet_with_forwarding_nodes differ?
Many thanks
Nathan
_______________________________________________
Kdn-users mailing list
Kdn-users@knowledgedefinednetworking.org
https://mail.n3cat.upc.edu/cgi-bin/mailman/listinfo/kdn-users
_______________________________________________
Kdn-users mailing list
Kdn-users@knowledgedefinednetworking.org
https://mail.n3cat.upc.edu/cgi-bin/mailman/listinfo/kdn-users