Alex, thanks a lot!
I modified the code as belew, although the original error gone, but will get a new error:
    data_1 = torch.randn(23, 64)
    hidden_1 = torch.randn(1, 64, 850)
    variable_data_1 = Variable(data_1)
    variable_hidden_1 = Variable(hidden_1)
    output = torch.onnx.export(model, (variable_data_1, variable_hidden_1), model_onnx_path, verbose=True)

Traceback (most recent call last):
  File "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_run_in_console.py", line 52, in run_file
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/Users/fjbnu/Downloads/darts/rnn/search-EXP-20190515-233237/scripts/train.py", line 145, in <module>
    output = torch.onnx.export(model, (variable_data_1, variable_hidden_1), model_onnx_path, verbose=True)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/onnx/__init__.py", line 75, in export
    _export(model, args, f, export_params, verbose, training)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/onnx/__init__.py", line 116, in _export
    trace, torch_out = torch.jit.trace(model, args)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/jit/__init__.py", line 241, in trace
    return TracedModule(f, nderivs=nderivs)(*args, **kwargs)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/nn/modules/module.py", line 357, in __call__
    result = self.forward(*input, **kwargs)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/jit/__init__.py", line 268, in forward
    trace, (out_vars, out_struct) = traced_inner(in_vars, in_struct)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/jit/__init__.py", line 287, in wrapper
    out_vars, out_struct = f(in_vars, in_struct)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/jit/__init__.py", line 262, in traced_inner
    return _flatten(self.inner(*args, **kwargs))
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/nn/modules/module.py", line 355, in __call__
    result = self._slow_forward(*input, **kwargs)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/nn/modules/module.py", line 345, in _slow_forward
    result = self.forward(*input, **kwargs)
  File "/Users/fjbnu/Downloads/darts/rnn/search-EXP-20190515-233237/scripts/model.py", line 131, in forward
    emb = embedded_dropout(self.encoder, input, dropout=self.dropoute if self.training else 0)
  File "/Users/fjbnu/Downloads/darts/rnn/search-EXP-20190515-233237/scripts/utils.py", line 69, in embedded_dropout
    embed.scale_grad_by_freq, embed.sparse
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/nn/_functions/thnn/sparse.py", line 59, in forward
    output = torch.index_select(weight, 0, indices.view(-1))
TypeError: torch.index_select received an invalid combination of arguments - got (torch.FloatTensor, int, !torch.FloatTensor!), but expected (torch.FloatTensor source, int dim, torch.LongTensor index)

so modified to
    data_1 = torch.randn(23, 64).long()
    hidden_1 = torch.randn(1, 64, 850).long()
    variable_data_1 = Variable(data_1)
    variable_hidden_1 = Variable(hidden_1)
    output = torch.onnx.export(model, (variable_data_1, variable_hidden_1), model_onnx_path, verbose=True)

will get error:
Traceback (most recent call last):
  File "/Users/fjbnu/Downloads/darts/rnn/search-EXP-20190515-233237/scripts/train.py", line 288, in <module>
    train()
  File "/Users/fjbnu/Downloads/darts/rnn/search-EXP-20190515-233237/scripts/train.py", line 225, in train
    output = torch.onnx.export(model, (variable_data_1, variable_hidden_1), model_onnx_path, verbose=True)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/onnx/__init__.py", line 75, in export
    _export(model, args, f, export_params, verbose, training)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/onnx/__init__.py", line 116, in _export
    trace, torch_out = torch.jit.trace(model, args)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/jit/__init__.py", line 241, in trace
    return TracedModule(f, nderivs=nderivs)(*args, **kwargs)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/nn/modules/module.py", line 357, in __call__
    result = self.forward(*input, **kwargs)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/jit/__init__.py", line 268, in forward
    trace, (out_vars, out_struct) = traced_inner(in_vars, in_struct)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/jit/__init__.py", line 287, in wrapper
    out_vars, out_struct = f(in_vars, in_struct)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/jit/__init__.py", line 262, in traced_inner
    return _flatten(self.inner(*args, **kwargs))
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/nn/modules/module.py", line 355, in __call__
    result = self._slow_forward(*input, **kwargs)
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/nn/modules/module.py", line 345, in _slow_forward
    result = self.forward(*input, **kwargs)
  File "/Users/fjbnu/Downloads/darts/rnn/search-EXP-20190515-233237/scripts/model.py", line 131, in forward
    emb = embedded_dropout(self.encoder, input, dropout=self.dropoute if self.training else 0)
  File "/Users/fjbnu/Downloads/darts/rnn/search-EXP-20190515-233237/scripts/utils.py", line 69, in embedded_dropout
    embed.scale_grad_by_freq, embed.sparse
  File "/Users/fjbnu/anaconda2/envs/darts/lib/python3.6/site-packages/torch/nn/_functions/thnn/sparse.py", line 59, in forward
    output = torch.index_select(weight, 0, indices.view(-1))
