TorchOk - The toolkit for fast Deep Learning experiments in Computer Vision

Overview

TorchOk

The toolkit for fast Deep Learning experiments in Computer Vision

What is it?

The toolkit consists of:

  • Popular neural network models and custom modules implementations used in our company
  • Metrics used in CV such that mIoU, mAP, etc.
  • Commonly used datasets and data loaders

The framework is based on PyTorch and utilizes PyTorch Lightning for training pipeline routines.

Installation

Docker

One of the ways to install TorchOk is to use Docker:

" . docker run -d --name _torchok --gpus=all -v :/workdir -p :22 -p :8888 -p :6006 torchok ">
docker build -t torchok --build-arg SSH_PUBLIC_KEY="
         
          "
          .
docker run -d --name <username>_torchok --gpus=all -v <path/to/workdir>:/workdir -p <ssh_port>:22 -p <jupyter_port>:8888 -p <tensorboard_port>:6006 torchok

Conda

To remove previous installation of TorchOk environment, run:

conda remove --name torchok --all

To install TorchOk locally, run:

conda env create -f environment.yml

This will create a new conda environment torchok with all dependencies.

Getting started

Training is configured by YAML configuration files which each forked project should store inside configs folder (see configs/cifar10.yml for example). The configuration supports environment variables substitution, so that you can easily change base directory paths without changing the config file for each environment. The most common environment variables are:
SM_CHANNEL_TRAINING — directory to all training data
SM_OUTPUT_DATA_DIR — directory where logs for all runs will be stored SM_NUM_CPUS - number of used CPUs for dataloader

Start training locally

Download CIFAR10 dataset running all cells in notebooks/Cifar10.ipynb, the dataset will appear in data/cifar10 folder.

docker exec -it torchok bash
cd torchok
SM_NUM_CPUS=8 SM_CHANNEL_TRAINING=./data/cifar10 SM_OUTPUT_DATA_DIR=/tmp python train.py --config config/classification_resnet_example.yml

Start SageMaker Training Jobs

Start the job using one of the AWS SageMaker instances. You have 2 ways to provide data inside your training container:

  • Slow downloaded S3 bucket: s3:// / . Volume size is needed to be set when you use S3 bucket. For other cases it can be omitted.
  • Fast FSx access: fsx:// / / . To create FSx filesystem follow this instructions

Example with S3:

python run_sagemaker.py --config configs/cifar10.yml --input_path s3://sagemaker-mlflow-main/cifar10 --instance_type ml.g4dn.xlarge --volume_size 5

Example with FSx:

python run_sagemaker.py --input_path fsx://fs-0f79df302dcbd29bd/z6duzbmv/tz_jpg --config configs/siloiz_pairwise_xbm_resnet50_512d.yml --instance_type ml.g4dn.xlarge

In case something isn't working inside the Sagemaker container you can debug your model locally. Specify local_gpu instance type when starting the job:

python run_sagemaker.py --config configs/cifar10.yml --instance_type local_gpu --volume_size 5 --input_path file://../data/cifar10

Run tests

docker exec -it torchok bash
cd torchok
python -m unittest discover -s tests/ -p "test_*.py"

Differences in configs sagemaker vs local machine

1. Path to data folder

sagemaker

data:
  dataset_name: ExampleDataset
  common_params:
    data_folder: "${SM_CHANNEL_TRAINING}"

local machine

data:
  dataset_name: ExampleDataset
  common_params:
    data_folder: "/path/to/data"

2. Path to artifacts dir

sagemaker

log_dir: '/opt/ml/checkpoints'

local machine

log_dir: '/tmp/logs'

3. Restore path

do_restore is a special indicator which was designed to be used for SageMaker spot instances training. With this indicator you can debug your model locally and be free to leave the restore_path pointing to some common directory like /opt/ml/checkpoints, where TorchOk will search the checkpoints for.

sagemaker

restore_path: '/opt/ml/checkpoints'
do_restore: '${SM_USER_ENTRY_POINT}'

local machine

restore_path: '/opt/ml/checkpoints'
do_restore: '${SM_USER_ENTRY_POINT}'

Mlflow

