-
Notifications
You must be signed in to change notification settings - Fork 12
/
.nengobones.yml
379 lines (346 loc) · 17.3 KB
/
.nengobones.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
project_name: NengoLoihi
pkg_name: nengo_loihi
repo_name: nengo/nengo-loihi
copyright_start: 2018
description: Run Nengo models on the Loihi chip
license: apache
main_branch: main
license_rst: {}
contributing_rst: {}
contributors_rst: {}
manifest_in:
global-exclude:
- "*.pkl"
recursive-include:
- nengo_loihi *.c
- nengo_loihi *.h
- nengo_loihi *.template
include:
- pytest.ini
setup_py:
entry_points:
nengo.backends:
- loihi = nengo_loihi:Simulator
package_data:
nengo_loihi:
- nengo_loihi/snips/*
include_package_data: True
install_req:
- jinja2
- nengo>=3.1.0
- packaging
- scipy>=1.2.1
docs_req:
- nengo_sphinx_theme>=0.7
- numpydoc>=0.6
- sphinx>=1.8
optional_req:
- nengo-extras>=0.5 # optional nengo-dl builders for neurons
- networkx-metis>=1.0
tests_req:
- coverage>=4.3
- nengo-extras>=0.5
- pytest>=5.0.0
- pytest-allclose>=1.0.0
- pytest-cov>=2.6.0
- pytest-plt>=1.0.0
- pytest-rng>=1.0.0
- pytest-xdist>=2.0.0
- matplotlib>=2.0
classifiers:
- "Development Status :: 4 - Beta"
- "Framework :: Nengo"
- "Intended Audience :: Science/Research"
- "Operating System :: OS Independent"
- "Programming Language :: Python :: 3.6"
- "Programming Language :: Python :: 3.7"
- "Programming Language :: Python :: 3.8"
- "Programming Language :: Python :: 3.9"
- "Programming Language :: Python :: 3.10"
- "Topic :: Scientific/Engineering :: Artificial Intelligence"
setup_cfg:
codespell:
ignore_words:
- alha
- hist
coverage:
exclude_lines:
- "# Don't complain if non-runnable code isn't run:"
- "if __name__ == .__main__.:"
pylint:
ignore:
- compat.py
disable:
# TODO: fix these and start checking for them
- broad-except
- cell-var-from-loop
- consider-using-enumerate
- consider-using-f-string
- consider-using-in
- expression-not-assigned
- inconsistent-return-statements
- invalid-unary-operand-type
- logging-not-lazy
- missing-docstring
- no-value-for-parameter
- not-callable
- redefined-outer-name
- superfluous-parens
- undefined-loop-variable
- unnecessary-pass
- unused-variable
- wrong-import-position
known_third_party:
- abr_control
- nengo_dl
- nengo_extras
- packaging
pytest:
filterwarnings:
- ignore:Combining two lowpass synapses
- ignore:divide by zero
- ignore:invalid value encountered in
- ignore:Non-finite values detected in `max_rates`
nengo_neurons:
- nengo.LIF
- nengo.SpikingRectifiedLinear
nengo_simloader: nengo_loihi.tests.make_test_sim
nengo_test_unsupported:
# no ensembles on chip
test_circularconv.py::*: no ensembles onchip
test_product.py::test_direct_mode_with_single_neuron: no ensembles onchip
test_connection.py::test_neuron_slicing: no ensembles onchip
test_connection.py::test_boolean_indexing: no ensembles onchip
test_learning_rules.py::test_pes_synapse*: no ensembles onchip
test_learning_rules.py::test_pes_recurrent_slice*: no ensembles onchip
test_neurons.py::test_amplitude[LIFRate]: no ensembles onchip
test_neurons.py::test_amplitude[RectifiedLinear]: no ensembles onchip
test_neurons.py::test_alif_rate: no ensembles onchip
test_neurons.py::test_izhikevich: no ensembles onchip
test_neurons.py::test_sigmoid_response_curves*: no ensembles onchip
test_node.py::test_time: no ensembles onchip
test_node.py::test_simple: no ensembles onchip
test_node.py::test_connected: no ensembles onchip
test_node.py::test_passthrough: no ensembles onchip
test_node.py::test_passthrough_filter: no ensembles onchip
test_node.py::test_circular: no ensembles onchip
test_node.py::test_outputparam_errors: no ensembles onchip
test_node.py::test_none: no ensembles onchip
test_node.py::test_unconnected_node: no ensembles onchip
test_node.py::test_set_arraylike_output: no ensembles onchip
test_node.py::test_set_callable_output: no ensembles onchip
test_node.py::test_set_output: no ensembles onchip
test_node.py::test_delay: no ensembles onchip
test_node.py::test_args: no ensembles onchip
test_node.py::test_node_with_offset_array_view: no ensembles onchip
test_node.py::test_node_with_unusual_strided_view: no ensembles onchip
test_probe.py::test_multirun: no ensembles onchip
test_probe.py::test_dts: no ensembles onchip
test_probe.py::test_large: no ensembles onchip
test_probe.py::test_conn_output: no ensembles onchip
test_processes.py::test_time: no ensembles onchip
test_processes.py::test_brownnoise: no ensembles onchip
test_processes.py::test_gaussian_white*: no ensembles onchip
test_processes.py::test_whitesignal*: no ensembles onchip
test_processes.py::test_reset: no ensembles onchip
test_processes.py::test_seed: no ensembles onchip
test_processes.py::test_present_input: no ensembles onchip
test_processes.py::TestPiecewise*: no ensembles onchip
test_processes.py::test_x_copy: no ensembles onchip
test_simulator.py::test_steps: no ensembles onchip
test_simulator.py::test_sim_reopen: no ensembles onchip
test_simulator.py::test_time_absolute: no ensembles onchip
test_simulator.py::test_trange*: no ensembles onchip
test_simulator.py::test_probe_cache: no ensembles onchip
test_simulator.py::test_sim_seed_set_by_network_seed: no ensembles onchip
test_simulator.py::test_invalid_run_time: no ensembles onchip
test_simulator.py::test_sample_every*: no ensembles onchip
test_synapses.py::test_lowpass: no ensembles onchip
test_synapses.py::test_alpha: no ensembles onchip
test_synapses.py::test_triangle: no ensembles onchip
test_synapses.py::test_linearfilter: no ensembles onchip
test_synapses.py::test_synapse_subclass: no ensembles onchip
utils/*test_ensemble.py::test_*_curves_direct_mode*: no ensembles onchip
utils/*test_network.py::test_activate_direct_mode_learning[learning_rule1*: no ensembles onchip
utils/*test_network.py::test_activate_direct_mode_learning[learning_rule2*: no ensembles onchip
utils/*test_network.py::test_activate_direct_mode_learning[learning_rule3*: no ensembles onchip
utils/*test_neurons.py::test_rates_*: no ensembles onchip
test_transforms.py::test_convolution*: no ensembles onchip
test_transforms_conv.py::test_convolution[*: no ensembles onchip
test_transforms_conv.py::test_convolution_groups[*: no ensembles onchip
test_synapses.py::test_combined_delay: no ensembles onchip
test_synapses.py::test_direct: no ensembles onchip
# accuracy
test_actionselection.py::test_basic: inaccurate
test_actionselection.py::test_thalamus: inaccurate
test_assoc_mem.py::test_am_threshold: integrator instability
test_assoc_mem.py::test_am_wta: integrator instability
test_assoc_mem.py::test_am_basic: integrator instability
test_assoc_mem.py::test_am_complex: integrator instability
test_ensemblearray.py::test_matrix_mul: inaccurate
test_product.py::test_sine_waves: inaccurate
test_workingmemory.py::test_inputgatedmemory: inaccurate
test_cortical.py::test_convolution: inaccurate
test_thalamus.py::test_routing: inaccurate
test_thalamus.py::test_nondefault_routing: inaccurate
test_connection.py::test_node_to_ensemble*: inaccurate
test_connection.py::test_neurons_to_node*: inaccurate
test_connection.py::test_function_and_transform: inaccurate
test_connection.py::test_weights*: inaccurate
test_connection.py::test_slicing*: inaccurate
test_connection.py::test_function_output_size: inaccurate
test_connection.py::test_function_points: inaccurate
test_ensemble.py::test_scalar*: inaccurate
test_ensemble.py::test_vector*: inaccurate
test_learning_rules.py::test_pes_transform: inaccurate
test_learning_rules.py::test_slicing: inaccurate
test_neurons.py::test_alif: inaccurate
test_neurons.py::test_amplitude[LIF]: inaccurate
test_neurons.py::test_amplitude[SpikingRectifiedLinear]: inaccurate
test_presets.py::test_thresholding_preset: inaccurate
test_synapses.py::test_decoders: inaccurate
# builder inconsistencies
test_connection.py::test_transform_probe: transform shape not implemented
test_connection.py::test_list_indexing*: indexing bug?
test_ensemble.py::test_gain_bias_warning: warning not raised
test_ensemble.py::*invalid_intercepts*: BuildError not raised
test_learning_rules.py::test_pes_ens_*: learning bug?
test_learning_rules.py::test_pes_weight_solver: learning bug?
test_learning_rules.py::test_pes_neuron_*: learning bug?
test_learning_rules.py::test_pes_multidim_error: dict of learning rules not handled
test_learning_rules.py::test_reset*: learning bug?
test_neurons.py::test_lif_min_voltage[-1]: min voltage bug?
test_neurons.py::test_lif_zero_tau_ref: lif.tau_ref ignored
test_probe.py::test_input_probe: shape mismatch
test_probe.py::test_slice: ObjView not handled properly
test_probe.py::test_update_timing: probe bug?
test_solvers.py::test_nosolver[*: NoSolver bug
test_learning_rules.py::test_bad_learning_rule_modifies: Exception not implemented
# reference builder only (often checks signals)
test_neurons.py::test_bad_initial_state: No exception for state clobbering 'in' signal
test_learning_rules.py::test_pes_pre_post_varieties[*: Model does not have operators
# reset bugs
test_neurons.py::test_reset*: sim.reset not working correctly
# PES limitations
test_learning_rules.py::test_pes_adv_idx: PES does not support connections from Neurons
# non-PES learning rules
test_connection.py::test_learning_transform_shape_error: non-PES learning rules not implemented
test_learning_rules.py::test_unsupervised*: non-PES learning rules not implemented
test_learning_rules.py::test_dt_dependence*: non-PES learning rules not implemented
test_voja*: voja not implemented
test_learning_rules.py::test_custom_type: non-PES learning rules not implemented
test_learning_rules.py::test_rls_*: non-PES learning rules not implemented
# Nengo bug
test_simulator.py::test_entry_point: logic should be more flexible
# ensemble noise
test_ensemble.py::test_noise*: ensemble.noise not implemented
# probe types
test_connection.py::test_dist_transform: probe type not implemented
test_connection.py::test_decoder_probe: probe type not implemented
test_probe.py::test_defaults: probe type not implemented
test_probe.py::test_ensemble_encoders: probe type not implemented
# probe.sample_every
test_integrator.py::test_integrator: probe.sample_every not implemented
test_oscillator.py::test_oscillator: probe.sample_every not implemented
test_ensemble.py::test_product*: probe.sample_every not implemented
test_neurons.py::test_dt_dependence*: probe.sample_every not implemented
test_probe.py::test_multiple_probes: probe.sample_every not implemented
# needs better place and route
test_ensemble.py::test_eval_points_heuristic[1290-4]: max number of compartments exceeded
test_ensemble.py::test_eval_points_heuristic[2108-1]: max number of compartments exceeded
test_neurons.py::test_lif[*: idx_bits out of range
test_basalganglia.py::test_basal_ganglia: output_axons exceeded max
test_cortical.py::test_connect: total synapse bits exceeded max
test_cortical.py::test_transform: total synapse bits exceeded max
test_cortical.py::test_translate: total synapse bits exceeded max
test_memory.py::test_run: total synapse bits exceeded max
test_memory.py::test_run_decay: total synapse bits exceeded max
test_state.py::test_memory_run: total synapse bits exceeded max
test_state.py::test_memory_run_decay: total synapse bits exceeded max
test_bind.py::test_run: exceeded max cores per chip on loihi
# serialization / deserialization
test_cache.py::*: model pickling not implemented
test_copy.py::test_pickle_model: model pickling not implemented
test_copy.py::test_pickle_sim[*: simulator pickling not implemented
test_simulator.py::test_signal_init_values: nengo.builder.Model instances not handled
# progress bars
test_simulator.py::test_simulator_progress_bars: progress bars not implemented
# utils.connection.target_function (deprecated)
utils/tests/test_connection.py*: target_function (deprecated) not working
# removing passthroughs changes test behaviour
test_connection.py::test_zero_activities_error: decoded connection optimized away
test_connection.py::test_function_returns_none_error: decoded connection optimized away
# unsupported neuron types
test_neurons.py::test_sigmoid_invalid: Sigmoid neurons unsupported
test_neurons.py::test_spiking_types[base_type0]: LIFRate neurons unsupported
test_neurons.py::test_spiking_types[base_type1]: RectifiedLinear neurons unsupported
test_neurons.py::test_spiking_types[base_type2]: Tanh neurons unsupported
# unsupported convolution features
test_solvers.py::test_non_compositional_solver_transform_error: 1D convolution not supported
test_transforms_conv.py::test_convolution_nef[*: non-identical neuron gains not supported for convolution
# sparse transforms not supported
test_transforms.py::test_sparse[*: sparse transforms not supported on host-chip connections
# neuron advanced indexing not yet supported
test_connection.py::test_neuron_advanced_indexing: neuron advanced indexing not yet supported
# dtype not supported
test_simulator.py::test_dtype[*: dtype option not supported
# negative activities not supported
test_solvers.py::test_all_negative_activities[*: Negative activities not supported
# non-zero initial voltages not supported
test_neurons.py::test_initial_state[*: Non-zero initial voltages not supported
allclose_tolerances:
- tests/test_solvers.py::test_non_compositional_solver[solver0] atol=0.15
- tests/test_connection.py::test_configure_weight_solver atol=0.15
docs_conf_py:
intersphinx_mapping:
scipy: https://docs.scipy.org/doc/scipy/reference
nengo_extras: https://www.nengo.ai/nengo-extras
nengo_logo: nengo-loihi-full-light.svg
nengo_logo_color: "#127bc1"
doctest_setup:
- import nengo
html_redirects:
examples/index.html: https://www.nengo.ai/nengo-examples/loihi/
examples/adaptive_motor_control.html: https://www.nengo.ai/nengo-examples/loihi/adaptive-motor-control.html
examples/adaptive-motor-control.html: https://www.nengo.ai/nengo-examples/loihi/adaptive-motor-control.html
examples/cifar10-convnet.html: https://www.nengo.ai/nengo-examples/loihi/cifar10-convnet.html
examples/communication_channel.html: https://www.nengo.ai/nengo-examples/loihi/communication-channel.html
examples/communication-channel.html: https://www.nengo.ai/nengo-examples/loihi/communication-channel.html
examples/dvs-from-file.html: https://www.nengo.ai/nengo-examples/loihi/dvs-from-file.html
examples/integrator.html: https://www.nengo.ai/nengo-examples/loihi/integrator.html
examples/integrator_multi_d.html: https://www.nengo.ai/nengo-examples/loihi/integrator-multi-d.html
examples/integrator-multi-d.html: https://www.nengo.ai/nengo-examples/loihi/integrator-multi-d.html
examples/keras-to-loihi.html: https://www.nengo.ai/nengo-examples/loihi/keras-to-loihi.html
examples/keyword_spotting.html: https://www.nengo.ai/nengo-examples/loihi/keyword-spotting.html
examples/keyword-spotting.html: https://www.nengo.ai/nengo-examples/loihi/keyword-spotting.html
examples/learn_communication_channel.html: https://www.nengo.ai/nengo-examples/loihi/learn-communication-channel.html
examples/learn-communication-channel.html: https://www.nengo.ai/nengo-examples/loihi/learn-communication-channel.html
examples/lmu.html: https://www.nengo.ai/nengo-examples/loihi/lmu.html
examples/mnist_convnet.html: https://www.nengo.ai/nengo-examples/loihi/mnist-convnet.html
examples/mnist-convnet.html: https://www.nengo.ai/nengo-examples/loihi/mnist-convnet.html
examples/neuron_to_neuron.html: https://www.nengo.ai/nengo-examples/loihi/neuron-to-neuron.html
examples/neuron-to-neuron.html: https://www.nengo.ai/nengo-examples/loihi/neuron-to-neuron.html
examples/oscillator.html: https://www.nengo.ai/nengo-examples/loihi/oscillator.html
examples/oscillator_nonlinear.html: https://www.nengo.ai/nengo-examples/loihi/oscillator-nonlinear.html
examples/oscillator-nonlinear.html: https://www.nengo.ai/nengo-examples/loihi/oscillator-nonlinear.html
ci_scripts:
- template: test
output_name: emulator
pip_install:
- $NENGO_VERSION
- $NENGO_DL_VERSION
- jupyter
- numpy
coverage: true
nengo_tests: true
- template: static
- template: hardware
coverage: true
host: loihihost
pip_install:
- coverage
- template: docs
- template: deploy
wheel: true
pre_commit_config_yaml: {}
pyproject_toml: {}