[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74094":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},74094,"corenet","apple\u002Fcorenet","apple","CoreNet: A library for training deep neural networks","",null,"Jupyter Notebook",6999,541,59,14,0,1,3,66.8,"Other",false,"main",[],"2026-06-12 04:01:13","# CoreNet: A library for training deep neural networks\n\nCoreNet is a deep neural network toolkit that allows researchers and engineers to train standard and novel small and large-scale models for variety of tasks, including foundation models (e.g., CLIP and LLM), object classification, object detection, and semantic segmentation.\n\n## Table of contents\n\n   * [What's new?](#whats-new)\n   * [Research efforts at Apple using CoreNet](#research-efforts-at-apple-using-corenet)\n   * [Installation](#installation)\n   * [Directory Structure](#directory-structure)\n   * [Maintainers](#maintainers)\n   * [Contributing to CoreNet](#contributing-to-corenet)\n   * [License](#license)\n   * [Relationship with CVNets](#relationship-with-cvnets)\n   * [Citation](#citation)\n\n## What's new?\n\n   * ***October 2024***: Version 0.1.1 of the CoreNet library includes\n      * [KV Prediction](.\u002Fprojects\u002Fkv-prediction\u002F)\n\n## Research efforts at Apple using CoreNet\n\nBelow is the list of publications from Apple that uses CoreNet. Also, training and evaluation recipes, as well as links to pre-trained models, can be found inside the [projects](.\u002Fprojects\u002F) folder. Please refer to it for further details.\n\n   * [KV Prediction for Improved Time to First Token](https:\u002F\u002Farxiv.org\u002Fabs\u002F2410.08391)\n   * [OpenELM: An Efficient Language Model Family with Open Training and Inference Framework](https:\u002F\u002Farxiv.org\u002Fabs\u002F2404.14619)\n   * [CatLIP: CLIP-level Visual Recognition Accuracy with 2.7x Faster Pre-training on Web-scale Image-Text Data](https:\u002F\u002Farxiv.org\u002Fabs\u002F2404.15653)\n   * [Reinforce Data, Multiply Impact: Improved Model Accuracy and Robustness with Dataset Reinforcement](https:\u002F\u002Farxiv.org\u002Fabs\u002F2303.08983)\n   * [CLIP meets Model Zoo Experts: Pseudo-Supervision for Visual Enhancement](https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.14108)\n   * [FastVit: A Fast Hybrid Vision Transformer using Structural Reparameterization](https:\u002F\u002Farxiv.org\u002Fabs\u002F2303.14189)\n   * [Bytes Are All You Need: Transformers Operating Directly on File Bytes](https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.00238)\n   * [MobileOne: An Improved One millisecond Mobile Backbone](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.04040)\n   * [RangeAugment: Efficient Online Augmentation with Range Learning](https:\u002F\u002Farxiv.org\u002Fabs\u002F2212.10553)\n   * [Separable Self-attention for Mobile Vision Transformers (MobileViTv2)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.02680)\n   * [CVNets: High performance library for Computer Vision, ACM MM'22](https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.02002)\n   * [MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Transformer, ICLR'22](https:\u002F\u002Farxiv.org\u002Fabs\u002F2110.02178)\n\n## Installation\n\nYou will need Git LFS (instructions below) to run tests and Jupyter notebooks \n([instructions](https:\u002F\u002Fjupyter.org\u002Finstall)) in this repository,\nand to contribute to it so we recommend that you install and activate it first.\n\nOn Linux we recommend to use Python 3.10+ and PyTorch (version >= v2.1.0), on\nmacOS system Python 3.9+ should be sufficient.\n\nNote that the optional dependencies listed below are required if you'd like to\nmake contributions and\u002For run tests.\n\nFor Linux (substitute `apt` for your package manager):\n\n```bash\nsudo apt install git-lfs\n\ngit clone git@github.com:apple\u002Fcorenet.git\ncd corenet\ngit lfs install\ngit lfs pull\n# The following venv command is optional, but recommended. Alternatively, you can create and activate a conda environment.\npython3 -m venv venv && source venv\u002Fbin\u002Factivate\npython3 -m pip install --editable .\n```\n\nTo install optional dependencies for audio and video processing:\n\n```bash\nsudo apt install libsox-dev ffmpeg\n```\n\nFor macOS, assuming you use Homebrew:\n\n```bash\nbrew install git-lfs\n\ngit clone git@github.com:apple\u002Fcorenet.git\ncd corenet\ncd \\$(pwd -P)  # See the note below.\ngit lfs install\ngit lfs pull\n# The following venv command is optional, but recommended. Alternatively, you can create and activate a conda environment.\npython3 -m venv venv && source venv\u002Fbin\u002Factivate\npython3 -m pip install --editable .\n```\n\nTo install optional dependencies for audio and video processing:\n\n```bash\nbrew install sox ffmpeg\n```\n\nNote that on macOS the file system is case insensitive, and case sensitivity\ncan cause issues with Git. You should access the repository on disk as if the\npath were case sensitive, i.e. with the same capitalization as you see when you\nlist the directories `ls`. You can switch to such a path with the `cd $(pwd -P)`\ncommand.\n\n\n## Directory Structure\n\nThis section provides quick access and a brief description for important CoreNet directories.\n\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth> Description \u003C\u002Fth>\n\u003Cth> Quick Access \u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003C!-- Row boilerplate (copy-paste the following commented snippet for adding a new row to the table.)\n\u003Ctr> \u003Ctd> \u003Ch3> title \u003C\u002Fh3> \ndescription\n\u003C\u002Ftd> \u003Ctd> \u003Cpre>\nfolders\n\u003C\u002Fpre> \u003C\u002Ftd> \u003C\u002Ftr>\n-->\n\u003Ctr> \u003Ctd> \u003Ch3> Getting Started \u003C\u002Fh3> \nWorking with the examples is an easy way to get started with CoreNet. \n\u003C\u002Ftd> \u003Ctd> \u003Cpre>\n└── tutorials\n    ├── \u003Ca href=\"tutorials\u002Ftrain_a_new_model_on_a_new_dataset_from_scratch.ipynb\">train_a_new_model_on_a_new_dataset_from_scratch.ipynb\u003C\u002Fa>\n    ├── \u003Ca href=\"tutorials\u002Fguide_slurm_and_multi_node_training.md\">guide_slurm_and_multi_node_training.md\u003C\u002Fa>\n    ├── \u003Ca href=\"tutorials\u002Fclip.ipynb\">clip.ipynb\u003C\u002Fa>\n    ├── \u003Ca href=\"tutorials\u002Fsemantic_segmentation.ipynb\">semantic_segmentation.ipynb\u003C\u002Fa>\n    └── \u003Ca href=\"tutorials\u002Fobject_detection.ipynb\">object_detection.ipynb\u003C\u002Fa>\n\u003C\u002Fpre> \u003C\u002Ftd> \u003C\u002Ftr>\n\n\n\u003Ctr> \u003Ctd> \u003Ch3> Training Recipes \u003C\u002Fh3>\nCoreNet provides reproducible training recipes, in addition to the pretrained model \nweights and checkpoints for the publications that are listed in \u003Ccode>projects\u002F\u003C\u002Fcode> directory.\n\nPublication project directories generally contain the following contents:\n\n* `README.md` provides documentation, links to the pretrained weights, and citations.\n* `\u003Ctask_name>\u002F\u003Cmodel_name>.yaml` provides configuration for reproducing the trainings and evaluations.\n\u003C\u002Ftd> \u003Ctd> \u003Cpre>\n└── projects\n    ├── \u003Ca href=\"projects\u002Fkv-prediction\">kv-prediction\u003C\u002Fa> (*)\n    ├── \u003Ca href=\"projects\u002Fbyteformer\">byteformer\u003C\u002Fa>\n    ├── \u003Ca href=\"projects\u002Fcatlip\">catlip\u003C\u002Fa>\n    ├── \u003Ca href=\"projects\u002Fclip\">clip\u003C\u002Fa>\n    ├── \u003Ca href=\"projects\u002Ffastvit\">fastvit\u003C\u002Fa>\n    ├── \u003Ca href=\"projects\u002Fmobilenet_v1\">mobilenet_v1\u003C\u002Fa>\n    ├── \u003Ca href=\"projects\u002Fmobilenet_v2\">mobilenet_v2\u003C\u002Fa>\n    ├── \u003Ca href=\"projects\u002Fmobilenet_v3\">mobilenet_v3\u003C\u002Fa>\n    ├── \u003Ca href=\"projects\u002Fmobileone\">mobileone\u003C\u002Fa>\n    ├── \u003Ca href=\"projects\u002Fmobilevit\">mobilevit\u003C\u002Fa>\n    ├── \u003Ca href=\"projects\u002Fmobilevit_v2\">mobilevit_v2\u003C\u002Fa>\n    ├── \u003Ca href=\"projects\u002Fopenelm\">openelm\u003C\u002Fa>\n    ├── \u003Ca href=\"projects\u002Frange_augment\">range_augment\u003C\u002Fa>\n    ├── \u003Ca href=\"projects\u002Fresnet\">resnet\u003C\u002Fa>\n    └── \u003Ca href=\"projects\u002Fvit\">vit\u003C\u002Fa>\n\u003Cbr>\n(*) Newly released.\n\u003C\u002Fpre> \u003C\u002Ftd> \u003C\u002Ftr>\n\n\n\u003Ctr> \u003Ctd> \u003Ch3> MLX Examples \u003C\u002Fh3>\nMLX examples demonstrate how to run CoreNet models efficiently on Apple Silicon.\nPlease find further information in the \u003Ccode>README.md\u003C\u002Fcode> file within the corresponding example directory.\n\n\u003C\u002Ftd> \u003Ctd> \u003Cpre>\n└──mlx_example\n    ├── \u003Ca href=\"mlx_examples\u002Fclip\">clip\u003C\u002Fa>\n    └── \u003Ca href=\"mlx_examples\u002Fopen_elm\">open_elm\u003C\u002Fa>\n\u003C\u002Fpre> \u003C\u002Ftd> \u003C\u002Ftr>\n\n\n\u003Ctr> \u003Ctd> \u003Ch3> Model Implementations \u003C\u002Fh3> \nModels are organized by tasks (e.g. \"classification\"). You can find all model implementations for each\ntask in the corresponding task folder. \n\nEach model class is decorated by a \n`@MODEL_REGISTRY.register(name=\"\u003Cmodel_name>\", type=\"\u003Ctask_name>\")` decorator. \nTo use a model class in CoreNet training or evaluation,\nassign `models.\u003Ctask_name>.name = \u003Cmodel_name>` in the YAML configuration.\n\n\u003C\u002Ftd> \u003Ctd> \u003Cpre>\n└── corenet\n    └── modeling\n        └── \u003Ca href=\"corenet\u002Fmodeling\u002Fmodels\">models\u003C\u002Fa>\n            ├── \u003Ca href=\"corenet\u002Fmodeling\u002Fmodels\u002Faudio_classification\">audio_classification\u003C\u002Fa>\n            ├── \u003Ca href=\"corenet\u002Fmodeling\u002Fmodels\u002Fclassification\">classification\u003C\u002Fa>\n            ├── \u003Ca href=\"corenet\u002Fmodeling\u002Fmodels\u002Fdetection\">detection\u003C\u002Fa>\n            ├── \u003Ca href=\"corenet\u002Fmodeling\u002Fmodels\u002Flanguage_modeling\">language_modeling\u003C\u002Fa>\n            ├── \u003Ca href=\"corenet\u002Fmodeling\u002Fmodels\u002Fmulti_modal_img_text\">multi_modal_img_text\u003C\u002Fa>\n            └── \u003Ca href=\"corenet\u002Fmodeling\u002Fmodels\u002Fsegmentation\">segmentation\u003C\u002Fa>\n\u003C\u002Fpre> \u003C\u002Ftd> \u003C\u002Ftr>\n\n\n\u003Ctr> \u003Ctd> \u003Ch3> Datasets \u003C\u002Fh3> \nSimilarly to the models, datasets are also categorized by tasks.\n\u003C\u002Ftd> \u003Ctd> \u003Cpre>\n└── corenet\n    └── data\n        └── \u003Ca href=\"corenet\u002Fdata\u002Fdatasets\">datasets\u003C\u002Fa>\n            ├── \u003Ca href=\"corenet\u002Fdata\u002Fdatasets\u002Faudio_classification\">audio_classification\u003C\u002Fa>\n            ├── \u003Ca href=\"corenet\u002Fdata\u002Fdatasets\u002Fclassification\">classification\u003C\u002Fa>\n            ├── \u003Ca href=\"corenet\u002Fdata\u002Fdatasets\u002Fdetection\">detection\u003C\u002Fa>\n            ├── \u003Ca href=\"corenet\u002Fdata\u002Fdatasets\u002Flanguage_modeling\">language_modeling\u003C\u002Fa>\n            ├── \u003Ca href=\"corenet\u002Fdata\u002Fdatasets\u002Fmulti_modal_img_text\">multi_modal_img_text\u003C\u002Fa>\n            └── \u003Ca href=\"corenet\u002Fdata\u002Fdatasets\u002Fsegmentation\">segmentation\u003C\u002Fa>\n\u003C\u002Fpre> \u003C\u002Ftd> \u003C\u002Ftr>\n\n\n\u003Ctr> \u003Ctd> \u003Ch3> Other key directories \u003C\u002Fh3> \nIn this section, we have highlighted the rest of the key directories that implement \nclasses corresponding to the names that are referenced in the YAML configurations.\n\u003C\u002Ftd> \u003Ctd> \u003Cpre>\n└── corenet\n    ├── \u003Ca href=\"corenet\u002Floss_fn\">loss_fn\u003C\u002Fa>\n    ├── \u003Ca href=\"corenet\u002Fmetrics\">metrics\u003C\u002Fa>\n    ├── \u003Ca href=\"corenet\u002Foptims\">optims\u003C\u002Fa>\n    │   └── \u003Ca href=\"corenet\u002Foptims\u002Fscheduler\">scheduler\u003C\u002Fa>\n    ├── \u003Ca href=\"corenet\u002Ftrain_eval_pipelines\">train_eval_pipelines\u003C\u002Fa>\n    ├── \u003Ca href=\"corenet\u002Fdata\">data\u003C\u002Fa>\n    │   ├── \u003Ca href=\"corenet\u002Fdata\u002Fcollate_fns\">collate_fns\u003C\u002Fa>\n    │   ├── \u003Ca href=\"corenet\u002Fdata\u002Fsampler\">sampler\u003C\u002Fa>\n    │   ├── \u003Ca href=\"corenet\u002Fdata\u002Ftext_tokenizer\">text_tokenizer\u003C\u002Fa>\n    │   ├── \u003Ca href=\"corenet\u002Fdata\u002Ftransforms\">transforms\u003C\u002Fa>\n    │   └── \u003Ca href=\"corenet\u002Fdata\u002Fvideo_reader\">video_reader\u003C\u002Fa>\n    └── \u003Ca href=\"corenet\u002Fmodeling\">modeling\u003C\u002Fa>\n        ├── \u003Ca href=\"corenet\u002Fmodeling\u002Flayers\">layers\u003C\u002Fa>\n        ├── \u003Ca href=\"corenet\u002Fmodeling\u002Fmodules\">modules\u003C\u002Fa>\n        ├── \u003Ca href=\"corenet\u002Fmodeling\u002Fneural_augmentor\">neural_augmentor\u003C\u002Fa>\n        └── \u003Ca href=\"corenet\u002Fmodeling\u002Ftext_encoders\">text_encoders\u003C\u002Fa>\n\u003C\u002Fpre> \u003C\u002Ftd> \u003C\u002Ftr>\n\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n## Maintainers\nThis code is developed and maintained by \u003Ca href=\"https:\u002F\u002Fmchorton.com\" target=\"_blank\">Maxwell Horton\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.mohammad.pro\" target=\"_blank\">Mohammad Sekhavat\u003C\u002Fa> Yanzi Jin, and \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fdepthwise\" target=\"_blank\">Dmitry Belenko\u003C\u002Fa>.\n\n### Previous Maintainers\n* \u003Ca href=\"https:\u002F\u002Fsacmehta.github.io\" target=\"_blank\">Sachin Mehta\u003C\u002Fa>\n* \u003Ca href=\"https:\u002F\u002Ffarzadab.github.io\" target=\"_blank\">Farzad Abdolhosseini\u003C\u002Fa>\n\n## Contributing to CoreNet\n\nWe welcome PRs from the community! You can find information about contributing to CoreNet in our [contributing](CONTRIBUTING.md) document. \n\nPlease remember to follow our [Code of Conduct](CODE_OF_CONDUCT.md).\n\n## License\n\nFor license details, see [LICENSE](LICENSE). \n\n## Relationship with CVNets\n\nCoreNet evolved from CVNets, to encompass a broader range of applications beyond computer vision. Its expansion facilitated the training of foundational models, including LLMs.\n\n## Citation\n\nIf you find our work useful, please cite the following paper:\n\n``` \n@inproceedings{mehta2022cvnets, \n     author = {Mehta, Sachin and Abdolhosseini, Farzad and Rastegari, Mohammad}, \n     title = {CVNets: High Performance Library for Computer Vision}, \n     year = {2022}, \n     booktitle = {Proceedings of the 30th ACM International Conference on Multimedia}, \n     series = {MM '22} \n}\n```\n","CoreNet 是一个用于训练深度神经网络的工具包，支持研究人员和工程师训练从小型到大型的各种标准和新颖模型，适用于基础模型（如CLIP和LLM）、物体分类、物体检测以及语义分割等任务。该项目提供了丰富的功能，包括KV预测等最新技术，并且基于Jupyter Notebook实现，便于用户进行实验和开发。它特别适合需要在计算机视觉和自然语言处理领域快速迭代和验证新想法的研究者及开发者使用。此外，CoreNet已被应用于多项苹果公司的研究工作中，证明了其在实际项目中的有效性和可靠性。",2,"2026-06-11 03:48:47","high_star"]