RuntimeError: index out of range at /Users/soumith/minicondabuild3/conda-bld/pytorch_1518385717421/work/torch/lib/TH/generic/THTensorMath.c:277

Also I found that seems PyTorch 0.3.1 does not support rnn model export to onnx very well as https://github.com/pytorch/pytorch/issues/5234
So I used the PyTorch 0.4.1/1.1.0 to have a try, but will get errors :
Traceback (most recent call last):
  File "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_run_in_console.py", line 52, in run_file
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/Users/fjbnu/Downloads/darts/rnn/search-EXP-20190515-233237/scripts/train.py", line 145, in <module>
    output = torch.onnx.export(model, (variable_data_1, variable_hidden_1), model_onnx_path, verbose=True)
  File "/Users/fjbnu/anaconda2/envs/darts_0.4/lib/python3.6/site-packages/torch/onnx/__init__.py", line 26, in export
    return utils.export(*args, **kwargs)
  File "/Users/fjbnu/anaconda2/envs/darts_0.4/lib/python3.6/site-packages/torch/onnx/utils.py", line 94, in export
    operator_export_type=operator_export_type)
  File "/Users/fjbnu/anaconda2/envs/darts_0.4/lib/python3.6/site-packages/torch/onnx/utils.py", line 226, in _export
    example_outputs, propagate)
  File "/Users/fjbnu/anaconda2/envs/darts_0.4/lib/python3.6/site-packages/torch/onnx/utils.py", line 177, in _model_to_graph
    graph, torch_out = _trace_and_get_graph_from_model(model, args, training)
  File "/Users/fjbnu/anaconda2/envs/darts_0.4/lib/python3.6/site-packages/torch/onnx/utils.py", line 144, in _trace_and_get_graph_from_model
    trace, torch_out = torch.jit.get_trace_graph(model, args)
  File "/Users/fjbnu/anaconda2/envs/darts_0.4/lib/python3.6/site-packages/torch/jit/__init__.py", line 77, in get_trace_graph
    return LegacyTracedModule(f)(*args, **kwargs)
  File "/Users/fjbnu/anaconda2/envs/darts_0.4/lib/python3.6/site-packages/torch/nn/modules/module.py", line 477, in __call__
    result = self.forward(*input, **kwargs)
  File "/Users/fjbnu/anaconda2/envs/darts_0.4/lib/python3.6/site-packages/torch/jit/__init__.py", line 109, in forward
    out = self.inner(*trace_inputs)
  File "/Users/fjbnu/anaconda2/envs/darts_0.4/lib/python3.6/site-packages/torch/nn/modules/module.py", line 475, in __call__
    result = self._slow_forward(*input, **kwargs)
  File "/Users/fjbnu/anaconda2/envs/darts_0.4/lib/python3.6/site-packages/torch/nn/modules/module.py", line 465, in _slow_forward
    result = self.forward(*input, **kwargs)
  File "/Users/fjbnu/Downloads/darts/rnn/search-EXP-20190515-233237/scripts/model.py", line 131, in forward
    emb = embedded_dropout(self.encoder, input, dropout=self.dropoute if self.training else 0)
  File "/Users/fjbnu/Downloads/darts/rnn/search-EXP-20190515-233237/scripts/utils.py", line 67, in embedded_dropout
    X = embed._backend.Embedding.apply(words, masked_embed_weight,
  File "/Users/fjbnu/anaconda2/envs/darts_0.4/lib/python3.6/site-packages/torch/nn/backends/backend.py", line 10, in __getattr__
    raise NotImplementedError
NotImplementedError