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)
Graph Regularized Residual Subspace Clustering Network for hyperspectral image clustering

Graph Regularized Residual Subspace Clustering Network for hyperspectral image clustering

Yaoming Cai 5 Jul 18, 2022
Pytorch Implementation of the paper "Cross-domain Correspondence Learning for Exemplar-based Image Translation"

CoCosNet Pytorch Implementation of the paper "Cross-domain Correspondence Learning for Exemplar-based Image Translation" (CVPR 2020 oral). Update: 202

Lingbo Yang 38 Sep 22, 2021
Deploy optimized transformer based models on Nvidia Triton server

🤗 Hugging Face Transformer submillisecond inference 🤯 and deployment on Nvidia Triton server Yes, you can perfom inference with transformer based mo

Lefebvre Sarrut Services 1.2k Jan 05, 2023
K-FACE Analysis Project on Pytorch

Installation Setup with Conda # create a new environment conda create --name insightKface python=3.7 # or over conda activate insightKface #install t

Jung Jun Uk 7 Nov 10, 2022
A Closer Look at Structured Pruning for Neural Network Compression

A Closer Look at Structured Pruning for Neural Network Compression Code used to reproduce experiments in https://arxiv.org/abs/1810.04622. To prune, w

Bayesian and Neural Systems Group 140 Dec 05, 2022
Learning to Reconstruct 3D Non-Cuboid Room Layout from a Single RGB Image

NonCuboidRoom Paper Learning to Reconstruct 3D Non-Cuboid Room Layout from a Single RGB Image Cheng Yang*, Jia Zheng*, Xili Dai, Rui Tang, Yi Ma, Xiao

67 Dec 15, 2022
PyTorch code for our paper "Attention in Attention Network for Image Super-Resolution"

Under construction... Attention in Attention Network for Image Super-Resolution (A2N) This repository is an PyTorch implementation of the paper "Atten

Haoyu Chen 71 Dec 30, 2022
AtlasNet: A Papier-Mâché Approach to Learning 3D Surface Generation

AtlasNet [Project Page] [Paper] [Talk] AtlasNet: A Papier-Mâché Approach to Learning 3D Surface Generation Thibault Groueix, Matthew Fisher, Vladimir

577 Dec 17, 2022
Simple is not Easy: A Simple Strong Baseline for TextVQA and TextCaps[AAAI2021]

Simple is not Easy: A Simple Strong Baseline for TextVQA and TextCaps Here is the code for ssbassline model. We also provide OCR results/features/mode

ZephyrZhuQi 51 Nov 18, 2022
Multi agent DDPG algorithm written in Python + Pytorch

Multi agent DDPG algorithm written in Python + Pytorch. It also includes a Jupyter notebook, Tennis.ipynb, as a showcase.

Rogier Wachters 2 Feb 26, 2022
BuildingNet: Learning to Label 3D Buildings

BuildingNet This is the implementation of the BuildingNet architecture described in this paper: Paper: BuildingNet: Learning to Label 3D Buildings Arx

16 Nov 07, 2022
[ICCV'2021] Image Inpainting via Conditional Texture and Structure Dual Generation

[ICCV'2021] Image Inpainting via Conditional Texture and Structure Dual Generation

Xiefan Guo 122 Dec 11, 2022
A project that uses optical flow and machine learning to detect aimhacking in video clips.

waldo-anticheat A project that aims to use optical flow and machine learning to visually detect cheating or hacking in video clips from fps games. Che

waldo.vision 542 Dec 03, 2022
A dead simple python wrapper for darknet that works with OpenCV 4.1, CUDA 10.1

What Dead simple python wrapper for Yolo V3 using AlexyAB's darknet fork. Works with CUDA 10.1 and OpenCV 4.1 or later (I use OpenCV master as of Jun

Pliable Pixels 6 Jan 12, 2022
Code for Phase diagram of Stochastic Gradient Descent in high-dimensional two-layer neural networks

Phase diagram of Stochastic Gradient Descent in high-dimensional two-layer neural networks Under construction. Description Code for Phase diagram of S

Rodrigo Veiga 3 Nov 24, 2022
Learning infinite-resolution image processing with GAN and RL from unpaired image datasets, using a differentiable photo editing model.

Exposure: A White-Box Photo Post-Processing Framework ACM Transactions on Graphics (presented at SIGGRAPH 2018) Yuanming Hu1,2, Hao He1,2, Chenxi Xu1,

Yuanming Hu 719 Dec 29, 2022
Pytorch Implementation of PointNet and PointNet++++

Pytorch Implementation of PointNet and PointNet++ This repo is implementation for PointNet and PointNet++ in pytorch. Update 2021/03/27: (1) Release p

Luigi Ariano 1 Nov 11, 2021
Stratified Transformer for 3D Point Cloud Segmentation (CVPR 2022)

Stratified Transformer for 3D Point Cloud Segmentation Xin Lai*, Jianhui Liu*, Li Jiang, Liwei Wang, Hengshuang Zhao, Shu Liu, Xiaojuan Qi, Jiaya Jia

DV Lab 195 Jan 01, 2023
This code is part of the reproducibility package for the SANER 2022 paper "Generating Clarifying Questions for Query Refinement in Source Code Search".

Clarifying Questions for Query Refinement in Source Code Search This code is part of the reproducibility package for the SANER 2022 paper "Generating

Zachary Eberhart 0 Dec 04, 2021
Second-order Attention Network for Single Image Super-resolution (CVPR-2019)

Second-order Attention Network for Single Image Super-resolution (CVPR-2019) "Second-order Attention Network for Single Image Super-resolution" is pub

516 Dec 28, 2022