Skip to content

Commit

Permalink
add multi-modal (vision + language) transformers (Project-MONAI#2962)
Browse files Browse the repository at this point in the history
* add multimodal transformers

Signed-off-by: ahatamizadeh <[email protected]>
  • Loading branch information
ahatamiz authored Sep 16, 2021
1 parent fb2c2e9 commit 3b6f479
Show file tree
Hide file tree
Showing 13 changed files with 506 additions and 2 deletions.
1 change: 1 addition & 0 deletions docs/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@ sphinxcontrib-serializinghtml
sphinx-autodoc-typehints==1.11.1
pandas
einops
transformers
4 changes: 2 additions & 2 deletions docs/source/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,9 @@ Since MONAI v0.2.0, the extras syntax such as `pip install 'monai[nibabel]'` is

- The options are
```
[nibabel, skimage, pillow, tensorboard, gdown, ignite, torchvision, itk, tqdm, lmdb, psutil, cucim, openslide, pandas, einops]
[nibabel, skimage, pillow, tensorboard, gdown, ignite, torchvision, itk, tqdm, lmdb, psutil, cucim, openslide, pandas, einops, transformers]
```
which correspond to `nibabel`, `scikit-image`, `pillow`, `tensorboard`,
`gdown`, `pytorch-ignite`, `torchvision`, `itk`, `tqdm`, `lmdb`, `psutil`, `cucim`, `openslide-python`, `pandas` and `einops`, respectively.
`gdown`, `pytorch-ignite`, `torchvision`, `itk`, `tqdm`, `lmdb`, `psutil`, `cucim`, `openslide-python`, `pandas`, `einops` and `transformers`, respectively.

- `pip install 'monai[all]'` installs all the optional dependencies.
5 changes: 5 additions & 0 deletions docs/source/networks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,11 @@ Nets
.. autoclass:: Critic
:members:

`VLTransformers`
~~~~~~~~~~~~~~~~
.. autoclass:: VLTransformers
:members:

`NetAdapter`
~~~~~~~~~~~~
.. autoclass:: NetAdapter
Expand Down
1 change: 1 addition & 0 deletions monai/config/deviceconfig.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ def get_optional_config_values():
output["psutil"] = psutil_version
output["pandas"] = get_package_version("pandas")
output["einops"] = get_package_version("einops")
output["transformers"] = get_package_version("transformers")

return output

Expand Down
9 changes: 9 additions & 0 deletions monai/networks/nets/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,13 @@
from .unetr import UNETR
from .varautoencoder import VarAutoEncoder
from .vit import ViT
from .vltransformer import (
BertAttention,
BertMixedLayer,
BertOutput,
BertPreTrainedModel,
MultiModal,
Pooler,
VLTransformers,
)
from .vnet import VNet
3 changes: 3 additions & 0 deletions monai/networks/nets/autoencoder.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,11 @@ def __init__(
dimensions: Optional[int] = None,
) -> None:
"""
Initialize the AutoEncoder.
.. deprecated:: 0.6.0
``dimensions`` is deprecated, use ``spatial_dims`` instead.
"""

super().__init__()
Expand Down
1 change: 1 addition & 0 deletions monai/networks/nets/varautoencoder.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ class VarAutoEncoder(AutoEncoder):
.. deprecated:: 0.6.0
``dimensions`` is deprecated, use ``spatial_dims`` instead.
"""

@deprecated_arg(
Expand Down
2 changes: 2 additions & 0 deletions monai/networks/nets/vit.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
from monai.networks.blocks.patchembedding import PatchEmbeddingBlock
from monai.networks.blocks.transformerblock import TransformerBlock

__all__ = ["ViT"]


class ViT(nn.Module):
"""
Expand Down
Loading

0 comments on commit 3b6f479

Please sign in to comment.