{"id":25963918,"url":"https://github.com/juliendenize/eztorch","last_synced_at":"2025-07-29T04:07:58.322Z","repository":{"id":191359413,"uuid":"684485590","full_name":"juliendenize/eztorch","owner":"juliendenize","description":"Library to perform image and video self-supervised learning.","archived":false,"fork":false,"pushed_at":"2024-10-10T19:26:45.000Z","size":1796,"stargazers_count":46,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T11:51:23.700Z","etag":null,"topics":["contrastive-learning","image","image-processing","pytorch","self-supervised","video","video-processing"],"latest_commit_sha":null,"homepage":"https://juliendenize.github.io/eztorch/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/juliendenize.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-08-29T08:19:54.000Z","updated_at":"2025-03-20T12:30:58.000Z","dependencies_parsed_at":"2023-08-29T14:21:22.497Z","dependency_job_id":"cdde3398-d09e-465f-af8f-fb69ba66e827","html_url":"https://github.com/juliendenize/eztorch","commit_stats":null,"previous_names":["juliendenize/eztorch"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/juliendenize/eztorch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliendenize%2Feztorch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliendenize%2Feztorch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliendenize%2Feztorch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliendenize%2Feztorch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juliendenize","download_url":"https://codeload.github.com/juliendenize/eztorch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliendenize%2Feztorch/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267626910,"owners_count":24117707,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["contrastive-learning","image","image-processing","pytorch","self-supervised","video","video-processing"],"created_at":"2025-03-04T20:49:44.039Z","updated_at":"2025-07-29T04:07:58.305Z","avatar_url":"https://github.com/juliendenize.png","language":"Python","readme":"[![Doc](https://img.shields.io/badge/doc-latest-blue.svg)](https://juliendenize.github.io/eztorch/index.html)\n[![License](https://img.shields.io/badge/license-CeCILL--C-green.svg)](LICENSE)\n\n\u003c!-- start intro --\u003e\n\n# Eztorch\n\n## Introduction\n\nEztorch is a library to make training, validation, and testing in Pytorch *easy* to perform image and video self-supervised representation learning and evaluate those representations on downstream tasks.\n\nIt was first developed to factorize code during [Julien Denize](https://juliendenize.github.io/)'s PhD thesis which was on *Self-supervised representation learning and applications to image and video analysis*.\nIt led to several academic contributions:\n\u003c!-- end intro --\u003e\n\n- [Similarity Contrastive Estimation for Self-Supervised Soft Contrastive Learning (WACV 2023)](./docs/source/contributions/sce_wacv.md)\n- [Similarity Contrastive Estimation for Image and Video Soft Contrastive Self-Supervised Learning (MVAP 2023)](./docs/source/contributions/sce_mvap.md)\n- [COMEDIAN: Self-Supervised Learning and Knowledge Distillation for Action Spotting using Transformers (WACV Workshops 2024)](./docs/source/contributions/comedian.md)\n\n\u003c!-- start readme+ --\u003e\n\nTo ease the use of the code, [documentation](https://juliendenize.github.io/eztorch/index.html) has been built.\n\n\n## How to Install\n\nTo install this repository you need to install a recent version of [**Pytorch (\u003e= 2.)**](https://pytorch.org/get-started/locally/) and all Eztorch dependencies.\n\nYou can just launch the following command:\n```bash\ncd eztorch\nconda create -y -n eztorch\nconda activate eztorch\nconda install -y pip\nconda install -y -c conda-forge libjpeg-turbo\npip install -e .\npip uninstall -y pillow\nCC=\"cc -mavx2\" pip install -U --force-reinstall pillow-simd\n```\n\nThe argument `-e` makes a dev installation that allows you to make changes in the repository without needing to install the package again. It is optional.\n\nIf you want a lighter installation that only installs the main dependencies you need the requirement file by `requirements_lite.txt` and then launch the pip install.\n\n## How to use\n\n1. Read tutorials on Pytorch-Lightning and Hydra to be sure to understand those libraries.\n\n2. Take a look at Eztorch [documentation](https://juliendenize.github.io/eztorch/index.html).\n\n3. Use configs in ``eztorch/configs/run/`` or make your own\n\n4. Pass your config to running scripts in ``run/`` folder.\n\nEztorch is a library, therefore you can import its components from anywhere as long as your Python environment has Eztorch installed.\n\n```python\nfrom eztorch.models.siamese import SCEModel\n\nmodel = SCEModel(...)\n```\n\n## Dependencies\n\nEztorch relies on various libraries to handle different parts of the pipeline:\n\u003e**Why do something worse than people who know best?**\n\nIts main dependencies are:\n\n- [Pytorch-lightning](https://pytorch-lightning.readthedocs.io/en/stable/) for easy setup of:\n   - Preparing data through the datamodules\n   - Models through the Lightning modules\n   - Training, validating, and testing on various device types (CPU, GPU, TPU) with or without distributed training through the trainer\n- [Hydra](https://hydra.cc/) to make configuration of your various experiments:\n   - Write configurations in Python or Yaml\n   - Enjoy hierarchical configuration\n   - Let Hydra instantiate\n   - Speak the same language in Bash or Python to configure your jobs\n- [Torchaug](https://torchaug.readthedocs.io/en/stable/) for efficient GPU and batched data augmentations as a replacement to Torchvision when relevant.\n\nFor specific dependencies, we can cite:\n\n- [Timm](https://github.com/rwightman/pytorch-image-models) to instantiate image models\n- [Pytorchvideo](https://pytorchvideo.readthedocs.io/en/stable/) for video pipeline:\n   - Clip samplers to select one or multiple clips per video\n   - Datasets with decoders to read videos\n   - Specific transforms for videos\n   - Models for videos\n\n## How to contribute\n\nTo contribute follow this process:\n\n0. Make an issue if you find it necessary to discuss the changes with maintainers.\n\n1. Checkout to a new branch.\n\n2. Make your modifications.\n\n3. Document your changes.\n\n4. Ask for merging to main.\n\n5. Follow the merging process with maintainers.\n\n## Issue\n\nIf you found an error, have trouble making this work or have any questions, please open an [issue](https://github.com/juliendenize/eztorch/issues) to describe your problem.\n\n## License\n\nThis project is under the CeCILL license 2.1.\n\n\u003c!-- end readme+ --\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliendenize%2Feztorch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuliendenize%2Feztorch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliendenize%2Feztorch/lists"}