Skip to main content

PyTorch Multimodal Library

Project description

TorchMultimodal (Beta Release)

Introduction

TorchMultimodal is a PyTorch library for training state-of-the-art multimodal multi-task models at scale. It provides:

  • A repository of modular and composable building blocks (models, fusion layers, loss functions, datasets and utilities).
  • A repository of examples that show how to combine these building blocks with components and common infrastructure from across the PyTorch Ecosystem to replicate state-of-the-art models published in the literature. These examples should serve as baselines for ongoing research in the field, as well as a starting point for future work.

As a first open source example, researchers will be able to train and extend FLAVA using TorchMultimodal.

Installation

TorchMultimodal requires Python >= 3.7. The library can be installed with or without CUDA support. The following assumes conda is installed.

Prerequisites

  1. Install conda environment

    conda create -n torch-multimodal python=\
    conda activate torch-multimodal
    
  2. Install pytorch, torchvision, and torchtext. See PyTorch documentation.

    # Use the current CUDA version as seen [here](https://pytorch.org/get-started/locally/)
    # Select the nightly Pytorch build, Linux as the OS, and conda. Pick the most recent CUDA version.
    conda install pytorch torchvision torchtext pytorch-cuda=\ -c pytorch-nightly -c nvidia
    
    # For CPU-only install
    conda install pytorch torchvision torchtext cpuonly -c pytorch-nightly
    

Install from binaries

Nightly binary on Linux for Python 3.7, 3.8 and 3.9 can be installed via pip wheels. For now we only support Linux platform through PyPI.

python -m pip install torchmultimodal-nightly

Building from Source

Alternatively, you can also build from our source code and run our examples:

git clone --recursive https://github.com/facebookresearch/multimodal.git multimodal
cd multimodal

pip install -e .

For developers please follow the development installation.

Documentation

The library builds on the following concepts:

  • Architectures: These are general and composable classes that capture the core logic associated with a family of models. In most cases these take modules as inputs instead of flat arguments (see Models below). Examples include the LateFusion, FLAVA and CLIP. Users should either reuse an existing architecture or a contribute a new one. We avoid inheritance as much as possible.

  • Models: These are specific instantiations of a given architecture implemented using builder functions. The builder functions take as input all of the parameters for constructing the modules needed to instantiate the architecture. See cnn_lstm.py for an example.

  • Modules: These are self-contained components that can be stitched up in various ways to build an architecture. See lstm_encoder.py as an example.

Contributing

See the CONTRIBUTING file for how to help out.

License

TorchMultimodal is BSD licensed, as found in the LICENSE file.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

torchmultimodal_nightly-2022.12.8-py39-none-any.whl (129.9 kB view details)

Uploaded Python 3.9

torchmultimodal_nightly-2022.12.8-py38-none-any.whl (129.9 kB view details)

Uploaded Python 3.8

torchmultimodal_nightly-2022.12.8-py37-none-any.whl (129.9 kB view details)

Uploaded Python 3.7

File details

Details for the file torchmultimodal_nightly-2022.12.8-py39-none-any.whl.

File metadata

File hashes

Hashes for torchmultimodal_nightly-2022.12.8-py39-none-any.whl
Algorithm Hash digest
SHA256 68fa8dc5d916836fb4b0c70767e68c742e105ca62af24b5554aeb11e1deb4615
MD5 c1ad7b806bd08bf47fa7452cc148523e
BLAKE2b-256 e0643be2044cbcd1baa53f7094d74984f418694887d0765ee3900a6cf3d34120

See more details on using hashes here.

File details

Details for the file torchmultimodal_nightly-2022.12.8-py38-none-any.whl.

File metadata

File hashes

Hashes for torchmultimodal_nightly-2022.12.8-py38-none-any.whl
Algorithm Hash digest
SHA256 49f462e0bee5bb0547b19efa54e2a9ccddcd11fd73523c4a5c99406bee2ed053
MD5 a524ecfb45eff838deda574198246741
BLAKE2b-256 6c1614fa8d4be9d957c0e1bdb7bf0c90d5fd90b02364650f9c3c327bb4ba5867

See more details on using hashes here.

File details

Details for the file torchmultimodal_nightly-2022.12.8-py37-none-any.whl.

File metadata

File hashes

Hashes for torchmultimodal_nightly-2022.12.8-py37-none-any.whl
Algorithm Hash digest
SHA256 471526b7a31e1f5c92f1b8eb52c80c4a61d6e8d0986471e4d12f80edb60d99d5
MD5 b1a09772a075e583f61b3f6881384d27
BLAKE2b-256 88ada95d0074c19b22010ef16be796c101b8ce6a9554e20fed75804b8de091c4

See more details on using hashes here.

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