To have more convenient logs it is recommended to name your experiment as project_name-developer_name, so that all your experiments related to this project will be under one tag in mlflow

experiment_name: &experiment_name fips-roman

State all the model parameters in mlflow.runName in logger params

logger:
  logger: mlflow
  experiment_name: *experiment_name
  tags:
      mlflow.runName: "siloiz_contrastive_xbm_resnet50_512d"
  save_dir: "s3://sagemaker-mlflow-main/mlruns"
  secrets_manager:
      region: "eu-west-1"
      mlflow_secret: "acme/mlflow"
Comments
  • Flake8 not pass if 3.7 python version

    Flake8 not pass if 3.7 python version

    Describe the bug When i run github action with python version 3.7. Flake8 raise SyntaxError on 179 line. https://github.com/eora-ai/torchok/blob/dev/torchok/models/backbones/beit.py

    To Reproduce Replace .github/workflows/flake8_checks.yaml below code snippet.

    
    on:
      push:
        branches: [dev]
      pull_request: 
        branches: [dev]
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v2
          - name: Install python
            uses: actions/setup-python@v2
            with:
              python-version: 3.7
          - name: Install deps
            run: |
              python -m pip install --upgrade pip
              pip install flake8
          - name: Run flake8
            run: flake8 .```
    bug 
    opened by VladislavPatrushev 1
  • SwinV2 not export to onnx.

    SwinV2 not export to onnx.

    Describe the bug When i set export_to_onnx true in yaml config, process crash on epoch end (in ModelCheckpointWithOnnx).

    To Reproduce run python -m torchok -cp ../examples/configs -cn representation_arcface_sop (before set export_to_onnx as true).

    Actual behavior Traceback (most recent call last): File "/workdir/vpatrushev/torchOKsmall2/torchok/torchok/main.py", line 38, in entrypoint trainer.fit(model, ckpt_path=config.resume_path) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 770, in fit self._call_and_handle_interrupt( File "/opt/conda/envs/torchok/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 723, in _call_and_handle_interrupt return trainer_fn(*args, **kwargs) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 811, in _fit_impl results = self._run(model, ckpt_path=self.ckpt_path) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1236, in _run results = self._run_stage() File "/opt/conda/envs/torchok/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1323, in _run_stage return self._run_train() File "/opt/conda/envs/torchok/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1353, in _run_train self.fit_loop.run() File "/opt/conda/envs/torchok/lib/python3.9/site-packages/pytorch_lightning/loops/base.py", line 205, in run self.on_advance_end() File "/opt/conda/envs/torchok/lib/python3.9/site-packages/pytorch_lightning/loops/fit_loop.py", line 297, in on_advance_end self.trainer._call_callback_hooks("on_train_epoch_end") File "/opt/conda/envs/torchok/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1636, in _call_callback_hooks fn(self, self.lightning_module, *args, **kwargs) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/pytorch_lightning/callbacks/model_checkpoint.py", line 309, in on_train_epoch_end self._save_last_checkpoint(trainer, monitor_candidates) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/pytorch_lightning/callbacks/model_checkpoint.py", line 644, in _save_last_checkpoint self._save_checkpoint(trainer, filepath) File "/workdir/vpatrushev/torchOKsmall2/torchok/torchok/callbacks/model_checkpoint_with_onnx.py", line 43, in _save_checkpoint model.to_onnx(filepath + self.ONNX_EXTENSION, (*input_tensors,), **self.onnx_params) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context return func(*args, **kwargs) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/pytorch_lightning/core/lightning.py", line 1888, in to_onnx torch.onnx.export(self, input_sample, file_path, **kwargs) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/onnx/init.py", line 350, in export return utils.export( File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/onnx/utils.py", line 163, in export _export( File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/onnx/utils.py", line 1074, in _export graph, params_dict, torch_out = _model_to_graph( File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/onnx/utils.py", line 727, in _model_to_graph graph, params, torch_out, module = _create_jit_graph(model, args) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/onnx/utils.py", line 602, in _create_jit_graph graph, torch_out = _trace_and_get_graph_from_model(model, args) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/onnx/utils.py", line 517, in _trace_and_get_graph_from_model trace_graph, torch_out, inputs_states = torch.jit._get_trace_graph( File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/jit/_trace.py", line 1175, in _get_trace_graph outs = ONNXTracedModule(f, strict, _force_outplace, return_inputs, _return_inputs_states)(*args, **kwargs) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl return forward_call(*input, **kwargs) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/jit/_trace.py", line 127, in forward graph, out = torch._C._create_graph_by_tracing( File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/jit/_trace.py", line 118, in wrapper outs.append(self.inner(*trace_inputs)) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl return forward_call(*input, **kwargs) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1118, in _slow_forward result = self.forward(*input, **kwargs) File "/workdir/vpatrushev/torchOKsmall2/torchok/torchok/tasks/classification.py", line 51, in forward x = self.backbone(x) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl return forward_call(*input, **kwargs) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1118, in _slow_forward result = self.forward(*input, **kwargs) File "/workdir/vpatrushev/torchOKsmall2/torchok/torchok/models/backbones/swin.py", line 250, in forward x = self._forward_patch_emb(x) File "/workdir/vpatrushev/torchOKsmall2/torchok/torchok/models/backbones/swin.py", line 211, in _forward_patch_emb x = self.patch_embed(x) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl return forward_call(*input, **kwargs) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1118, in _slow_forward result = self.forward(*input, **kwargs) File "/opt/conda/envs/torchok/lib/python3.9/site-packages/timm/models/layers/patch_embed.py", line 32, in forward B, C, H, W = x.shape ValueError: not enough values to unpack (expected 4, got 3)

    Environment:

    • OS: [e.g. Ubuntu 22.04]
    • CUDA: [e.g. 11.6]
    • PyTorch: [e.g. 12.0]
    • PyTorch Lightning: [e.g. 1.6.5]
    bug 
    opened by VladislavPatrushev 1
  • Add seed everything by default

    Add seed everything by default

    Is your feature request related to a problem? Please describe. We now cannot reproduce the experiments because of the seeds not being set.

    Describe the solution you'd like Lightning has a function that allows users to seed everything: https://pytorch-lightning.readthedocs.io/en/stable/common/trainer.html#reproducibility. It should be enabled by default and be configured from the training configuration.

    Describe alternatives you've considered

    Additional context

    enhancement 
    opened by VladVin 1
  • Weight decay per group from config

    Weight decay per group from config

    Is your feature request related to a problem? Please describe. A user can specify model layers with their own weight decay parameters being set in the training configuration.

    Describe the solution you'd like In the config file it might be a dict like this:

    weight_decays:
      'head.layer1': 0.00001
      'head.layer2': 0.00005
    

    Describe alternatives you've considered

    Additional context

    enhancement 
    opened by VladVin 1
  • Remove ability to specify multiple training dataloaders

    Remove ability to specify multiple training dataloaders

    Is your feature request related to a problem? Please describe. It is impossible to use multiple training datasets according to Lightning's interface (there is no dataloader_idx parameter for training_step). But TorchOk supports a list of training datasets though it won't work - the user has to specify only one training dataloader to make it work.

    Describe the solution you'd like Remove the ability to pass multiple training dataloaders

    Describe alternatives you've considered We can also create our own wrapper around a list of datasets, but it will be confusing for a user

    Additional context

    invalid 
    opened by VladVin 0
  • Dependencies installation didn't happen in CI/CD on a multi-commit PR

    Dependencies installation didn't happen in CI/CD on a multi-commit PR

    Describe the bug Dependencies in pyproject.toml were changed in a multi-commit PR, but the CI/CD process didn't catch them, resulting to broken dependencies in main branch.

    To Reproduce

    Expected behavior Dependencies installation needs to be ran in CI/CD when one of the commits in a PR changes pyproject.toml

    Actual behavior The broken dependencies workflow in main

    Environment: See CI/CD workflow

    bug 
    opened by VladVin 0
  • Representation Metrics in DDP mode

    Representation Metrics in DDP mode

    Describe the bug In DDP mode representation metrics doesn't work. Due to in update function gpu embedding convert to cpu embedding and after that in compute method in DDP mode called all_gather() which work only with gpu tensors.

    bug 
    opened by PososikTeam 0
  • Tests for BEiT

    Tests for BEiT

    Is your feature request related to a problem? Please describe. There are no tests for BEiT backbone. The main reason is BEiT can't convert to Jit CPU model, because of BEiT has SyncBatchNorm layer which has no implementation for CPU.

    enhancement 
    opened by PososikTeam 0
  • No examples configs inside TorchOk package

    No examples configs inside TorchOk package

    Describe the bug There's a command in README for running basic example training but it doesn't work:

    python -m torchok -cn classification_cifar10 trainer.accelerator='cpu'
    

    To Reproduce

    pip install --upgrade torchok
    python -m torchok -cn classification_cifar10 trainer.accelerator='cpu'
    

    Expected behavior The example should run

    Actual behavior Error is raised:

    /usr/local/lib/python3.7/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.
      import pandas.util.testing as tm
    Primary config directory not found.
    Check that the config directory '/usr/local/lib/python3.7/dist-packages/torchok/examples/configs' exists and readable
    
    Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.
    

    Environment:

    Additional context

    opened by VladVin 1
Releases(v0.4.12)
  • v0.4.12(Dec 23, 2022)

    What's Changed

    • Feature add new features by @Animatory in https://github.com/eora-ai/torchok/pull/152
    • Fix freeze unfreez for batch norms by @PososikTeam in https://github.com/eora-ai/torchok/pull/151
    • Feature_onnx_check_backbone by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/148
    • Update freeze_unfreeze callback by @Animatory in https://github.com/eora-ai/torchok/pull/155
    • Fix FreezeUnfreeze callback by @Animatory in https://github.com/eora-ai/torchok/pull/158
    • Feature resnets no downsample stages by @azakhtyamov in https://github.com/eora-ai/torchok/pull/144
    • Fix failure on single module at unfreeze stage by @Animatory in https://github.com/eora-ai/torchok/pull/159
    • Bug Fix checkpoint with onnx top k by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/154
    • Feature Object detection by @Animatory in https://github.com/eora-ai/torchok/pull/147
    • Fix imports for absence of mmdet by @Animatory in https://github.com/eora-ai/torchok/pull/160
    • Feature fix mlflow logger by @kristinarakova in https://github.com/eora-ai/torchok/pull/161
    • Torchmetrics retrieval metrics by @PososikTeam in https://github.com/eora-ai/torchok/pull/156
    • Update environment and configs by @Animatory in https://github.com/eora-ai/torchok/pull/163
    • Fix bag with metric and add ability to choice if use batch searching or no by @PososikTeam in https://github.com/eora-ai/torchok/pull/164
    • fix constructor attribute in base task by @kristinarakova in https://github.com/eora-ai/torchok/pull/165
    • fix memory leak by @PososikTeam in https://github.com/eora-ai/torchok/pull/166
    • Refactor Tasks by @Animatory in https://github.com/eora-ai/torchok/pull/167
    • Update environment by @Animatory in https://github.com/eora-ai/torchok/pull/170
    • Getting started docs by @VladVin in https://github.com/eora-ai/torchok/pull/157
    • Docs pairwise task by @PososikTeam in https://github.com/eora-ai/torchok/pull/171
    • Update documentation in classification and detection by @Animatory in https://github.com/eora-ai/torchok/pull/172
    • Update Detection by @Animatory in https://github.com/eora-ai/torchok/pull/168
    • Project version increment by @VladVin in https://github.com/eora-ai/torchok/pull/173

    New Contributors

    • @azakhtyamov made their first contribution in https://github.com/eora-ai/torchok/pull/144
    • @kristinarakova made their first contribution in https://github.com/eora-ai/torchok/pull/161

    Full Changelog: https://github.com/eora-ai/torchok/compare/v0.4.11...v0.4.12

    Source code(tar.gz)
    Source code(zip)
  • v0.4.11(Sep 14, 2022)

    What's Changed

    • Add CaiT and XCiT models by @Animatory in https://github.com/eora-ai/torchok/pull/1
    • Fixes & Improvements from EORA team by @VladVin in https://github.com/eora-ai/torchok/pull/6
    • Re-engineered basic folders structure by @VladVin in https://github.com/eora-ai/torchok/pull/10
    • create feature-classification_dataset by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/12
    • feature_unsupervised_contrastive_dataset by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/13
    • registry write by @PososikTeam in https://github.com/eora-ai/torchok/pull/14
    • Feature retrieval dataset by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/15
    • add flake8 by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/17
    • change api base dataset by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/27
    • Feature metric manager by @PososikTeam in https://github.com/eora-ai/torchok/pull/11
    • Constructor by @VladVin in https://github.com/eora-ai/torchok/pull/22
    • create feature hooks base model by @PososikTeam in https://github.com/eora-ai/torchok/pull/19
    • Fixed order names of tests for JointLoss by @VladVin in https://github.com/eora-ai/torchok/pull/29
    • feature-representation_metric by @PososikTeam in https://github.com/eora-ai/torchok/pull/16
    • add base task by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/18
    • Feature ResNet, SEResNet by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/26
    • Feature dataset cifar10 by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/32
    • Feature ResNet add urls by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/34
    • Config structure by @PososikTeam in https://github.com/eora-ai/torchok/pull/25
    • Hot FIX Metric test by @PososikTeam in https://github.com/eora-ai/torchok/pull/30
    • Feature arc face head by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/21
    • Feature base task bug-fix by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/33
    • SOP run by @PososikTeam in https://github.com/eora-ai/torchok/pull/36
    • Added new requierements by @VladVin in https://github.com/eora-ai/torchok/pull/37
    • CIFAR-10 run by @VladVin in https://github.com/eora-ai/torchok/pull/38
    • Updated README for the new concept by @VladVin in https://github.com/eora-ai/torchok/pull/40
    • Feature HRNet by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/41
    • Feature Segmentation Dataset by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/35
    • Sphinx documentation by @VladVin in https://github.com/eora-ai/torchok/pull/43
    • Set joint loss and optimizer as optional by @PososikTeam in https://github.com/eora-ai/torchok/pull/50
    • featue save_onnx_ckpt by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/49
    • Updated all dependencies and Dockerfile by @VladVin in https://github.com/eora-ai/torchok/pull/55
    • Fixed logging steps in test configs by @VladVin in https://github.com/eora-ai/torchok/pull/58
    • SOP training by @PososikTeam in https://github.com/eora-ai/torchok/pull/53
    • Load checkpoint by @PososikTeam in https://github.com/eora-ai/torchok/pull/39
    • hotfix-classification_task by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/66
    • BaseModel class by @PososikTeam in https://github.com/eora-ai/torchok/pull/57
    • MLFlow Logger by @PososikTeam in https://github.com/eora-ai/torchok/pull/54
    • MLFlow config by @PososikTeam in https://github.com/eora-ai/torchok/pull/67
    • Config MLFlow by @PososikTeam in https://github.com/eora-ai/torchok/pull/68
    • hotfix-onnx_save_checkpoint_callback by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/70
    • TorchOk packaging by @VladVin in https://github.com/eora-ai/torchok/pull/73
    • SwinV2 by @PososikTeam in https://github.com/eora-ai/torchok/pull/47
    • Segmentation by @PososikTeam in https://github.com/eora-ai/torchok/pull/71
    • Adapt models from TIMM by @Animatory in https://github.com/eora-ai/torchok/pull/76
    • Add efficientnet architecture by @Animatory in https://github.com/eora-ai/torchok/pull/87
    • Add mobilenetv3 backbone by @Animatory in https://github.com/eora-ai/torchok/pull/88
    • feature-onnxtask by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/48
    • Add notebooks by @PososikTeam in https://github.com/eora-ai/torchok/pull/89
    • Entrypoints by @PososikTeam in https://github.com/eora-ai/torchok/pull/77
    • hotfix_multilog_dir by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/90
    • Feature DaViT by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/56
    • Freeze by @PososikTeam in https://github.com/eora-ai/torchok/pull/75
    • feature-Unet by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/52
    • Merge Hydra and PytorchLightning logging by @Animatory in https://github.com/eora-ai/torchok/pull/104
    • Feature-forward_onnx by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/100
    • Fixed deps for Python 3.7 by @VladVin in https://github.com/eora-ai/torchok/pull/105
    • Global refactor by @Animatory in https://github.com/eora-ai/torchok/pull/107
    • Fix Hydra logging timestamp by @Animatory in https://github.com/eora-ai/torchok/pull/108
    • Add Beit backbone by @Animatory in https://github.com/eora-ai/torchok/pull/109
    • Hotfix warnings by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/113
    • Hotfix flake8 by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/111
    • Feature github actions by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/112
    • Refactor datasets by @Animatory in https://github.com/eora-ai/torchok/pull/115
    • Hot fix for run all configs without errors by @PososikTeam in https://github.com/eora-ai/torchok/pull/116
    • Feature_metric_with_utils by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/117
    • Feature detection dataset by @PososikTeam in https://github.com/eora-ai/torchok/pull/118
    • Hotfix python3.7 maintain by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/119
    • Feature Pairwise Task by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/110
    • Fix flake8 action by @VladislavPatrushev in https://github.com/eora-ai/torchok/pull/120
    • fixed metric tests by @PososikTeam in https://github.com/eora-ai/torchok/pull/125
    • Update for new lightning version by @Animatory in https://github.com/eora-ai/torchok/pull/127
    • Fixed pandas version by @VladVin in https://github.com/eora-ai/torchok/pull/128
    • Fixed numpy version by @VladVin in https://github.com/eora-ai/torchok/pull/129
    • support many validation dataloaders by @PososikTeam in https://github.com/eora-ai/torchok/pull/130
    • Fix COCO by @PososikTeam in https://github.com/eora-ai/torchok/pull/133
    • implement bce loss by @PososikTeam in https://github.com/eora-ai/torchok/pull/131
    • Dict support in MetricManager by @PososikTeam in https://github.com/eora-ai/torchok/pull/123
    • Fix bugs by @PososikTeam in https://github.com/eora-ai/torchok/pull/126
    • Fix dependencies in pyproject.toml by @VladVin in https://github.com/eora-ai/torchok/pull/134
    • tests fix by @PososikTeam in https://github.com/eora-ai/torchok/pull/136
    • Fix library versions by @PososikTeam in https://github.com/eora-ai/torchok/pull/137
    • Full CI/CD: lint, test, publish by @VladVin in https://github.com/eora-ai/torchok/pull/135
    • Fix additional tests by @PososikTeam in https://github.com/eora-ai/torchok/pull/138
    • CI/CD tests fix and package version update by @VladVin in https://github.com/eora-ai/torchok/pull/139
    • Fixed PyPI publishing trigger in CI/CD by @VladVin in https://github.com/eora-ai/torchok/pull/140
    • Split CI/CD workflows by @VladVin in https://github.com/eora-ai/torchok/pull/141
    • Update prerelease version by @VladVin in https://github.com/eora-ai/torchok/pull/142
    • Remove uploading to TestPyPI from CD process & package update by @VladVin in https://github.com/eora-ai/torchok/pull/143

    New Contributors

    • @Animatory made their first contribution in https://github.com/eora-ai/torchok/pull/1
    • @VladislavPatrushev made their first contribution in https://github.com/eora-ai/torchok/pull/12
    • @PososikTeam made their first contribution in https://github.com/eora-ai/torchok/pull/14

    Full Changelog: https://github.com/eora-ai/torchok/commits/v0.4.11

    Source code(tar.gz)
    Source code(zip)
Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit

CNTK Chat Windows build status Linux build status The Microsoft Cognitive Toolkit (https://cntk.ai) is a unified deep learning toolkit that describes

Microsoft 17.3k Dec 29, 2022
Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit

CNTK Chat Windows build status Linux build status The Microsoft Cognitive Toolkit (https://cntk.ai) is a unified deep learning toolkit that describes

Microsoft 17k Feb 11, 2021
FFCV: Fast Forward Computer Vision (and other ML workloads!)

Fast Forward Computer Vision: train models at a fraction of the cost with accele

FFCV 2.3k Jan 3, 2023
PyTorchCV: A PyTorch-Based Framework for Deep Learning in Computer Vision.

PyTorchCV: A PyTorch-Based Framework for Deep Learning in Computer Vision @misc{CV2018, author = {Donny You ([email protected])}, howpubl

Donny You 40 Sep 14, 2022
A PyTorch-Based Framework for Deep Learning in Computer Vision

TorchCV: A PyTorch-Based Framework for Deep Learning in Computer Vision @misc{you2019torchcv, author = {Ansheng You and Xiangtai Li and Zhen Zhu a

Donny You 2.2k Jan 9, 2023
Deep Learning for Computer Vision final project

Deep Learning for Computer Vision final project

grassking100 1 Nov 30, 2021
Monk is a low code Deep Learning tool and a unified wrapper for Computer Vision.

Monk - A computer vision toolkit for everyone Why use Monk Issue: Want to begin learning computer vision Solution: Start with Monk's hands-on study ro

Tessellate Imaging 507 Dec 4, 2022
QTool: A Low-bit Quantization Toolbox for Deep Neural Networks in Computer Vision

This project provides abundant choices of quantization strategies (such as the quantization algorithms, training schedules and empirical tricks) for quantizing the deep neural networks into low-bit counterparts.

Monash Green AI Lab 51 Dec 10, 2022
LeafSnap replicated using deep neural networks to test accuracy compared to traditional computer vision methods.

Deep-Leafsnap Convolutional Neural Networks have become largely popular in image tasks such as image classification recently largely due to to Krizhev

Sujith Vishwajith 48 Nov 27, 2022
Computer vision - fun segmentation experience using classic and deep tools :)

Computer_Vision_Segmentation_Fun Segmentation of Images and Video. Tools: pytorch Models: Classic model - GrabCut Deep model - Deeplabv3_resnet101 Flo

Mor Ventura 1 Dec 18, 2021
Algorithmic trading with deep learning experiments

Deep-Trading Algorithmic trading with deep learning experiments. Now released part one - simple time series forecasting. I plan to implement more soph

Alex Honchar 1.4k Jan 2, 2023
PyTorch Personal Trainer: My framework for deep learning experiments

Alex's PyTorch Personal Trainer (ptpt) (name subject to change) This repository contains my personal lightweight framework for deep learning projects

Alex McKinney 8 Jul 14, 2022
A general framework for deep learning experiments under PyTorch based on pytorch-lightning

torchx Torchx is a general framework for deep learning experiments under PyTorch based on pytorch-lightning. TODO list gan-like training wrapper text

Yingtian Liu 6 Mar 17, 2022
[CVPR 21] Vectorization and Rasterization: Self-Supervised Learning for Sketch and Handwriting, IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2021.

Vectorization and Rasterization: Self-Supervised Learning for Sketch and Handwriting, CVPR 2021. Ayan Kumar Bhunia, Pinaki nath Chowdhury, Yongxin Yan

Ayan Kumar Bhunia 44 Dec 12, 2022
Code to reproduce the experiments from our NeurIPS 2021 paper " The Limitations of Large Width in Neural Networks: A Deep Gaussian Process Perspective"

Code To run: python runner.py new --save <SAVE_NAME> --data <PATH_TO_DATA_DIR> --dataset <DATASET> --model <model_name> [options] --n 1000 - train - t

Geoff Pleiss 5 Dec 12, 2022
Flow is a computational framework for deep RL and control experiments for traffic microsimulation.

Flow Flow is a computational framework for deep RL and control experiments for traffic microsimulation. See our website for more information on the ap

null 867 Jan 2, 2023
PyTorch framework, for reproducing experiments from the paper Implicit Regularization in Hierarchical Tensor Factorization and Deep Convolutional Neural Networks

Implicit Regularization in Hierarchical Tensor Factorization and Deep Convolutional Neural Networks. Code, based on the PyTorch framework, for reprodu

Asaf 3 Dec 27, 2022
PyTorch implementation of the supervised learning experiments from the paper Model-Agnostic Meta-Learning (MAML)

pytorch-maml This is a PyTorch implementation of the supervised learning experiments from the paper Model-Agnostic Meta-Learning (MAML): https://arxiv

Kate Rakelly 516 Jan 5, 2023
Open source Python module for computer vision

About PCV PCV is a pure Python library for computer vision based on the book "Programming Computer Vision with Python" by Jan Erik Solem. More details

Jan Erik Solem 1.9k Jan 6, 2023