DELTA is a deep learning based natural language and speech processing platform.

Overview

Build Status Contributions welcome GitHub top language GitHub Issues License

DELTA - A DEep learning Language Technology plAtform

What is DELTA?

DELTA is a deep learning based end-to-end natural language and speech processing platform. DELTA aims to provide easy and fast experiences for using, deploying, and developing natural language processing and speech models for both academia and industry use cases. DELTA is mainly implemented using TensorFlow and Python 3.

For details of DELTA, please refer to this paper.

What can DELTA do?

DELTA has been used for developing several state-of-the-art algorithms for publications and delivering real production to serve millions of users. It helps you to train, develop, and deploy NLP and/or speech models, featuring:

  • Easy-to-use
    • One command to train NLP and speech models, including:
      • NLP: text classification, named entity recognition, question and answering, text summarization, etc
      • Speech: speech recognition, speaker verification, emotion recognition, etc
    • Use configuration files to easily tune parameters and network structures
  • Easy-to-deploy
    • What you see in training is what you get in serving: all data processing and features extraction are integrated into a model graph
    • Uniform I/O interfaces and no changes for new models
  • Easy-to-develop
    • Easily build state-of-the-art models using modularized components
    • All modules are reliable and fully-tested

Table of Contents

Installation

We provide several approach to install DELTA:

Install from pip

We provide the pip install support for nlp version of DELTA.

Note: Users can still install DELTA from the source for both nlp and speech tasks.

We recommend to create conda or virtualenv and install DELTA from pip in the virtual environment. For example

conda create -n delta-pip-py3.6 python=3.6
conda activate delta-pip-py3.6

Please install TensorFlow 2.x if you have not installed it in your system.

pip install tensorflow

Then, simply install DELTA use the following command:

pip install delta-nlp

After install DELTA, you can follow this example to train NLP models or develop new models. A Text Classification Usage Example for pip users

Install from Source Code

To install from the source code, we use conda to install required packages. Please install conda if you do not have it in your system.

Also, we provide two options to install DELTA, nlp version or full version. nlp version needs minimal requirements and only installs NLP related packages:

# Run the installation script for NLP version, with CPU or GPU.
cd tools
./install/install-delta.sh nlp [cpu|gpu]

Note: Users from mainland China may need to set up conda mirror sources, see ./tools/install/install-delta.sh for details.

If you want to use both NLP and speech packages, you can install the full version. The full version needs Kaldi library, which can be pre-installed or installed using our installation script.

cd tools
# If you have installed Kaldi
KALDI=/your/path/to/Kaldi ./install/install-delta.sh full [cpu|gpu]
# If you have not installed Kaldi, use the following command
# ./install/install-delta.sh full [cpu|gpu]

To verify the installation, run:

# Activate conda environment
conda activate delta-py3.6-tf2.3.0
# Or use the following command if your conda version is < 4.6
# source activate delta-py3.6-tf2.3.0

# Add DELTA environment
source env.sh

# Generate mock data for text classification.
pushd egs/mock_text_cls_data/text_cls/v1
./run.sh
popd

# Train the model
python3 delta/main.py --cmd train_and_eval --config egs/mock_text_cls_data/text_cls/v1/config/han-cls.yml

Manual installation

For advanced installation, full version users, or more details, please refer to manual installation.

Install from Docker

For Docker users, we provide images with DELTA installed. Please refer to docker installation.

Quick Start

Existing Examples

DELTA organizes many commonly-used tasks as examples in egs directory. Each example is a NLP or speech task using a public dataset. We provide the whole pipeline including data processing, model training, evaluation, and deployment.

You can simply use the run.sh under each directory to prepare the dataset, and then train or evaluate a model. For example, you can use the following command to download the CONLL2003 dataset and train and evaluate a BLSTM-CRF model for NER:

pushd ./egs/conll2003/seq_label/v1/
./run.sh
popd
python3 delta/main.py --cmd train --config egs/conll2003/seq_label/v1/config/seq-label.yml
python3 delta/main.py --cmd eval --config egs/conll2003/seq_label/v1/config/seq-label.yml

Modeling

There are several modes to start a DELTA pipeline:

  • train_and_eval
  • train
  • eval
  • infer
  • export_model

Note: Before run any command, please make sure you need to source env.sh in the current command prompt or a shell script.

You can use train_and_eval to start the model training and evaluation:

python3 delta/main.py --cmd train_and_eval --config <your configuration file>.yml

This is equivalent to:

python3 delta/main.py --cmd train --config <your configuration file>.yml 
python3 delta/main.py --cmd eval --config <your configuration file>.yml 

For evaluation, you need to prepare a data file with features and labels. If you only want to do inference with feature only, you can use the infer mode:

python3 delta/main.py --cmd infer --config <your configuration file>.yml 

When the training is done, you can export a model checkpoint to SavedModel:

python3 delta/main.py --cmd export_model --config <your configuration file>.yml 

Deployment

For model deployment, we provide many tools in the DELTA-NN package. We organize the model deployment scripts under ./dpl directory.

  • Docker pull zh794390558/delta:deltann-cpu-py3 image, we test deployment under this env.
  • Download third-party pacakges by cd tools && make deltann.
  • Put SavedModel and configure model.yaml into dpl/model.
  • Use scripts under dpl/run.sh to convert model to other deployment model, and compile libraries.
  • All compiled tensorflow libs and delta-nn libs are in dpl/lib.
  • All things need for deployment are under dpl/output dir.
  • Test, benchmark or serve under docker.

