Comments (9)
Dear Cristiano,
MUSIC has a flexible buffering facility. If the topology of connections between applications allows for it, it buffers spikes which are sent in a chunk.
I'm not at a keyboard now, but I suspect that what is happening here is that the sender buffers spikes and then exits before sending them.
Unfortunately, the examples that I have provided lack a statement that should always should be at the end of a Python script:
runtime.finalize ()
Try adding this and tell me what happens.
The reason why this occurs only when NEST is receiving and Python sending is that the NEST script hasn't specified limits on buffering and the Python sender doesn't call finalize () while the NEST sender does.
from music.
Thanks a lot! Unfortunately the command you propose throws the error
'pymusic.Runtime' object has no attribute 'finalize'
I saw the finalize() command in the C++ examples, but it does not appear in any pymusic example.
from music.
This should now work in current github master (commit 262f6f5).
(I have still not fixed the dist-packages/site-packages problem, so remember to move the lib/music files to the correct place after installation.)
Please let me know if this solves your problems.
from music.
from music.
You should add runtime.finalize() at the end of the script.
If you want to buffer less spikes (for example those from one tick) per communication, you can achieve this by setting maxBuffered (e.g. to 1) on either the sending or receiving port.
from music.
from music.
I debugged and found the issue! I wonder, though, if it is a bug in MUSIC or simply something I do not understand. The code above only works (i.e. the receiver actually receives spikes) if in the nest receiver I set a delay (for the Parrot neurons) and an acceptable latency (for the input MUSIC port) higher than 1.0 and with a decimal different than 0. For example: delay=0.9, no spikes; delay=1.0, no spikes; delay=1.1, spikes received; delay=1.9, spikes received; delay=2.0, no spikes; delay=2.1, spikes received, etc. Can anybody explain? Thanks a lot in advance.
from music.
Dear Cristiano,
I'm currently on vacation. Can I look at this in detail after a few days? Maybe you can send example files to my email address [email protected] and I can return to you?
A net delay around the loop which is smaller than the MUSIC tick rate is impossible. So, firstly, there needs to be a modeled delay on incoming spikes and, secondly, MUSIC should be informed that it is OK to deliver those spikes late (by as much as the delay).
What you are experiencing is probably related to the interpretation of the boundary of these conditions. To be safe, make sure that acceptable latency is larger than the minimum delay over the connection by some tiny number (eps). Also, make sure that the tick rate is sufficiently small.
from music.
from music.
Related Issues (20)
- Compiling PyMusic without MPI? HOT 4
- Send rudeconfig changes upstream HOT 4
- Link to manual is broken HOT 2
- autogen.sh is failed HOT 3
- make install failed HOT 2
- Debian/Ubuntu package update HOT 10
- configure ignore given PYTHON env var HOT 3
- Unable to determine process rank HOT 4
- make install throws the error: 'install-exec-hook' failed
- When I am trying to install MUSIC, with the command './configure', I encountered "-bash: ./configure: No such file or directory" HOT 5
- No module named 'music.pymusic'
- music.Setup() fails if nest is imported HOT 2
- Error during make: ‘MPI’ does not name a type HOT 5
- Is version 1.17 ready now? HOT 1
- In Python 3.12, the distutils package is removed HOT 2
- AttributeError: module 'music' has no attribute 'Setup' HOT 1
- music ignores installation path set with --prefix=..
- Cython 3 compatbility HOT 6
- MUSIC on ARM HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from music.