braindynamicsusyd / spikenet Goto Github PK
View Code? Open in Web Editor NEWA computational platform for studying spiking neural circuits developed by Dr. Pulin Gong's group at University of Sydney.
License: Apache License 2.0
A computational platform for studying spiking neural circuits developed by Dr. Pulin Gong's group at University of Sydney.
License: Apache License 2.0
/usr/bin/m4:configure.ac:10: cannot open `m4/ax_lib_hdf5.m4': No such file or directory
autom4te: /usr/bin/m4 failed with exit status: 1
brew has migrated hdf5 and autoconf does seem to be up to date.
As a result, the code cannot be run on a mac if following the readme.
I haven’t added these to the simulation-restarting part yet:
https://github.com/BrainDynamicsUSYD/SpikeNet/blob/master/matlab_interface/writeExtConductanceTimeVariantSettingsHDF5.m
https://github.com/BrainDynamicsUSYD/SpikeNet/blob/master/matlab_interface/writeExtCurrentTimeVariantSettingsHDF5.m
This means if you use these two new features together with restarting, shit will happen.
We need a thorough check there if we still want to use the restarting feature
The following function is a hack. It opens and closes the input file every time it is called.
This is because the rest of the code uses HDF5 C++ API, but HDF5 C API is needed here.
This may cause excessive overhead.
Solutions:
(1) Use HDF5 C API for the rest of the code (lots of work!) or
(2) Wait for better HDF5 C++ API error handling.
bool SimuInterface::group_exist_HDF5(const string & filename, const string & name){
hid_t file_id = H5Fopen( filename.c_str(), H5F_ACC_RDONLY, H5P_DEFAULT );
//hbool_t check_object_valid = true;
bool r = H5LTpath_valid(file_id, name.c_str(), true);
H5Fclose(file_id);
return r;
}
Since the text-based I/O has been removed from C++, it is natural to revamp the HDF5 I/O protocols as suggested by James. Perhaps Guozhang can do this?
There is an existing protocol to remove a spike.
Step 7 in 'Run the demo' has an unnecessary '}' at the end of line 2 for anybody following steps exactly/copy-pasting.
Sounds like a very good suggestion. Need to confirm if reading from text files is indeed taking too much time.
When multiple non-default parameter definitions are given to Neurons/Synapses, only the first is implemented.
Warning: unrecognized data type: > INIT010
In ReadYG (line 361)
In PostProcessYG (line 30)
Warning: unrecognized data type: > INIT011In ReadYG (line 361)
In PostProcessYG (line 30)
Warning: unrecognized data type: > INIT009In ReadYG (line 361)
In PostProcessYG (line 30)
Say, it takes XXX mins to simulate a network of XXX neurons and XXX synapses with a firing rate of XXX Hz. Just to give the users an intuitive feeling.
Also, point out how the performance scales with various parameters. Firing rate is usually the number 1 concern.
Matlab that is older than 2013a has different h5read error identifier message for the same type of error, which will cause problem.
Not sure if it will be changed in future versions. At least 2013a-2016b have identical ones.
Why the hell did they change the error identifier message for the same function???
Well, the good news is that this function is now rarely used.
Qi was confused by "logical vector" and actually used logical vector as input to write2ExtSpikeTInvSettingsHDF5().
What it requires is a double vector with 0 and 1s.
Need to fix this with all the files.
Yuxi reported that the IE ratio outputted by the simulator is not consistent with the result calculated directly from the sampled data.
Not sure why. Need to look into it. Test Welford_online?
No reason for it to be there.
For some reason it doesn't work, although it works on redhat 6.
They are too outdated that I am considering removing them all together.
Just don't compile with gcc-6.x.x with hdf5-1.8.16
Use gcc-4.x.x
In almost all cases, these two parameters should be identical but there is no check in the code.
Some form of check should be implemented.
A simple solution is to do it in matlab instead of c++
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.