Skip to main content

ESPnet Model Zoo

Project description

ESPnet Model Zoo

PyPI version Python Versions Downloads GitHub license CI codecov Code style: black

This repository includes various models created by each user using ESPnet.

Install

pip install espnet_model_zoo
pip install torch  # You need to install some modules manually

Obtain a model

>>> from espnet_model_zoo.downloader import ModelDownloader
>>> d = ModelDownloader("~/.cache/espnet")  # Specify cachedir
>>> d = ModelDownloader()  # <module_dir> is used as cachedir by default

To obtain a model, you need to give a model in the form of <user_name/model_name>

>>> d.download_and_unpack("kamo-naoyuki/mini_an4_asr_train_raw_bpe_valid.acc.best")
{"asr_train_config": <config path>, "asr_model_file": <model path>, ...}

Note that if the model already exists, downloading and unpacking is skipped.

You can also query a model with certain conditions.

>>> d.download_and_unpack(task="asr", corpus="wsj")

If multiple models are matched with the condition, latest model is selected. You can also specify the model using "version" option.

>>> d.download_and_unpack(task="asr", corpus="wsj", version=-1)  # Get the latest model
>>> d.download_and_unpack(task="asr", corpus="wsj", version=-2)  # Get previous model

You can also obtain it from the URL directly.

>>> d.download_and_unpack("https://zenodo.org/record/...")
[...]

Query model names

You can view the model names from our Zenodo community, https://zenodo.org/communities/espnet/, or using query(). All information are written in table.csv.

>>> d.query("name")
[...]

You can also show them with specifying certain conditions.

>>> d.query("name", task="asr")
[...]

Command line tools

  • espnet_model_zoo_query

    # Query model name
    espnet_model_zoo_query --condition task=asr --condition corpus=wsj 
    # Query the other key
    espnet_model_zoo_query --key url --condition task=asr --condition corpus=wsj 
    
  • espnet_model_zoo_download

    espnet_model_zoo_download <model_name> 
    espnet_model_zoo_download --unpack true <model_name> 
    
  • espnet_model_zoo_upload

    export ACCESS_TOKEN=<access_token>
    espnet_zenodo_upload \
        --file <packed_model> \
        --title <title> \
        --description <description> \
        --creator_name <your-git-account>
    

Use a pretrained model for inference

ASR

>>> import soundfile
>>> from espnet_model_zoo.downloader import ModelDownloader
>>> from espnet2.bin.asr_inference import Speech2Text
>>> d = ModelDownloader()
>>> speech2text = Speech2Text(**d.download_and_unpack("user_name/model_name"))

>>> speech, rate = soundfile.read("speech.wav")
>>> speech2text(speech)
[(text, token, token_int, hypothesis object), ...]

TTS

>>> import soundfile
>>> from espnet_model_zoo.downloader import ModelDownloader
>>> from espnet2.bin.tts_inference import Text2Speech
>>> d = ModelDownloader()
>>> text2speech = Text2Speech(**d.download_and_unpack("user_name/model_name"))

>>> retval = text2speech("foobar")
>>> speech = retval[0]
>>> soundfile.write("out.wav", speech.numpy(), text2speech.fs, "PCM_16")

Register your model

  1. Upload your model to Zenodo

    You need to signup to Zenodo and create an access token to upload models. You can upload your own model by using zenodo_upload command freely, but we normally upload a model using recipes.

  2. Create a Pull Request to modify table.csv

    You need to append you record at the last line.

  3. Increment the third version number of setup.py, e.g. 0.0.3 -> 0.0.4

Update your model

If your model has some troubles, please modify the record at Zenodo directly or reupload a correct file using espnet_zenodo_upload as another record.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

espnet_model_zoo-0.0.0a1.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

espnet_model_zoo-0.0.0a1-py3-none-any.whl (7.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page