Giter VIP home page Giter VIP logo

srep's Introduction

Gesture Recognition by Instantaneous Surface EMG Images

This repo contains the code for the experiments in the paper: Weidong Geng, Yu Du, Wenguang Jin, Wentao Wei, Yu Hu, Jiajun Li. "Gesture recognition by instantaneous surface EMG images." Scientific Reports 6 (2016).

Please see http://zju-capg.org/myo for details.

Requirements

  • A CUDA compatible GPU
  • Ubuntu 14.04 or any other Linux/Unix that can run Docker
  • Docker
  • Nvidia Docker

Usage

Following commands will (1) pull docker image (see docker/Dockerfile for details); (2) train ConvNets on the training sets of NinaPro DB1, CapgMyo DB-a and CSL-HDEMG, respectively; and (3) test trained ConvNets on the test sets.

mkdir .cache
# put NinaPro DB1 in .cache/ninapro-db1
# put CapgMyo DB-a in .cache/dba
# put CSL-HDEMG in .cache/csl
docker pull answeror/sigr:2016-09-21
scripts/trainsrep.sh
scripts/testsrep.sh

Training on NinaPro and CapgMyo will take 1 to 2 hours depending on your GPU. Training on CSL-HDEMG will take several days. You can accelerate traning and testing by distribute different folds on different GPUs with the gpu parameter.

The NinaPro DB1 should be segmented according to the gesture labels and stored in Matlab format as follows. .cache/ninapro-db1/data/sss/ggg/sss_ggg_ttt.mat contains a field data (frames x channels) represents the trial ttt of gesture ggg of subject sss. Numbers are starting from zero. Gesture 0 is the rest posture. For example, .cache/ninapro-db1/data/000/001/000_001_000.mat is the 0th trial of 1st gesture of 0th subject, and .cache/ninapro-db1/data/002/003/002_003_004.mat is the 4th trial of 3th gesture of 2nd subject. You can download the prepared dataset from http://zju-capg.org/myo/data/ninapro-db1.zip or prepare it by yourself.

License

Licensed under an GPL v3.0 license.

Misc

Thanks DMLC team for their great MxNet!

srep's People

Contributors

answeror avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

srep's Issues

unable to run the code

Dear cosmo du,
I have executed code as per readme file but landing with following errors. Could you please help me identify the issue and execute the code.

