Examples in the MLX framework
mlx
Go to file
Gabrijel Boduljak 94358219cf
CLIP (ViT) (#315)
* probably approximatelly correct CLIPTextEncoder

* implemented CLIPEncoderLayer as built-in nn.TransformerEncoderLayer

* replaced embedding layer with simple matrix

* implemented ViT

* added ViT tests

* fixed tests

* added pooler_output for text

* implemented complete CLIPModel

* implemented init

* implemented convert.py and from_pretrained

* fixed some minor bugs and added the README.md

* removed tokenizer unused comments

* removed unused deps

* updated ACKNOWLEDGEMENTS.md

* Feat: Image Processor for CLIP (#1)

@nkasmanoff:
* clip image processor
* added example usage

* refactored image preprocessing

* deleted unused image_config.py

* removed preprocessing port

* added dependency to mlx-data

* fixed attribution and moved photos to assets

* implemented a simple port of CLIPImageProcessor

* review changes

* PR review changes

* renamed too verbose arg

* updated README.md

* nits in readme / conversion

* simplify some stuff, remove unneeded inits

* remove more init stuff

* more simplify

* make test a unit test

* update main readme

* readme nits

---------

Co-authored-by: Noah Kasmanoff <nkasmanoff@gmail.com>
Co-authored-by: Awni Hannun <awni@apple.com>
2024-01-31 14:19:53 -08:00
bert docs: added missing imports (#375) 2024-01-25 10:44:53 -08:00
cifar Updated CIFAR-10 ResNet example to use BatchNorm instead of LayerNorm (#257) 2024-01-12 05:43:11 -08:00
clip CLIP (ViT) (#315) 2024-01-31 14:19:53 -08:00
gcn Support Hugging Face models (#215) 2024-01-03 15:13:26 -08:00
llms LoRA: Remove unnecessary model type judgments (#388) 2024-01-31 11:55:27 -08:00
lora remove simplify (#379) 2024-01-26 13:54:49 -08:00
mnist Refactor activation function and loss calculation (#325) 2024-01-16 13:42:56 -08:00
normalizing_flow Fix import order of normalizing_flow (#326) 2024-01-16 08:45:55 -08:00
speechcommands Use pip for mlx data with speech commands (#307) 2024-01-12 11:06:33 -08:00
stable_diffusion remove simplify (#379) 2024-01-26 13:54:49 -08:00
t5 add speculative decoding example for llama (#149) 2023-12-28 15:20:43 -08:00
transformer_lm remove simplify (#379) 2024-01-26 13:54:49 -08:00
whisper Added lora support for Phi-2 (#302) 2024-01-12 13:45:30 -08:00
.gitignore Align CLI args and some smaller fixes (#167) 2023-12-22 14:34:32 -08:00
.pre-commit-config.yaml Feat: Bump isort version (#350) 2024-01-21 06:35:15 -08:00
ACKNOWLEDGMENTS.md CLIP (ViT) (#315) 2024-01-31 14:19:53 -08:00
CODE_OF_CONDUCT.md contribution + code of conduct 2023-11-29 12:31:18 -08:00
CONTRIBUTING.md Update CONTRIBUTING.md 2023-12-09 08:02:34 +09:00
LICENSE consistent copyright 2023-11-30 11:11:04 -08:00
README.md CLIP (ViT) (#315) 2024-01-31 14:19:53 -08:00

MLX Examples

This repo contains a variety of standalone examples using the MLX framework.

The MNIST example is a good starting point to learn how to use MLX.

Some more useful examples are listed below.

Text Models

Image Models

Audio Models

Multimodal models

  • Joint text and image embeddings with CLIP.

Other Models

  • Semi-supervised learning on graph-structured data with GCN.
  • Real NVP normalizing flow for density estimation and sampling.

Hugging Face

Note: You can now directly download a few converted checkpoints from the MLX Community organization on Hugging Face. We encourage you to join the community and contribute new models.

Contributing

We are grateful for all of our contributors. If you contribute to MLX Examples and wish to be acknowledged, please add your name to the list in your pull request.

Citing MLX Examples

The MLX software suite was initially developed with equal contribution by Awni Hannun, Jagrit Digani, Angelos Katharopoulos, and Ronan Collobert. If you find MLX Examples useful in your research and wish to cite it, please use the following BibTex entry:

@software{mlx2023,
  author = {Awni Hannun and Jagrit Digani and Angelos Katharopoulos and Ronan Collobert},
  title = {{MLX}: Efficient and flexible machine learning on Apple silicon},
  url = {https://github.com/ml-explore},
  version = {0.0},
  year = {2023},
}