For more information, please see dpl/README.md.

Graph Compiler

Graph Compiler using TensorFlow grappler, see gcompiler/README.md.

Benchmarks

In DELTA, we provide experimental results for each task on public datasets as benchmarks. For each task, we compare our implementation with a similar model chosen from a highly-cited publication. You can reproduce the experimental results using the scripts and configuration in the ./egs directory. For more details, please refer to released models.

NLP tasks

Task Model DataSet Metric DELTA Baseline Baseline reference
Sentence Classification CNN TREC Acc 92.2 91.2 Kim (2014)
Document Classification HAN Yahoo Answer Acc 75.1 75.8 Yang et al. (2016)
Named Entity Recognition BiLSTM-CRF CoNLL 2003 F1 84.6 84.7 Huang et al. (2015)
Intent Detection (joint) BiLSTM-CRF-Attention ATIS Acc 97.4 98.2 Liu and Lane (2016)
Slots Filling (joint) BiLSTM-CRF-Attention ATIS F1 95.2 95.9 Liu and Lane (2016)
Natural Language Inference LSTM SNLI Acc 80.7 80.6 Bowman et al. (2016)
Summarization Seq2seq-LSTM CNN/Daily Mail RougeL 27.3 28.1 See et al. (2017)
Pretrain-NER ELMO CoNLL 2003 F1 92.2 92.2 Peters et al. (2018)
Pretrain-NER BERT CoNLL 2003 F1 94.6 94.9 Devlin et al. (2019)

Speech tasks

Task Model DataSet Metric DELTA Baseline Baseline reference
Speech recognition CTC HKUST CER 36.49 38.67 Miao et al. (2016)
Speaker verfication TDNN VoxCeleb EER 3.028 3.138 Kaldi
Emotion recognition RNN-mean pool IEMOCAP Acc 59.44 56.90 Mirsamadi et al. (2017)

FAQ

See FAQ for more information.

Contributing

Any contribution is welcome. All issues and pull requests are highly appreciated! For more details, please refer to the contribution guide.

References

Please cite this paper when referencing DELTA.

@ARTICLE{delta,
       author = {{Han}, Kun and {Chen}, Junwen and {Zhang}, Hui and {Xu}, Haiyang and
         {Peng}, Yiping and {Wang}, Yun and {Ding}, Ning and {Deng}, Hui and
         {Gao}, Yonghu and {Guo}, Tingwei and {Zhang}, Yi and {He}, Yahao and
         {Ma}, Baochang and {Zhou}, Yulong and {Zhang}, Kangli and {Liu}, Chao and
         {Lyu}, Ying and {Wang}, Chenxi and {Gong}, Cheng and {Wang}, Yunbo and
         {Zou}, Wei and {Song}, Hui and {Li}, Xiangang},
       title = "{DELTA: A DEep learning based Language Technology plAtform}",
       journal = {arXiv e-prints},
       year = "2019",
       url = {https://arxiv.org/abs/1908.01853},
}

License

The DELTA platform is licensed under the terms of the Apache license. See LICENSE for more information.

Acknowledgement

The DELTA platform depends on many open source repos. See References for more information.

Comments
  • FileNotFoundError: No x_ops*.so match under dir: /home/xubo/delta/core/ops

    FileNotFoundError: No x_ops*.so match under dir: /home/xubo/delta/core/ops

    跑yahoo_answer dataset 时遇到的问题: run_config: tf_random_seed: null allow_soft_placement: true log_device_placement: false intra_op_parallelism_threads: 10 inter_op_parallelism_threads: 10 allow_growth: true [ 2020-07-02 17:57:52,623 INFO main.py:69 22512 ] Loading all modules ... Traceback (most recent call last): File "/home/xubo/delta/core/ops/py_x_ops.py", line 27, in so_lib_file = tf.io.gfile.glob(file_dir + '/x_ops*.so')[0].split('/')[-1] IndexError: list index out of range

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "delta/delta/main.py", line 134, in entry() File "delta/delta/main.py", line 121, in entry app.run(main) File "/home/xubo/anaconda3/envs/delta-pip-py3.6/lib/python3.6/site-packages/absl/app.py", line 299, in run _run_main(main, args) File "/home/xubo/anaconda3/envs/delta-pip-py3.6/lib/python3.6/site-packages/absl/app.py", line 250, in _run_main sys.exit(main(argv)) File "delta/delta/main.py", line 70, in main import_all_modules_for_register(config, only_nlp=FLAGS.only_nlp) File "/home/xubo/delta/delta/utils/register.py", line 228, in import_all_modules_for_register importlib.import_module(full_name) File "/home/xubo/anaconda3/envs/delta-pip-py3.6/lib/python3.6/importlib/init.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 994, in _gcd_import File "", line 971, in _find_and_load File "", line 955, in _find_and_load_unlocked File "", line 665, in _load_unlocked File "", line 678, in exec_module File "", line 219, in _call_with_frames_removed File "/home/xubo/delta/delta/data/task/text_cls_task.py", line 22, in from delta.data.task.base_text_task import TextTask File "/home/xubo/delta/delta/data/task/base_text_task.py", line 24, in from delta.data.preprocess.text_ops import clean_english_str_tf File "/home/xubo/delta/delta/data/preprocess/text_ops.py", line 22, in from core.ops import py_x_ops File "/home/xubo/delta/core/ops/py_x_ops.py", line 29, in raise FileNotFoundError(f"No x_ops*.so match under dir: {file_dir}") FileNotFoundError: No x_ops*.so match under dir: /home/xubo/delta/core/ops

    Install Ops 
    opened by buglesxu 8
  • Undefined names: missing imports?

    Undefined names: missing imports?

    flake8 testing of https://github.com/didi/delta on Python 3.7.1

    $ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics

    ./egs/iemocap/emo/v1/local/python/features.py:328:19: F821 undefined name 'plt'
            fig, ax = plt.subplots()
                      ^
    ./egs/iemocap/emo/v1/local/python/features.py:332:19: F821 undefined name 'plt'
            imgplot = plt.imshow(chromaGramToPlot)
                      ^
    ./egs/iemocap/emo/v1/local/python/features.py:345:9: F821 undefined name 'plt'
            plt.colorbar()
            ^
    ./egs/iemocap/emo/v1/local/python/features.py:346:9: F821 undefined name 'plt'
            plt.show()
            ^
    ./egs/iemocap/emo/v1/local/python/features.py:361:15: F821 undefined name 'lpc'
        A, e, k = lpc(x1, ncoeff)    
                  ^
    ./egs/iemocap/emo/v1/local/python/features.py:393:21: F821 undefined name 'utilities'
            [pos1, _] = utilities.peakdet(stFeatures[i, :], DifThres)           # detect local maxima
                        ^
    ./egs/iemocap/emo/v1/local/python/features.py:402:13: F821 undefined name 'plt'
                plt.subplot(9, 2, ii + 1)
                ^
    ./egs/iemocap/emo/v1/local/python/features.py:403:13: F821 undefined name 'plt'
                plt.plot(stFeatures[i, :], 'k')
                ^
    ./egs/iemocap/emo/v1/local/python/features.py:405:17: F821 undefined name 'plt'
                    plt.plot(k, stFeatures[i, k], 'k*')
                    ^
    ./egs/iemocap/emo/v1/local/python/features.py:406:18: F821 undefined name 'plt'
                f1 = plt.gca()
                     ^
    ./egs/iemocap/emo/v1/local/python/features.py:411:9: F821 undefined name 'plt'
            plt.show(block=False)
            ^
    ./egs/iemocap/emo/v1/local/python/features.py:412:9: F821 undefined name 'plt'
            plt.figure()
            ^
    ./egs/iemocap/emo/v1/local/python/features.py:426:9: F821 undefined name 'plt'
            plt.plot(BPMs, HistAll, 'k')
            ^
    ./egs/iemocap/emo/v1/local/python/features.py:427:9: F821 undefined name 'plt'
            plt.xlabel('Beats per minute')
            ^
    ./egs/iemocap/emo/v1/local/python/features.py:428:9: F821 undefined name 'plt'
            plt.ylabel('Freq Count')
            ^
    ./egs/iemocap/emo/v1/local/python/features.py:429:9: F821 undefined name 'plt'
            plt.show(block=True)
            ^
    ./egs/iemocap/emo/v1/local/python/features.py:478:19: F821 undefined name 'plt'
            fig, ax = plt.subplots()
                      ^
    ./egs/iemocap/emo/v1/local/python/features.py:479:19: F821 undefined name 'plt'
            imgplot = plt.imshow(specgram.transpose()[::-1, :])
                      ^
    ./egs/iemocap/emo/v1/local/python/features.py:493:9: F821 undefined name 'plt'
            plt.colorbar()
            ^
    ./egs/iemocap/emo/v1/local/python/features.py:494:9: F821 undefined name 'plt'
            plt.show()
            ^
    ./egs/iemocap/emo/v1/local/python/features.py:706:19: F821 undefined name 'audioBasicIO'
            [Fs, x] = audioBasicIO.readAudioFile(wavFile)            # read file
                      ^
    ./egs/iemocap/emo/v1/local/python/features.py:708:13: F821 undefined name 'audioBasicIO'
            x = audioBasicIO.stereo2mono(x)                          # convert stereo to mono
                ^
    ./egs/iemocap/emo/v1/local/python/features.py:784:19: F821 undefined name 'audioBasicIO'
            [Fs, x] = audioBasicIO.readAudioFile(wavFile)            # read file
                      ^
    ./egs/iemocap/emo/v1/local/python/features.py:785:13: F821 undefined name 'audioBasicIO'
            x = audioBasicIO.stereo2mono(x)                          # convert stereo to mono
                ^
    ./egs/iemocap/emo/v1/local/python/features.py:815:15: F821 undefined name 'audioBasicIO'
        [Fs, x] = audioBasicIO.readAudioFile(fileName)            # read the wav file
                  ^
    ./egs/iemocap/emo/v1/local/python/features.py:816:9: F821 undefined name 'audioBasicIO'
        x = audioBasicIO.stereo2mono(x)                           # convert to MONO if required
            ^
    ./delta/layers/transformer.py:248:7: F821 undefined name 'logging'
          logging.error(error_info)
          ^
    ./delta/data/task/speech_cls_task.py:724:39: F821 undefined name 'feat'
                soft_label = self.teacher(feat)
                                          ^
    28    F821 undefined name 'feat'
    28
    
    Install 
    opened by cclauss 8
  • refactor asr egs

    refactor asr egs

    Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

    Describe the solution you'd like

    1. large batch size

    2. restore model from latest or specific checkpoint.

    3. refactor solver to using by asr and emo.

    4. blank index transform and doc addition.

    5. mini_an4 integration test.

    6. filter input & output length. espnet utils

    7. lookup table to convert infer token id to token, and dump as kaldi format.

    8. export saved model

    Describe alternatives you've considered N/A

    Additional context N/A

    Doc Delta CI Egs Stale 
    opened by zh794390558 6
  • 安装./install/install-delta.sh nlp cpu报错

    安装./install/install-delta.sh nlp cpu报错

    SSLError(MaxRetryError('HTTPSConnectionPool(host='repo.anaconda.com', port=443): Max retries exceeded with url: /pkgs/main/noarch/repodata.json.bz2 (Caused by SSLError(SSLError("bad handshake: SysCallError(104, 'ECONNRESET')",),))',),) 这个怎么解决

    Install 
    opened by Hejp5665 6
  • Compile error: “g++: error trying to exec 'cc1plus': execvp: No such file or directory”

    Compile error: “g++: error trying to exec 'cc1plus': execvp: No such file or directory”

    Describe the bug Compile error: “g++: error trying to exec 'cc1plus': execvp: No such file or directory”

    cased by sudo apt-get install gfortran under ubuntu 18.04 which using gcc-7.5 as default. should fix using gfortrain-7.

    http://manpages.ubuntu.com/manpages/bionic/man1/alpha-linux-gnu-gfortran-7.1.html https://askubuntu.com/questions/949308/how-do-i-install-gfortran-7 https://launchpad.net/ubuntu/bionic/+source/gcc-7

    To Reproduce Steps to reproduce the behavior:

    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information): DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"

    Smartphone (please complete the following information):

    • Device: [e.g. iPhone6]
    • OS: [e.g. iOS8.1]
    • Browser [e.g. stock browser, safari]
    • Version [e.g. 22]

    Additional context Add any other context about the problem here.

    Install Ops Stale 
    opened by zh794390558 5
  • 是否有包含align-multimodal的docker镜像?

    是否有包含align-multimodal的docker镜像?

    您好, 我想在IEMOCAP数据集上测试align-multimodal模型, 我通过docker pull zh794390558/delta:delta-gpu-py3 下载了镜像,但是它似乎并不包含align-multimodal的相关内容 例如在delta/egs/iemocap/emo/v1/conf/下没有multimodal-align-emotion.yml文件,模型里也没有multimodal_cls_model.py等代码 我尝试仿照github上的代码手动添加这些内容,但是失败了 请问是否能发布一个包含上述内容的docker镜像?(由于在我的系统中无法直接安装,只能使用docker镜像) 谢谢

    Stale 
    opened by lessonxmk 5
  • 如何部署模型?

    如何部署模型?

    你好,我已经训练并导出了cnn_dailymail例子的saved_model模型,但我不知道如何部署我的模型并对外提供服务。我试图在tf-serving docker上部署,命令是docker run -d --name tf-serving -v /root/delta:/models/delta -e MODEL_NAME=delta tensorflow/serving:1.14.0,但报错。我的宿主机/root/delta目录下有我导出的saved_model模型,启动容器后查看日志,显示:tensorflow_serving/util/retrier.cc:37] Loading servable: {name: delta version: 1} failed: Not found: Op type not registered 'SentenceToIds' in binary running on hi2. Make sure the Op and Kernel are registered in the binary running in this process. Note that if you are loading a saved graph which used ops from tf.contrib, accessing (e.g.) tf.contrib.resampler should be done before importing the graph, as contrib ops are lazily registered when the module is first accessed. 此外,请详细帮我讲解一下如果这个text summarization例子部署成功,我该如何调用它为我返回文本摘要,上传什么参数,返回给我什么信息,部署时的model.yaml该怎么写,多谢!

    Doc Deltann 
    opened by dongyt2004 5
  • 'convert model error' when converting SNLI rnn_matching.yml to TFLITE

    'convert model error' when converting SNLI rnn_matching.yml to TFLITE

    Thank you for the very useful project.

    Describe the bug

    A simple error is thrown when trying to convert the snli model to tflite.

    The error is:

    
    Params:
    stage: -1 - 100
    TARGET: linux
    ARCH: x86_64
    INPUT_MODEL: /user/caleb.p/Development/delta/./dpl/model
    INPUT_YAML: /user/caleb.p/Development/delta/./dpl/model/model.yaml
    OUTPUT_MODEL: /user/caleb.p/Development/delta/./dpl/.gen
    
    
    Input: /user/caleb.p/Development/delta/./dpl/model
    Output: /user/caleb.p/Development/delta/./dpl/.gen
    
    Convert model...
    ~/Development/delta/dpl/gadapter ~/Development/delta/dpl
    OUTPUT_NUM: 2
    OUTPUT_NAMES: ,ArgMax:0,score:0
    Satrt transform graph ...
    tflite to be added.
    convert model error
    

    To Reproduce Steps to reproduce the behavior:

    1. Follow the steps in docs to train_and_eval the snli model with the config located at delta/egs/snli/match/v1/config/rnn_match.yml
    2. move the saved model to the dpl/model folder as instructed.
    3. Use the following model.yaml to convert the model
    model:
      custom_ops_path: "../dpl/output/lib/custom_ops/libx_ops.so" 
      graphs:
        -
          # meta data
          id: 0
          name: "snli_encoder" # model name
    
          # deltann type
          server_type: "local" # local, remote
          engine: "TFLITE" # TF, TFLITE, TFTRT, TFSERVING
    
          # model config
          version: 1    # model version
          local:  # local run
            path: "../dpl/output/model/saved_model" # model path without version info
            model_type: "saved_model" # e.g. saved_model, frozen_graph_pb, frozen_graph_txt
          # inputs and outputs
          inputs:
            -
              id: 0
              name: "input_sent_left:0"
              shape: [-1]
              dtype: "string"
            -
              id: 1
              name: "input_sent_right:0"
              shape: [-1]
              dtype: "string"
          outputs:
            -
              id: 0
              name: "ArgMax:0"
              shape: [-1]
              dtype: "int64"
            -
              id: 1
              name: "score:0"
              shape: [-1, 3]
              dtype: "float"
    
    
    runtime:
      num_threads: 20
    
    serving:
      max_worker: 5
      max_queue: 100
    
    1. run ./run.sh located in dpl

    Expected behavior Deployment artifacts to be created in output folder

    Desktop (please complete the following information):

    • OS: Ubuntu 18.04
    Dpl 
    opened by jipson7 4
  • Fail to load model for iemocap evaluation.

    Fail to load model for iemocap evaluation.

    Describe the bug When trying to run an evaluation run with the iemocap example after training a model it fails with:

    Traceback (most recent call last):
      File "../../delta/delta/main.py", line 111, in <module>
        app.run(main)
      File "/home/david175/miniconda3/envs/delta-py3.6-tf1.14/lib/python3.6/site-packages/absl/app.py", line 300, in run
        _run_main(main, args)
      File "/home/david175/miniconda3/envs/delta-py3.6-tf1.14/lib/python3.6/site-packages/absl/app.py", line 251, in _run_main
        sys.exit(main(argv))
      File "../../delta/delta/main.py", line 81, in main
        solver.eval()
      File "/home/david175/project/delta/delta/utils/solver/emotion_solver.py", line 132, in eval
        self.model_fn(mode=utils.EVAL)
      File "/home/david175/project/delta/delta/utils/solver/asr_solver.py", line 193, in model_fn
        self.model.load_weights(str(model_path))
      File "/home/david175/miniconda3/envs/delta-py3.6-tf1.14/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py", line 162, in load_weights
        return super(Model, self).load_weights(filepath, by_name)
      File "/home/david175/miniconda3/envs/delta-py3.6-tf1.14/lib/python3.6/site-packages/tensorflow/python/keras/engine/network.py", line 1424, in load_weights
        saving.load_weights_from_hdf5_group(f, self.layers)
      File "/home/david175/miniconda3/envs/delta-py3.6-tf1.14/lib/python3.6/site-packages/tensorflow/python/keras/saving/hdf5_format.py", line 737, in load_weights_from_hdf5_group
        ' layers.')
    ValueError: You are trying to load a weight file containing 3 layers into a model with 0 layers.
    

    To Reproduce Requires full installation of delta & iemocap dataset. Steps to reproduce the behavior:

    1. Set root path to iemocap dataset in egs/iemocap/emo/v1/run.sh
    2. For faster repro set epochs to 1 in egs/iemocap/emo/v1/conf/emo-keras-blstm.yml
    3. Change to directory egs/iemocap/emo/v1
    4. Run ./run.sh
    5. After training run 'python3 -u ../../../../delta/main.py --cmd eval --config conf/emo-keras-blstm.yml'
    6. See error

    Expected behavior The evaluation runs without errors.

    Additional Information Tried it with keras 2.2.4 and 2.1.0. Both produce the same error.

    Bug Delta 
    opened by Saduras 4
  • Example scripts for audio missing?

    Example scripts for audio missing?

    Hello, thank you for the toolkit

    Am I wrong to say that there are no example scripts to use Delta toolkit for audio applications?

    Without an example script, it is really difficult to test your toolkit.

    Doc Egs 
    opened by happypanda5 4
  • Loss of so Library:x_ops.so

    Loss of so Library:x_ops.so

    ERROR: tensorflow.python.framework.errors_impl.NotFoundError: /home/delta/delta/layers/ops/x_ops.so: cannot open shared object file: No such file or directory

    opened by lyw2019 4
  • Bump github.com/gin-gonic/gin from 1.4.0 to 1.7.0 in /delta-serving

    Bump github.com/gin-gonic/gin from 1.4.0 to 1.7.0 in /delta-serving

    Bumps github.com/gin-gonic/gin from 1.4.0 to 1.7.0.

    Release notes

    Sourced from github.com/gin-gonic/gin's releases.

    Release v1.7.0

    BUGFIXES

    • fix compile error from #2572 (#2600)
    • fix: print headers without Authorization header on broken pipe (#2528)
    • fix(tree): reassign fullpath when register new node (#2366)

    ENHANCEMENTS

    • Support params and exact routes without creating conflicts (#2663)
    • chore: improve render string performance (#2365)
    • Sync route tree to httprouter latest code (#2368)
    • chore: rename getQueryCache/getFormCache to initQueryCache/initFormCa (#2375)
    • chore(performance): improve countParams (#2378)
    • Remove some functions that have the same effect as the bytes package (#2387)
    • update:SetMode function (#2321)
    • remove a unused type SecureJSONPrefix (#2391)
    • Add a redirect sample for POST method (#2389)
    • Add CustomRecovery builtin middleware (#2322)
    • binding: avoid 2038 problem on 32-bit architectures (#2450)
    • Prevent panic in Context.GetQuery() when there is no Request (#2412)
    • Add GetUint and GetUint64 method on gin.context (#2487)
    • update content-disposition header to MIME-style (#2512)
    • reduce allocs and improve the render WriteString (#2508)
    • implement ".Unwrap() error" on Error type (#2525) (#2526)
    • Allow bind with a map[string]string (#2484)
    • chore: update tree (#2371)
    • Support binding for slice/array obj [Rewrite] (#2302)
    • basic auth: fix timing oracle (#2609)
    • Add mixed param and non-param paths (port of httprouter#329) (#2663)
    • feat(engine): add trustedproxies and remoteIP (#2632)

    Improve performance

    ENHANCEMENTS

    • Improve performance: Change *sync.RWMutex to sync.RWMutex in context. #2351

    release v1.6.2

    Release Notes

    • BUGFIXES
      • fix missing initial sync.RWMutex (#2305)
    • ENHANCEMENTS
      • Add set samesite in cookie. (#2306)

    Contributors

    release v1.6.1

    ... (truncated)

    Changelog

    Sourced from github.com/gin-gonic/gin's changelog.

    Gin v1.7.0

    BUGFIXES

    • fix compile error from #2572 (#2600)
    • fix: print headers without Authorization header on broken pipe (#2528)
    • fix(tree): reassign fullpath when register new node (#2366)

    ENHANCEMENTS

    • Support params and exact routes without creating conflicts (#2663)
    • chore: improve render string performance (#2365)
    • Sync route tree to httprouter latest code (#2368)
    • chore: rename getQueryCache/getFormCache to initQueryCache/initFormCa (#2375)
    • chore(performance): improve countParams (#2378)
    • Remove some functions that have the same effect as the bytes package (#2387)
    • update:SetMode function (#2321)
    • remove an unused type SecureJSONPrefix (#2391)
    • Add a redirect sample for POST method (#2389)
    • Add CustomRecovery builtin middleware (#2322)
    • binding: avoid 2038 problem on 32-bit architectures (#2450)
    • Prevent panic in Context.GetQuery() when there is no Request (#2412)
    • Add GetUint and GetUint64 method on gin.context (#2487)
    • update content-disposition header to MIME-style (#2512)
    • reduce allocs and improve the render WriteString (#2508)
    • implement ".Unwrap() error" on Error type (#2525) (#2526)
    • Allow bind with a map[string]string (#2484)
    • chore: update tree (#2371)
    • Support binding for slice/array obj [Rewrite] (#2302)
    • basic auth: fix timing oracle (#2609)
    • Add mixed param and non-param paths (port of httprouter#329) (#2663)
    • feat(engine): add trustedproxies and remoteIP (#2632)

    Gin v1.6.3

    ENHANCEMENTS

    • Improve performance: Change *sync.RWMutex to sync.RWMutex in context. #2351

    Gin v1.6.2

    BUGFIXES

    • fix missing initial sync.RWMutex #2305

    ENHANCEMENTS

    • Add set samesite in cookie. #2306

    Gin v1.6.1

    BUGFIXES

    • Revert "fix accept incoming network connections" #2294

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies go 
    opened by dependabot[bot] 0
  • Bump tensorflow-cpu from 2.3.0 to 2.9.3 in /docker

    Bump tensorflow-cpu from 2.3.0 to 2.9.3 in /docker

    Bumps tensorflow-cpu from 2.3.0 to 2.9.3.

    Release notes

    Sourced from tensorflow-cpu's releases.

    TensorFlow 2.9.3

    Release 2.9.3

    This release introduces several vulnerability fixes:

    TensorFlow 2.9.2

    Release 2.9.2

    This releases introduces several vulnerability fixes:

    ... (truncated)

    Changelog

    Sourced from tensorflow-cpu's changelog.

    Release 2.9.3

    This release introduces several vulnerability fixes:

    Release 2.8.4

    This release introduces several vulnerability fixes:

    ... (truncated)

    Commits
    • a5ed5f3 Merge pull request #58584 from tensorflow/vinila21-patch-2
    • 258f9a1 Update py_func.cc
    • cd27cfb Merge pull request #58580 from tensorflow-jenkins/version-numbers-2.9.3-24474
    • 3e75385 Update version numbers to 2.9.3
    • bc72c39 Merge pull request #58482 from tensorflow-jenkins/relnotes-2.9.3-25695
    • 3506c90 Update RELEASE.md
    • 8dcb48e Update RELEASE.md
    • 4f34ec8 Merge pull request #58576 from pak-laura/c2.99f03a9d3bafe902c1e6beb105b2f2417...
    • 6fc67e4 Replace CHECK with returning an InternalError on failing to create python tuple
    • 5dbe90a Merge pull request #58570 from tensorflow/r2.9-7b174a0f2e4
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies python 
    opened by dependabot[bot] 0
  • Resource leak

    Resource leak

    Stream is opened https://github.com/didi/delta/blob/cdde1c531301150ccb1dd5186c8f525e36aa4dd2/core/ops/kernels/add_rir_noise_aecres/CConv.cpp#L96

    Opened file never closed https://github.com/didi/delta/blob/cdde1c531301150ccb1dd5186c8f525e36aa4dd2/core/ops/kernels/add_rir_noise_aecres/CConv.cpp#L107

    Bug Ops 
    opened by QiAnXinCodeSafe 0
Releases(v0.3.3)
  • v0.3.3(Jul 16, 2020)

    Delta

    • [Delta] - raw_solver get ZeroDivisionError #209 by @bycxw
    • [Delta] - Pyramid model #198 by @itamaker

    Doc

    • [Doc] - add release version doc #204 by @zh794390558

    Stale

    • [Stale] - add codecov #201 by @zh794390558
    • [Stale] - add Delta prefix in deltann/api.h to fix name conflict. #196 by @zh794390558

    Deltann

    • [Deltann] - replace deltann inoutData size by nelms #220 by @zh794390558
    • [Deltann] - format code #219 by @zh794390558
    • [Deltann] - fix log of deltann #218 by @zh794390558

    Egs

    • [Egs] - Transfer learning #223 by @zh794390558

    Ops

    • [Ops] - replace string to tstring for >= 2.2.0 and missing symbol of MakeShape and Status #221 by @zh794390558
    • [Ops] - FileNotFoundError: No x_ops*.so match under dir: /home/xubo/delta/core/ops #213 by @buglesxu
    • [Ops] - fix delta with tf2.2.0 #222 by @zh794390558
    • [Ops] - deltann compile #217 by @zh794390558

    New Feature

    • [New Feature] - Add Delta inference lib #203 by @pangge
    • [New Feature] - Multimodal emo and transformer #202 by @xhyandwyy

    Acknowledgements

    Special thanks to @buglesxu @bycxw @xhyandwyy @itamaker @pangge @zh794390558

    Source code(tar.gz)
    Source code(zip)
  • v0.3.2(Apr 2, 2020)

    Install

    • [Install] - add --no-cache-dir for pip #191 by @zh794390558
    • [Install] - defualt kaldi build with openblas #182 by @zh794390558
    • [Install] - gcc version(20160609) not compatiable with tf compile version(7.3.1) #181 by @YanDongchao
    • [Install] - add more info for deltann compile #189 by @zh794390558

    Deltann

    • [Deltann] - fix avg ckpt #178 by @zh794390558

    Delta

    • [Delta] - Refactor asr #157 by @zh794390558
    • [Delta] - fix kerase emotion base class #199 by @zh794390558
    • [Delta] - fix solver utils bugs #200 by @zh794390558
    • [Delta] - *add Acknowledgements #179 by @itamaker
    • [Delta] - fix keras import #185 by @zh794390558

    Ops

    • [Ops] - Fix doc and bugs of FE. #190 by @aishinchi
    • [Ops] - fix mfcc #180 by @zh794390558
    • [Ops] - move ops from delta/layers to core/ops #184 by @aishinchi

    Egs

    • [Egs] - fix asr output name #186 by @zh794390558

    Acknowledgements

    Special thanks to @aishinchi @YanDongchao @itamaker @zh794390558

    Source code(tar.gz)
    Source code(zip)
  • v0.3.1(Nov 18, 2019)

    Delta

    • [Delta] - *add release_notes #176 by @itamaker
    • [Delta] - fix utils and doc #156 by @zh794390558
    • [Delta] - fix export and saved model python inference #155 by @zh794390558
    • [Delta] - update espnet version #151 by @zh794390558
    • [Delta] - add spk serving #160 by @zh794390558

    Deltann

    • [Deltann] - *fix build sh & README #167 by @itamaker
    • [Deltann] - *fix ops name #175 by @itamaker
    • [Deltann] - *fix handler name #170 by @itamaker
    • [Deltann] - refactor runtime of deltann #150 by @zh794390558
    • [Deltann] - fix log #172 by @zh794390558
    • [Deltann] - refactor deltann utils #154 by @zh794390558
    • [Deltann] - *add docker support #168 by @itamaker
    • [Deltann] - refactor deltann/core/runtime.h #149 by @zh794390558
    • [Deltann] - add speaker model test #164 by @zh794390558

    Dpl

    • [Dpl] - fix tf compile #173 by @zh794390558
    • [Dpl] - fix for abseil not support avx compile #152 by @zh794390558

    Doc

    • [Doc] - fixed small errors #174 by @0xflotus
    • [Doc] - fix docs #159 by @zh794390558
    • [Doc] - fix docs #169 by @zh794390558
    • [Doc] - Update readme for installation #166 by @hankun11
    • [Doc] - Update index.rst #162 by @applenob
    • [Doc] - fix deltann doc #171 by @zh794390558
    • [Doc] - Modifiy wheel build doc #165 by @dengxiaotian123

    Docker

    • [Docker] - remove docker image version no #148 by @zh794390558

    Serving

    • [Serving] - fix install go and go server example usage #147 by @itamaker

    New Feature

    • [New Feature] - Kaldi-Like Front End #144 by @zh794390558

    TF2.x

    • [TF2.x] - remove contrib #158 by @zh794390558

    Install

    • [Install] - install-tf2.0-with-pip #153 by @luffywalf
    • [Install] - Install with pip #146 by @applenob
    • [Install] - Update pip #161 by @applenob

    Acknowledgements

    Special thanks to @0xflotus, @zh794390558, @hankun11, @dengxiaotian123, @applenob, @itamaker, @luffywalf.

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(Oct 23, 2019)

Owner
DELTA
DELTA is a deep learning based end-to-end natural language and speech processing platform. It's an incubation project in the LF AI & Data Foundation.
DELTA
PORORO: Platform Of neuRal mOdels for natuRal language prOcessing

PORORO: Platform Of neuRal mOdels for natuRal language prOcessing pororo performs Natural Language Processing and Speech-related tasks. It is easy to

Kakao Brain 1.2k Dec 21, 2022
TextFlint is a multilingual robustness evaluation platform for natural language processing tasks,

TextFlint is a multilingual robustness evaluation platform for natural language processing tasks, which unifies general text transformation, task-specific transformation, adversarial attack, sub-population, and their combinations to provide a comprehensive robustness analysis.

TextFlint 587 Dec 20, 2022
Indobenchmark are collections of Natural Language Understanding (IndoNLU) and Natural Language Generation (IndoNLG)

Indobenchmark Toolkit Indobenchmark are collections of Natural Language Understanding (IndoNLU) and Natural Language Generation (IndoNLG) resources fo

Samuel Cahyawijaya 11 Aug 26, 2022
A model library for exploring state-of-the-art deep learning topologies and techniques for optimizing Natural Language Processing neural networks

A Deep Learning NLP/NLU library by Intel® AI Lab Overview | Models | Installation | Examples | Documentation | Tutorials | Contributing NLP Architect

Intel Labs 2.9k Jan 2, 2023
A model library for exploring state-of-the-art deep learning topologies and techniques for optimizing Natural Language Processing neural networks

A Deep Learning NLP/NLU library by Intel® AI Lab Overview | Models | Installation | Examples | Documentation | Tutorials | Contributing NLP Architect

Intel Labs 2.6k Feb 18, 2021
This repository contains all the source code that is needed for the project : An Efficient Pipeline For Bloom’s Taxonomy Using Natural Language Processing and Deep Learning

Pipeline For NLP with Bloom's Taxonomy Using Improved Question Classification and Question Generation using Deep Learning This repository contains all

Rohan Mathur 9 Jul 17, 2021
A model library for exploring state-of-the-art deep learning topologies and techniques for optimizing Natural Language Processing neural networks

A Deep Learning NLP/NLU library by Intel® AI Lab Overview | Models | Installation | Examples | Documentation | Tutorials | Contributing NLP Architect

Intel Labs 2.9k Dec 31, 2022
Deep Learning for Natural Language Processing - Lectures 2021

This repository contains slides for the course "20-00-0947: Deep Learning for Natural Language Processing" (Technical University of Darmstadt, Summer term 2021).

null 0 Feb 21, 2022
LegalNLP - Natural Language Processing Methods for the Brazilian Legal Language

LegalNLP - Natural Language Processing Methods for the Brazilian Legal Language ⚖️ The library of Natural Language Processing for Brazilian legal lang

Felipe Maia Polo 125 Dec 20, 2022
A design of MIDI language for music generation task, specifically for Natural Language Processing (NLP) models.

MIDI Language Introduction Reference Paper: Pop Music Transformer: Beat-based Modeling and Generation of Expressive Pop Piano Compositions: code This

Robert Bogan Kang 3 May 25, 2022
One Stop Anomaly Shop: Anomaly detection using two-phase approach: (a) pre-labeling using statistics, Natural Language Processing and static rules; (b) anomaly scoring using supervised and unsupervised machine learning.

One Stop Anomaly Shop (OSAS) Quick start guide Step 1: Get/build the docker image Option 1: Use precompiled image (might not reflect latest changes):

Adobe, Inc. 148 Dec 26, 2022
Trankit is a Light-Weight Transformer-based Python Toolkit for Multilingual Natural Language Processing

Trankit: A Light-Weight Transformer-based Python Toolkit for Multilingual Natural Language Processing Trankit is a light-weight Transformer-based Pyth

null 652 Jan 6, 2023
We have built a Voice based Personal Assistant for people to access files hands free in their device using natural language processing.

Voice Based Personal Assistant We have built a Voice based Personal Assistant for people to access files hands free in their device using natural lang

Rushabh 2 Nov 13, 2021
Web mining module for Python, with tools for scraping, natural language processing, machine learning, network analysis and visualization.

Pattern Pattern is a web mining module for Python. It has tools for: Data Mining: web services (Google, Twitter, Wikipedia), web crawler, HTML DOM par

Computational Linguistics Research Group 8.4k Dec 30, 2022
Toolkit for Machine Learning, Natural Language Processing, and Text Generation, in TensorFlow. This is part of the CASL project: http://casl-project.ai/

Texar is a toolkit aiming to support a broad set of machine learning, especially natural language processing and text generation tasks. Texar provides

ASYML 2.3k Jan 7, 2023
Toolkit for Machine Learning, Natural Language Processing, and Text Generation, in TensorFlow. This is part of the CASL project: http://casl-project.ai/

Texar is a toolkit aiming to support a broad set of machine learning, especially natural language processing and text generation tasks. Texar provides

ASYML 2.1k Feb 17, 2021