libdc1394 error: Failed to initialize libdc1394
[2021-01-08 11:59:38.943939] INFO: sigr: Args:
{'adabn': False,
'amplitude_weighting': False,
'balance_gesture': 1.0,
'bandstop': False,
'batch_size': 1000,
'bng': False,
'confuse_all': False,
'confuse_conv': False,
'conv_shortcut': False,
'crossval_type': 'universal-one-fold-intra-subject',
'dataset': 'ninapro-db1',
'decay_all': True,
'dense_window': True,
'downsample': 0,
'drop_branch': False,
'drop_conv': False,
'drop_pixel': (-1,),
'drop_presnet': False,
'drop_presnet_branch': False,
'drop_presnet_proj': False,
'dropout': 0.5,
'dual_stream': False,
'fast_pixel_reduce': True,
'faug': 0.0,
'faug_classwise': False,
'fft': False,
'fft_append': False,
'fix_params': (),
'fold': 0,
'gamma': 10.0,
'gpu': (0,),
'gpu_x': 0,
'ignore_params': (),
'lambda_scale': 1.0,
'log': '.cache/srep-ninapro-db1-universal-one-fold-intra-subject/log',
'lr': 0.1,
'lr_factor': (),
'lr_step': (16, 24),
'lstm': False,
'lstm_bn': True,
'lstm_dropout': 0.0,
'lstm_grad_scale': True,
'lstm_last': 0,
'lstm_shortcut': False,
'lstm_window': None,
'minibatch': False,
'module': 'convnet',
'num_adabn_epoch': 1,
'num_bottleneck': 128,
'num_conv': 2,
'num_epoch': 28,
'num_eval_epoch': 1,
'num_feature_block': 2,
'num_filter': 64,
'num_gesture_block': 0,
'num_hidden': 512,
'num_lstm_hidden': 128,
'num_lstm_layer': 1,
'num_pixel': 2,
'num_pixel_reduce_filter': (None, None),
'num_presnet': (),
'num_revgrad_batch': 2,
'num_semg_col': 10,
'num_semg_row': 1,
'num_subject_block': 0,
'num_tzeng_batch': 2,
'params': None,
'pixel_reduce_bias': False,
'pixel_reduce_kernel': (1, 1),
'pixel_reduce_loss_weight': 0.0,
'pixel_reduce_norm': False,
'pixel_reduce_pad': (0, 0),
'pixel_reduce_reg_out': False,
'pixel_reduce_stride': (1, 1),
'pixel_same_init': False,
'pool': False,
'preprocess': NinaProLowpass(),
'presnet_branch': (),
'presnet_dense': False,
'presnet_proj_type': 'A',
'presnet_promote': False,
'random_bad_channel': (),
'random_scale': 0.0,
'random_shift_fill': 'zero',
'random_shift_horizontal': 0,
'random_shift_vertical': 0,
'revgrad': False,
'root': '.cache/srep-ninapro-db1-universal-one-fold-intra-subject',
'snapshot': '.cache/srep-ninapro-db1-universal-one-fold-intra-subject/model',
'snapshot_period': 28,
'subject_confusion_loss_weight': 1.0,
'subject_loss_weight': 1.0,
'subject_wd': None,
'tzeng': False,
'wd': 0.0001,
'window': 1,
'zscore': True,
'zscore_bng': False}
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/code/sigr/app.py", line 752, in
cli(obj=Bunch())
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 716, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/click/decorators.py", line 27, in new_func
return f(get_current_context().obj, *args, **kwargs)
File "sigr/utils/init.py", line 101, in wrapped
return func(ctx_or_args, **kargs)
File "/code/sigr/app.py", line 186, in crossval
random_shift_vertical=args.random_shift_vertical
File "sigr/data/init.py", line 236, in get_universal_one_fold_intra_subject_data
shuffle=True)
File "sigr/data/init.py", line 325, in get_data
trial = get_trial(root=root, combo=combo)
File "sigr/data/ninapro/init.py", line 68, in call
zip(paths, _get_data(paths, self.preprocess))})
File "/usr/local/lib/python2.7/dist-packages/joblib/memory.py", line 483, in call
return self._cached_call(args, kwargs)[0]
File "/usr/local/lib/python2.7/dist-packages/joblib/memory.py", line 430, in _cached_call
out, metadata = self.call(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/joblib/memory.py", line 675, in call
output = self.func(*args, **kwargs)
File "sigr/data/ninapro/init.py", line 80, in _get_data
return [_get_data_aux(path, preprocess) for path in paths]
File "sigr/data/ninapro/init.py", line 84, in _get_data_aux
data = sio.loadmat(path)['data'].astype(np.float32)
File "/usr/lib/python2.7/dist-packages/scipy/io/matlab/mio.py", line 125, in loadmat
MR = mat_reader_factory(file_name, appendmat, **kwargs)
File "/usr/lib/python2.7/dist-packages/scipy/io/matlab/mio.py", line 54, in mat_reader_factory
byte_stream = _open_file(file_name, appendmat)
File "/usr/lib/python2.7/dist-packages/scipy/io/matlab/mio.py", line 28, in _open_file
raise IOError(e)
IOError: [Errno 2] No such file or directory: '/code/.cache/ninapro-db1/data/000/001/000_001_000.mat'
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.
libdc1394 error: Failed to initialize libdc1394
Usage: app.py exp [OPTIONS] COMMAND [ARGS]...

Error: Invalid value for "--params": Path ".cache/srep-ninapro-db1-universal-one-fold-intra-subject/model-0028.params" does not exist.

some problem about CURAND

I have an error below.
random.h:336: Check failed: (status) == (CURAND_STATUS-SCCESS) CURAND Gen Unifrom float failed. size = 640000

I'll appreciate it if you help me to solve this problem.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.