kumarlabjax / mousegrooming Goto Github PK
View Code? Open in Web Editor NEWMouse grooming neural network training and inference code for single mice in open field assays.
License: MIT License
Mouse grooming neural network training and inference code for single mice in open field assays.
License: MIT License
When I run Train_3DConv_Binary.py on the annotated dataset I get the following errors:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\Windows\anaconda3\envs\grooming\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "C:\Users\Windows\anaconda3\envs\grooming\lib\multiprocessing\spawn.py", line 115, in _main
self = reduction.pickle.load(from_parent)
AttributeError: 'Groom_Dataset' object has no attribute '__get_train_example_queue'
Exception in thread Thread-2:
Traceback (most recent call last):
File "C:\Users\Windows\anaconda3\envs\grooming\lib\threading.py", line 916, in _bootstrap_inner
self.run()
File "C:\Users\Windows\anaconda3\envs\grooming\lib\threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\Windows\anaconda3\envs\grooming\lib\site-packages\keras\utils\data_utils.py", line 560, in data_generator_task
generator_output = next(self._generator)
File "C:\Users\Windows\Desktop\Grooming_2\MouseGrooming\Training\ReadHDF5.py", line 274, in get_train_generator_parallel
pool_index.start()
File "C:\Users\Windows\anaconda3\envs\grooming\lib\multiprocessing\process.py", line 105, in start
self._popen = self._Popen(self)
File "C:\Users\Windows\anaconda3\envs\grooming\lib\multiprocessing\context.py", line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\Users\Windows\anaconda3\envs\grooming\lib\multiprocessing\context.py", line 322, in _Popen
return Popen(process_obj)
File "C:\Users\Windows\anaconda3\envs\grooming\lib\multiprocessing\popen_spawn_win32.py", line 65, in __init__
reduction.dump(process_obj, to_child)
File "C:\Users\Windows\anaconda3\envs\grooming\lib\multiprocessing\reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
BrokenPipeError: [Errno 32] Broken pipe
Traceback (most recent call last):
File "Train_3DConv_Binary.py", line 136, in <module>
main(sys.argv[1:])
File "Train_3DConv_Binary.py", line 131, in main
multigpunet.fit_generator(dataset.get_train_generator_parallel(n_threads), train_steps_per_epoch, epochs=200, verbose=2, validation_data=dataset.get_valid_generator_parallel(n_threads), validation_steps=valid_steps_per_epoch, initial_epoch=0, workers=1, callbacks=[ckpt_saver, tensorboard_out, early_stopper, reduce_lr])
File "C:\Users\Windows\anaconda3\envs\grooming\lib\site-packages\keras\legacy\interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "C:\Users\Windows\anaconda3\envs\grooming\lib\site-packages\keras\engine\training.py", line 1809, in fit_generator
generator_output = next(output_generator)
StopIteration
I'm running the code on Windows 10 and using the same versions of software listed in the documentation: Python 3.6.2, Tensorflow 1.2.1, Keras 2.0.6, OpenCV 3.3.0, R 3.3.0
The activation video produced creates a red-blue color scaling. In the paper, we show purple-green scaling.
How I transformed the data (using ffmpeg):
ffmpeg -i VIDEO_out_Activations.avi -vf "geq=r='0.51r(X,Y)+0.49g(X,Y)':g='0.43g(X,Y)+0.57b(X,Y)':b='0.59r(X,Y)+0.19g(X,Y)+0.22*b(X,Y)'" -q 0 -t 10 TRANSFORMED_VIDEO.avi
While I haven't tested it, one could also modify the code to use purple-green colormaps. This won't be an exact match, but these are the following lines to change:
cm.bwr to cm.BrBG on this line
[200,0,0] to [64,0,75] and [0,0,200] to [0,72,29] on lines 83 and 85 respectively.
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.