Skip to content

Instantly share code, notes, and snippets.

@rcrowder
Last active August 29, 2015 14:23
Show Gist options
  • Save rcrowder/aa7f798db14ad193c6fb to your computer and use it in GitHub Desktop.
Save rcrowder/aa7f798db14ad193c6fb to your computer and use it in GitHub Desktop.
Py TM extensive integration test result
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testB1
Basic sequence learner. M=1, N=100, P=1.
======================================================
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
| # active columns | 22.959596 | 1.3992725 | 21.0 | 25.0 | 2273.0 |
| # predicted => active columns (correct) | 22.959596 | 1.3992725 | 21.0 | 25.0 | 2273.0 |
| # predicted => inactive columns (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # unpredicted => active columns (bursting) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # predicted => active cells (correct) | 22.959596 | 1.3992725 | 21.0 | 25.0 | 2273.0 |
| # predicted => inactive cells (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # segments | 2273.0 | 0.0 | 2273.0 | 2273.0 | 227300.0 |
| # synapses | 25003.0 | 0.0 | 25003.0 | 25003.0 | 2500300.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testB11
Like B5, but with activationThreshold = 8 and with each pattern
======================================================
+----------------------------------------------------------+------------+--------------------+---------+---------+-----------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+------------+--------------------+---------+---------+-----------+
| # active columns | 22.7474747 | 1.4930373 | 20.0 | 25.0 | 2252.0 |
| # predicted => active columns (correct) | 21.8686869 | 1.812674 | 16.0 | 25.0 | 2165.0 |
| # predicted => inactive columns (extra) | 1.0 | 1.063632 | 0.0 | 5.0 | 99.0 |
| # unpredicted => active columns (bursting) | 0.8787879 | 1.1034631 | 0.0 | 6.0 | 87.0 |
| # predicted => active cells (correct) | 21.8686869 | 1.812674 | 16.0 | 25.0 | 2165.0 |
| # predicted => inactive cells (extra) | 1.0 | 1.063632 | 0.0 | 5.0 | 99.0 |
| # segments | 2320.23 | 25.0770233 | 2270.0 | 2357.0 | 232023.0 |
| # synapses | 24970.0 | 0.0 | 24970.0 | 24970.0 | 2497000.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+------------+--------------------+---------+---------+-----------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testB3
N=300, M=1, P=1. (See how high we can go with N)
======================================================
+----------------------------------------------------------+-----------+--------------------+---------+---------+------------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+-----------+--------------------+---------+---------+------------+
| # active columns | 23.006689 | 1.4094599 | 21.0 | 25.0 | 6879.0 |
| # predicted => active columns (correct) | 23.006689 | 1.4094599 | 21.0 | 25.0 | 6879.0 |
| # predicted => inactive columns (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # unpredicted => active columns (bursting) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # predicted => active cells (correct) | 23.006689 | 1.4094599 | 21.0 | 25.0 | 6879.0 |
| # predicted => inactive cells (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # segments | 6879.0 | 0.0 | 6879.0 | 6879.0 | 2063700.0 |
| # synapses | 75669.0 | 0.0 | 75669.0 | 75669.0 | 22700700.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+-----------+--------------------+---------+---------+------------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testB4
N=100, M=3, P=1. (See how high we can go with N*M)
======================================================
+----------------------------------------------------------+-----------+--------------------+---------+---------+------------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+-----------+--------------------+---------+---------+------------+
| # active columns | 23.006734 | 1.4118147 | 21.0 | 25.0 | 6833.0 |
| # predicted => active columns (correct) | 23.006734 | 1.4118147 | 21.0 | 25.0 | 6833.0 |
| # predicted => inactive columns (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # unpredicted => active columns (bursting) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # predicted => active cells (correct) | 23.006734 | 1.4118147 | 21.0 | 25.0 | 6833.0 |
| # predicted => inactive cells (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # segments | 6833.0 | 0.0 | 6833.0 | 6833.0 | 2049900.0 |
| # synapses | 75163.0 | 0.0 | 75163.0 | 75163.0 | 22548900.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+-----------+--------------------+---------+---------+------------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testB5
Like B1 but with cellsPerColumn = 4.
======================================================
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
| # active columns | 22.959596 | 1.3992725 | 21.0 | 25.0 | 2273.0 |
| # predicted => active columns (correct) | 22.959596 | 1.3992725 | 21.0 | 25.0 | 2273.0 |
| # predicted => inactive columns (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # unpredicted => active columns (bursting) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # predicted => active cells (correct) | 22.959596 | 1.3992725 | 21.0 | 25.0 | 2273.0 |
| # predicted => inactive cells (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # segments | 2273.0 | 0.0 | 2273.0 | 2273.0 | 227300.0 |
| # synapses | 25003.0 | 0.0 | 25003.0 | 25003.0 | 2500300.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testB6
Like B4 but with cellsPerColumn = 4.
======================================================
+----------------------------------------------------------+-----------+--------------------+---------+---------+------------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+-----------+--------------------+---------+---------+------------+
| # active columns | 23.006734 | 1.4118147 | 21.0 | 25.0 | 6833.0 |
| # predicted => active columns (correct) | 23.006734 | 1.4118147 | 21.0 | 25.0 | 6833.0 |
| # predicted => inactive columns (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # unpredicted => active columns (bursting) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # predicted => active cells (correct) | 23.006734 | 1.4118147 | 21.0 | 25.0 | 6833.0 |
| # predicted => inactive cells (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # segments | 6833.0 | 0.0 | 6833.0 | 6833.0 | 2049900.0 |
| # synapses | 75163.0 | 0.0 | 75163.0 | 75163.0 | 22548900.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+-----------+--------------------+---------+---------+------------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testB7
Like B1 but with slower learning.
======================================================
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
| # active columns | 22.959596 | 1.3992725 | 21.0 | 25.0 | 2273.0 |
| # predicted => active columns (correct) | 22.959596 | 1.3992725 | 21.0 | 25.0 | 2273.0 |
| # predicted => inactive columns (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # unpredicted => active columns (bursting) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # predicted => active cells (correct) | 22.959596 | 1.3992725 | 21.0 | 25.0 | 2273.0 |
| # predicted => inactive cells (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # segments | 2273.0 | 0.0 | 2273.0 | 2273.0 | 227300.0 |
| # synapses | 25003.0 | 0.0 | 25003.0 | 25003.0 | 2500300.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testB8
Like B7 but with 4 cells per column.
======================================================
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
| # active columns | 22.959596 | 1.3992725 | 21.0 | 25.0 | 2273.0 |
| # predicted => active columns (correct) | 22.959596 | 1.3992725 | 21.0 | 25.0 | 2273.0 |
| # predicted => inactive columns (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # unpredicted => active columns (bursting) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # predicted => active cells (correct) | 22.959596 | 1.3992725 | 21.0 | 25.0 | 2273.0 |
| # predicted => inactive cells (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # segments | 2273.0 | 0.0 | 2273.0 | 2273.0 | 227300.0 |
| # synapses | 25003.0 | 0.0 | 25003.0 | 25003.0 | 2500300.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testB9
Like B7 but present the sequence less than 4 times.
======================================================
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
| # active columns | 22.959596 | 1.3992725 | 21.0 | 25.0 | 2273.0 |
| # predicted => active columns (correct) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # predicted => inactive columns (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # unpredicted => active columns (bursting) | 22.959596 | 1.3992725 | 21.0 | 25.0 | 2273.0 |
| # predicted => active cells (correct) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # predicted => inactive cells (extra) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # segments | 2273.0 | 0.0 | 2273.0 | 2273.0 | 227300.0 |
| # synapses | 25003.0 | 0.0 | 25003.0 | 25003.0 | 2500300.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+-----------+--------------------+---------+---------+-----------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testH1
Learn two sequences with a short shared pattern.
======================================================
+----------------------------------------------------------+------------+--------------------+--------+--------+----------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+------------+--------------------+--------+--------+----------+
| # active columns | 23.0526316 | 1.3366763 | 21.0 | 25.0 | 876.0 |
| # predicted => active columns (correct) | 23.0526316 | 1.3366763 | 21.0 | 25.0 | 876.0 |
| # predicted => inactive columns (extra) | 1.0 | 4.2488389 | 0.0 | 20.0 | 38.0 |
| # unpredicted => active columns (bursting) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # predicted => active cells (correct) | 23.0526316 | 1.3366763 | 21.0 | 25.0 | 876.0 |
| # predicted => inactive cells (extra) | 1.0 | 4.2488389 | 0.0 | 20.0 | 38.0 |
| # segments | 780.0 | 0.0 | 780.0 | 780.0 | 31200.0 |
| # synapses | 8580.0 | 0.0 | 8580.0 | 8580.0 | 343200.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+------------+--------------------+--------+--------+----------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testH10
Orphan Decay mechanism reduce predicted inactive cells (extra predictions).
======================================================
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
| # active columns | 23.0526316 | 1.3366763 | 21.0 | 25.0 | 876.0 |
| # predicted => active columns (correct) | 23.0263158 | 1.3472553 | 21.0 | 25.0 | 875.0 |
| # predicted => inactive columns (extra) | 8.2105263 | 4.2498167 | 2.0 | 26.0 | 312.0 |
| # unpredicted => active columns (bursting) | 0.0263158 | 0.1600727 | 0.0 | 1.0 | 1.0 |
| # predicted => active cells (correct) | 24.2105263 | 2.9749648 | 21.0 | 36.0 | 920.0 |
| # predicted => inactive cells (extra) | 8.2368421 | 4.2577126 | 2.0 | 26.0 | 313.0 |
| # segments | 1359.025 | 0.1561249 | 1359.0 | 1360.0 | 54361.0 |
| # synapses | 14949.0 | 0.0 | 14949.0 | 14949.0 | 597960.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
| # active columns | 23.0526316 | 1.3366763 | 21.0 | 25.0 | 876.0 |
| # predicted => active columns (correct) | 22.0789474 | 1.3646202 | 19.0 | 25.0 | 839.0 |
| # predicted => inactive columns (extra) | 1.3947368 | 3.3288173 | 0.0 | 21.0 | 53.0 |
| # unpredicted => active columns (bursting) | 0.9736842 | 1.0383905 | 0.0 | 4.0 | 37.0 |
| # predicted => active cells (correct) | 22.0789474 | 1.3646202 | 19.0 | 25.0 | 839.0 |
| # predicted => inactive cells (extra) | 1.3947368 | 3.3288173 | 0.0 | 21.0 | 53.0 |
| # segments | 1007.275 | 9.0470644 | 986.0 | 1023.0 | 40291.0 |
| # synapses | 10846.0 | 0.0 | 10846.0 | 10846.0 | 433840.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testH2
Same as H1, but with cellsPerColumn == 4, and train multiple times.
======================================================
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
| # active columns | 23.0526316 | 1.3366763 | 21.0 | 25.0 | 876.0 |
| # predicted => active columns (correct) | 23.0526316 | 1.3366763 | 21.0 | 25.0 | 876.0 |
| # predicted => inactive columns (extra) | 0.5263158 | 3.201454 | 0.0 | 20.0 | 20.0 |
| # unpredicted => active columns (bursting) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # predicted => active cells (correct) | 23.0526316 | 1.3366763 | 21.0 | 25.0 | 876.0 |
| # predicted => inactive cells (extra) | 0.5263158 | 3.201454 | 0.0 | 20.0 | 20.0 |
| # segments | 991.0 | 0.0 | 991.0 | 991.0 | 39640.0 |
| # synapses | 10901.0 | 0.0 | 10901.0 | 10901.0 | 436040.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testH3
Like H2, except the shared subsequence is in the beginning.
======================================================
+----------------------------------------------------------+------------+--------------------+--------+--------+----------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+------------+--------------------+--------+--------+----------+
| # active columns | 23.0789474 | 1.28517 | 21.0 | 25.0 | 877.0 |
| # predicted => active columns (correct) | 23.0789474 | 1.28517 | 21.0 | 25.0 | 877.0 |
| # predicted => inactive columns (extra) | 0.8684211 | 3.7004342 | 0.0 | 18.0 | 33.0 |
| # unpredicted => active columns (bursting) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # predicted => active cells (correct) | 23.0789474 | 1.28517 | 21.0 | 25.0 | 877.0 |
| # predicted => inactive cells (extra) | 0.8684211 | 3.7004342 | 0.0 | 18.0 | 33.0 |
| # segments | 777.0 | 0.0 | 777.0 | 777.0 | 31080.0 |
| # synapses | 8547.0 | 0.0 | 8547.0 | 8547.0 | 341880.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+------------+--------------------+--------+--------+----------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testH4
Shared patterns. Similar to H2 except that patterns are shared between
======================================================
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
| # active columns | 23.2105263 | 1.3795097 | 21.0 | 25.0 | 882.0 |
| # predicted => active columns (correct) | 23.2105263 | 1.3795097 | 21.0 | 25.0 | 882.0 |
| # predicted => inactive columns (extra) | 1.7631579 | 5.1423638 | 0.0 | 17.0 | 67.0 |
| # unpredicted => active columns (bursting) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # predicted => active cells (correct) | 23.7105263 | 2.9904048 | 21.0 | 40.0 | 901.0 |
| # predicted => inactive cells (extra) | 2.7105263 | 9.4085848 | 0.0 | 53.0 | 103.0 |
| # segments | 1594.0 | 0.0 | 1594.0 | 1594.0 | 63760.0 |
| # synapses | 17534.0 | 0.0 | 17534.0 | 17534.0 | 701360.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testH5
Combination of H4) and H2).
======================================================
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
| # active columns | 23.2894737 | 1.3554548 | 21.0 | 25.0 | 885.0 |
| # predicted => active columns (correct) | 23.2894737 | 1.3554548 | 21.0 | 25.0 | 885.0 |
| # predicted => inactive columns (extra) | 1.3421053 | 4.6241717 | 0.0 | 19.0 | 51.0 |
| # unpredicted => active columns (bursting) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| # predicted => active cells (correct) | 23.6052632 | 2.4445371 | 21.0 | 36.0 | 897.0 |
| # predicted => inactive cells (extra) | 1.8684211 | 6.7049512 | 0.0 | 34.0 | 71.0 |
| # segments | 1421.0 | 0.0 | 1421.0 | 1421.0 | 56840.0 |
| # synapses | 15631.0 | 0.0 | 15631.0 | 15631.0 | 625240.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
======================================================
Test: __main__.ExtensiveTemporalMemoryTest.testH9
Sensitivity to small amounts of spatial noise during inference
======================================================
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
| Metric | mean | standard deviation | min | max | sum |
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
| # active columns | 22.7105263 | 1.449281 | 20.0 | 25.0 | 863.0 |
| # predicted => active columns (correct) | 21.8947368 | 1.7590289 | 19.0 | 25.0 | 832.0 |
| # predicted => inactive columns (extra) | 1.6842105 | 3.2775574 | 0.0 | 21.0 | 64.0 |
| # unpredicted => active columns (bursting) | 0.8157895 | 0.8539464 | 0.0 | 3.0 | 31.0 |
| # predicted => active cells (correct) | 21.8947368 | 1.7590289 | 19.0 | 25.0 | 832.0 |
| # predicted => inactive cells (extra) | 1.6842105 | 3.2775574 | 0.0 | 21.0 | 64.0 |
| # segments | 1006.625 | 9.8961798 | 991.0 | 1022.0 | 40265.0 |
| # synapses | 10901.0 | 0.0 | 10901.0 | 10901.0 | 436040.0 |
| # predicted => active cells per column for each sequence | None | None | None | None | None |
| # sequences each predicted => active cells appears in | None | None | None | None | None |
+----------------------------------------------------------+------------+--------------------+---------+---------+----------+
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment