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/[email protected]
          - name: Install python
            uses: actions/[email protected]
            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)
⚾🤖⚾ Automatic baseball pitching overlay in realtime

⚾ Automatically overlaying pitch motion and trajectory with machine learning! This project takes your baseball pitching clips and automatically genera

Tony Chou 240 Dec 05, 2022
Adaptive Pyramid Context Network for Semantic Segmentation (APCNet CVPR'2019)

Adaptive Pyramid Context Network for Semantic Segmentation (APCNet CVPR'2019) Introduction Official implementation of Adaptive Pyramid Context Network

21 Nov 09, 2022
Supporting code for "Autoregressive neural-network wavefunctions for ab initio quantum chemistry".

naqs-for-quantum-chemistry This repository contains the codebase developed for the paper Autoregressive neural-network wavefunctions for ab initio qua

Tom Barrett 24 Dec 23, 2022
Unofficial PyTorch implementation of Attention Free Transformer (AFT) layers by Apple Inc.

aft-pytorch Unofficial PyTorch implementation of Attention Free Transformer's layers by Zhai, et al. [abs, pdf] from Apple Inc. Installation You can i

Rishabh Anand 184 Dec 12, 2022
PN-Net a neural field-based framework for depth estimation from single-view RGB images.

PN-Net We present a neural field-based framework for depth estimation from single-view RGB images. Rather than representing a 2D depth map as a single

1 Oct 02, 2021
BYOL for Audio: Self-Supervised Learning for General-Purpose Audio Representation

BYOL for Audio: Self-Supervised Learning for General-Purpose Audio Representation This is a demo implementation of BYOL for Audio (BYOL-A), a self-sup

NTT Communication Science Laboratories 160 Jan 04, 2023
Unofficial implementation of the ImageNet, CIFAR 10 and SVHN Augmentation Policies learned by AutoAugment using pillow

AutoAugment - Learning Augmentation Policies from Data Unofficial implementation of the ImageNet, CIFAR10 and SVHN Augmentation Policies learned by Au

Philip Popien 1.3k Jan 02, 2023
Implementation of "With a Little Help from my Temporal Context: Multimodal Egocentric Action Recognition, BMVC, 2021" in PyTorch

Multimodal Temporal Context Network (MTCN) This repository implements the model proposed in the paper: Evangelos Kazakos, Jaesung Huh, Arsha Nagrani,

Evangelos Kazakos 13 Nov 24, 2022
Western-3DSlicer-Modules - Point-Set Registrations for Ultrasound Probe Calibrations

Point-Set Registrations for Ultrasound Probe Calibrations -Undergraduate Thesis-

Matteo Tanzi 0 May 04, 2022
Exploring Versatile Prior for Human Motion via Motion Frequency Guidance (3DV2021)

Exploring Versatile Prior for Human Motion via Motion Frequency Guidance [Video Demo] [Paper] Installation Requirements Python 3.6 PyTorch 1.1.0 Pleas

Jiachen Xu 19 Oct 28, 2022
Live training loss plot in Jupyter Notebook for Keras, PyTorch and others

livelossplot Don't train deep learning models blindfolded! Be impatient and look at each epoch of your training! (RECENT CHANGES, EXAMPLES IN COLAB, A

Piotr Migdał 1.2k Jan 08, 2023
The implementation for "Comprehensive Knowledge Distillation with Causal Intervention".

Comprehensive Knowledge Distillation with Causal Intervention This repository is a PyTorch implementation of "Comprehensive Knowledge Distillation wit

Xiang Deng 10 Nov 03, 2022
Perturbed Self-Distillation: Weakly Supervised Large-Scale Point Cloud Semantic Segmentation (ICCV2021)

Perturbed Self-Distillation: Weakly Supervised Large-Scale Point Cloud Semantic Segmentation (ICCV2021) This is the implementation of PSD (ICCV 2021),

12 Dec 12, 2022
FlingBot: The Unreasonable Effectiveness of Dynamic Manipulations for Cloth Unfolding

This repository contains code for training and evaluating FlingBot in both simulation and real-world settings on a dual-UR5 robot arm setup for Ubuntu 18.04

Columbia Artificial Intelligence and Robotics Lab 70 Dec 06, 2022
A Python implementation of global optimization with gaussian processes.

Bayesian Optimization Pure Python implementation of bayesian global optimization with gaussian processes. PyPI (pip): $ pip install bayesian-optimizat

fernando 6.5k Jan 02, 2023
MultiMix: Sparingly Supervised, Extreme Multitask Learning From Medical Images (ISBI 2021, MELBA 2021)

MultiMix This repository contains the implementation of MultiMix. Our publications for this project are listed below: "MultiMix: Sparingly Supervised,

Ayaan Haque 27 Dec 22, 2022
StarGAN2 for practice

StarGAN2 for practice This version of StarGAN2 (coined as 'Post-modern Style Transfer') is intended mostly for fellow artists, who rarely look at scie

vadim epstein 87 Sep 24, 2022
(ICCV 2021 Oral) Re-distributing Biased Pseudo Labels for Semi-supervised Semantic Segmentation: A Baseline Investigation.

DARS Code release for the paper "Re-distributing Biased Pseudo Labels for Semi-supervised Semantic Segmentation: A Baseline Investigation", ICCV 2021

CVMI Lab 58 Jan 01, 2023
基于Flask开发后端、VUE开发前端框架,在WEB端部署YOLOv5目标检测模型

基于Flask开发后端、VUE开发前端框架,在WEB端部署YOLOv5目标检测模型

37 Jan 01, 2023
Raindrop strategy for Irregular time series

Graph-Guided Network For Irregularly Sampled Multivariate Time Series Overview This repository contains processed datasets and implementation code for

Zitnik Lab @ Harvard 74 Jan 03, 2023