main a36922afe5fb cached
300 files
98.4 MB
7.7M tokens
626 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (30,798K chars total). Download the full file to get everything.
Repository: hamidkazemi22/vit-visualization
Branch: main
Commit: a36922afe5fb
Files: 300
Total size: 98.4 MB

Directory structure:
gitextract_fhi5k6b1/

├── .gitignore
├── README.md
├── app.py
├── args.py
├── augmentation/
│   ├── __init__.py
│   ├── post.py
│   └── pre.py
├── cam/
│   ├── __init__.py
│   ├── activation_helper.py
│   ├── base.py
│   └── model.py
├── datasets/
│   ├── __init__.py
│   ├── base.py
│   ├── cifar.py
│   ├── imagenet.py
│   ├── imagenet_boxes.py
│   ├── inits.py
│   ├── normalizer.py
│   └── vit_imagenet.py
├── experiments/
│   ├── it0/
│   │   ├── README.md
│   │   ├── grid_tv.sh
│   │   ├── make.sh
│   │   └── resnet18example.py
│   ├── it1/
│   │   ├── README.md
│   │   ├── bn.py
│   │   ├── gridbn.sh
│   │   └── make.sh
│   ├── it10/
│   │   ├── conclusion.md
│   │   ├── make.sh
│   │   ├── make2.sh
│   │   ├── make3.sh
│   │   ├── param_tune.py
│   │   ├── t_grid2.sh
│   │   ├── t_grid3.sh
│   │   └── t_hype_tune.sh
│   ├── it11/
│   │   ├── all_clip.sh
│   │   ├── all_fast_clip.sh
│   │   ├── boxes.pt
│   │   ├── classes.js
│   │   ├── clip_best_eval.py
│   │   ├── clip_eval.pt
│   │   ├── clip_mask.py
│   │   ├── clip_train.pt
│   │   ├── costum_imagenet.py
│   │   ├── get_indices.py
│   │   ├── im1knames.txt
│   │   ├── indices.pt
│   │   ├── make.sh
│   │   ├── make2.sh
│   │   ├── read_xml.py
│   │   ├── t_every_clip.sh
│   │   ├── t_every_clip.sh.txt
│   │   ├── test.xml
│   │   ├── test_dataset.py
│   │   ├── test_foreground.py
│   │   └── vis_clip.py
│   ├── it12/
│   │   ├── all_lr.sh
│   │   ├── all_vis38.sh
│   │   ├── lr_rate.py
│   │   ├── make.sh
│   │   ├── make2.sh
│   │   ├── t_lr.sh
│   │   ├── t_lr.sh.txt
│   │   ├── t_vis38.sh
│   │   ├── t_vis38.sh.txt
│   │   └── vis38.py
│   ├── it13/
│   │   ├── FBAcc.txt
│   │   ├── b1.sh
│   │   ├── b2.sh
│   │   ├── eval.pt
│   │   ├── fore_back.py
│   │   ├── plot_rotate.py
│   │   ├── plot_shift.py
│   │   ├── rotate.py
│   │   ├── rotate_after.pt
│   │   ├── rotate_before.pt
│   │   ├── run1.sh
│   │   ├── run1.sh.txt
│   │   ├── run2.sh
│   │   ├── run2.sh.txt
│   │   ├── runner/
│   │   │   ├── __init__.py
│   │   │   ├── adversarial.py
│   │   │   ├── correct.py
│   │   │   ├── free.py
│   │   │   ├── general_runner.py
│   │   │   └── status.py
│   │   ├── shift.py
│   │   ├── shift_after.pt
│   │   ├── shift_before.pt
│   │   ├── t_every_clip.sh.txt
│   │   ├── t_lr.sh.txt
│   │   └── t_vis38.sh.txt
│   ├── it14/
│   │   ├── Acc.txt
│   │   ├── cls.sh
│   │   ├── conclusion.md
│   │   ├── every_and_cls.py
│   │   ├── every_except_cls_accuracy.py
│   │   ├── grid_lr.sh
│   │   ├── grid_lr_clip.sh
│   │   ├── layer_accuracy.py
│   │   ├── lr_clip.py
│   │   ├── lr_rate.py
│   │   ├── make_lr.sh
│   │   ├── make_lr_clip.sh
│   │   └── random_patch_accuracy.py
│   ├── it15/
│   │   ├── B32.sh
│   │   ├── all_b32.sh
│   │   ├── make_large.sh
│   │   ├── make_small.sh
│   │   ├── t_large.sh
│   │   ├── t_large.sh.txt
│   │   ├── vis35.py
│   │   └── vis98.py
│   ├── it16/
│   │   ├── Acc.txt
│   │   ├── ac2.txt
│   │   ├── all_best.sh
│   │   ├── all_layers.sh
│   │   ├── best.sh
│   │   ├── best.sh.txt
│   │   ├── best35.py
│   │   ├── best98.py
│   │   ├── eval_35.pt
│   │   ├── eval_98.pt
│   │   ├── layer_accuracy.py
│   │   ├── make_layers.sh
│   │   ├── make_reconst.sh
│   │   ├── mask35.py
│   │   ├── mask98.py
│   │   ├── reconstruct.py
│   │   ├── short_rec.sh
│   │   ├── train_35.pt
│   │   └── train_98.pt
│   ├── it17/
│   │   ├── Acc.txt
│   │   ├── clip16.row
│   │   ├── clip16.rows
│   │   ├── clip32.row
│   │   ├── clip32.txt
│   │   ├── cls.py
│   │   ├── convert.py
│   │   ├── main_cherry_clip.py
│   │   ├── move35.sh
│   │   ├── move98.sh
│   │   ├── run.sh
│   │   ├── run.sh.txt
│   │   ├── vit16.row
│   │   ├── vit32.row
│   │   └── vit32.rows
│   ├── it18/
│   │   ├── best99.py
│   │   ├── fb_example.py
│   │   └── mask.py
│   ├── it2/
│   │   ├── README.md
│   │   ├── layered.py
│   │   ├── layered2.py
│   │   ├── layered3.py
│   │   ├── make.sh
│   │   ├── try.py
│   │   ├── vis.py
│   │   └── vis.sh
│   ├── it3/
│   │   ├── check_hooks_correctness.py
│   │   ├── make_heap.py
│   │   ├── predict_checkpoint_size.py
│   │   └── vis.sh
│   ├── it4/
│   │   ├── debug.py
│   │   ├── patches.sh
│   │   ├── patches2.sh
│   │   ├── tile.py
│   │   └── visualize.py
│   ├── it5/
│   │   ├── best.py
│   │   ├── make.sh
│   │   ├── make2.sh
│   │   ├── st.sh
│   │   ├── stitch.py
│   │   └── tv.sh
│   ├── it6/
│   │   ├── ahead.sh
│   │   ├── ascore.sh
│   │   ├── ascore.sh.txt
│   │   ├── best.py
│   │   ├── class.py
│   │   ├── glr.sh
│   │   ├── head.py
│   │   ├── lr_rate.py
│   │   ├── make.sh
│   │   ├── make2.sh
│   │   ├── make3.sh
│   │   ├── score.py
│   │   └── slowscore.sh
│   ├── it7/
│   │   ├── lh_pass.py
│   │   └── no_pos.py
│   ├── it8/
│   │   ├── a_std.sh
│   │   ├── a_std.sh.txt
│   │   ├── a_std2.sh
│   │   ├── a_std2.sh.txt
│   │   ├── all_gauss.sh
│   │   ├── all_high.sh
│   │   ├── all_std.sh
│   │   ├── all_std2.sh
│   │   ├── cj_std.py
│   │   ├── g_gauss.sh
│   │   ├── g_gauss.sh.txt
│   │   ├── gaus.py
│   │   ├── glr.sh
│   │   ├── glr.sh.txt
│   │   ├── high.py
│   │   ├── lr_rate.py
│   │   ├── make.sh
│   │   ├── make2.sh
│   │   ├── make3.sh
│   │   ├── runglr.sh
│   │   ├── score.py
│   │   ├── t_high.sh
│   │   └── t_high.sh.txt
│   └── it9/
│       ├── all_vis.sh
│       ├── best_eval.py
│       ├── best_train.py
│       ├── eval.pt
│       ├── every_vis.sh
│       ├── get_images.py
│       ├── get_mask.py
│       ├── huge_vis.sh
│       ├── huge_vis.sh.txt
│       ├── make.sh
│       ├── make2.sh
│       ├── t_high.sh.txt
│       ├── t_vis.sh
│       ├── t_vis.sh.txt
│       ├── train.pt
│       └── vis.py
├── hooks/
│   ├── __init__.py
│   ├── base.py
│   ├── hook_holder.py
│   ├── layer.py
│   ├── timed_hook.py
│   └── transformer/
│       ├── __init__.py
│       └── vit.py
├── inversion/
│   ├── __init__.py
│   ├── imagenet_invertor.py
│   └── utils.py
├── loss/
│   ├── __init__.py
│   ├── base.py
│   ├── hooks/
│   │   ├── __init__.py
│   │   ├── activation.py
│   │   └── batch_norm.py
│   ├── image_net.py
│   └── regularizers/
│       ├── __init__.py
│       ├── batch_norm.py
│       └── image.py
├── model/
│   ├── __init__.py
│   ├── augmented.py
│   ├── library/
│   │   ├── __init__.py
│   │   ├── base.py
│   │   ├── cnns/
│   │   │   ├── __init__.py
│   │   │   ├── alexnet.py
│   │   │   ├── densenet.py
│   │   │   ├── googlenet.py
│   │   │   ├── inception.py
│   │   │   ├── mnasnet.py
│   │   │   ├── mobilenet.py
│   │   │   ├── resnet.py
│   │   │   ├── robust.py
│   │   │   ├── shufflenet.py
│   │   │   ├── squeezenet.py
│   │   │   └── vggs.py
│   │   └── transformers/
│   │       ├── __init__.py
│   │       ├── base.py
│   │       ├── clip.py
│   │       ├── coat.py
│   │       ├── convit.py
│   │       ├── deit.py
│   │       ├── levit.py
│   │       ├── mixer.py
│   │       ├── pit.py
│   │       ├── resmpl.py
│   │       ├── swin.py
│   │       ├── twin.py
│   │       └── vit.py
│   └── utils.py
├── saliency_tools/
│   ├── __init__.py
│   ├── guided.py
│   └── vanilla.py
├── saver/
│   ├── __init__.py
│   └── base.py
├── show_models.py
├── train_cifar100.py
├── utils/
│   ├── __init__.py
│   ├── bn.py
│   ├── classification.py
│   ├── device.py
│   ├── exp
│   ├── experiment.py
│   ├── iterators.py
│   ├── jasper/
│   │   ├── __init__.py
│   │   ├── metrics.py
│   │   └── translator.py
│   ├── jasper_iterator.py
│   ├── log.py
│   ├── pickle.py
│   ├── regularizers.py
│   ├── statistics.py
│   └── training.py
└── visualize.py

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
desktop/
.idea


================================================
FILE: README.md
================================================
## What do Vision Transformers Learn? A Visual Exploration

![Visualizations](readme_images/1.png)

### ViT Models:

To visualize the features of the ViT models:

```python
PYTHONPATH=. python experiments/it15/vis35.py -l <layer_number> -f <feature_number> -n  <network_number> -v <tv_coefficient>
```

For example: 

```python
PYTHONPATH=. python experiments/it15/vis35.py -l 4 -f 20 -n  35 -v 0.1
```

### Clip Models:   
To visualize the features of the CLIP models:

```python
PYTHONPATH=. python experiments/it15/vis98.py -l <layer_number> -f <feature_number> -n  <network_number> -v <tv_coefficient>
```

For example: 

```python
PYTHONPATH=. python experiments/it15/vis98.py -l 4 -f 20 -n  98 -v 0.1
```




For the ViT models the -n option should be in [34, 35, 36, 37, 38, 39], 
and for the CLIP models the -n option should be in [94, 95, 96, 97, 98, 99]

To list all the available network numbers use:
```python3
python show_models.py
```

Here we list some of them:

- 34:     ViT0_B_16_imagenet1k
- 35:     ViT1_B_32_imagenet1k
- 36:     ViT2_L_16_imagenet1k
- 37:     ViT3_L_32_imagenet1k
- 38:     ViT4_B_16
- 39:     ViT5_B_32
- 94:     CLIP0_RN50
- 95:     CLIP1_RN101
- 96:     CLIP2_RN50x4
- 97:     CLIP3_RN50x16
- 98:     CLIP4_ViT-B/32
- 99:     CLIP5_ViT-B/16

We use the timm library to load the pretrained models.
After running these commands, you can find the visualizations in the `desktop` folder.


Other experiments done in the paper can be found in the `experiments` folder.

For the experiments that we need to load the imagenet dataset like the isolating CLS experiment, the code 
assumes that the dataset is in data/imagenet/train for the training set, and data/imagenet/val for the validation set.

We will update the readme with more instructions on how to run other experiments soon.


================================================
FILE: app.py
================================================
import gradio as gr

from visualize import visualize_feature

iface = gr.Interface(fn=visualize_feature,
                     inputs=[gr.Number(label="Layer", value=6), gr.Number(label="Feature", value=4)],
                     outputs=gr.Image(type="pil"))
iface.launch(share=True)


================================================
FILE: args.py
================================================
import argparse
import os
import sys
from typing import Any

import toml


def str2bool(v):
    if isinstance(v, bool):
        return v
    if v.lower() in ('yes', 'true', 't', 'y', '1'):
        return True
    elif v.lower() in ('no', 'false', 'f', 'n', '0'):
        return False
    raise argparse.ArgumentTypeError('Boolean value expected.')


class Args:
    instance = None
    instance_arg = None

    def __init__(self):
        self.args = self._get_parser().parse_args()
        self.args.toml = self.args.toml or os.path.join('configs', '{}.toml'.format(str(sys.argv[0])[:-3]))
        if os.path.exists(self.args.toml):
            self.update()
        else:
            print('Trying to load config file {} but it doesnt exist'.format(self.args.toml))

    def update(self):
        from_file = toml.load(self.args.toml)
        for k, v in from_file.items():
            if not getattr(self.args, k):
                setattr(self.args, k, v)

    @staticmethod
    def _get_parser():
        parser = argparse.ArgumentParser(description='Real Visualization')
        parser.add_argument('-t', '--toml', type=str, help='Path to toml file that contains the default configs')
        parser.add_argument('-x', '--experiment', type=str, help='Experiment name')
        parser.add_argument('-l', '--layer', type=int, default=0, help='# Layer')
        parser.add_argument('-f', '--feature', type=int, default=0, help='# Feature')
        parser.add_argument('-y', '--target', type=int, default=0, help='# Feature')
        parser.add_argument('--seed', type=int, default=6247423, help='Random seed')
        parser.add_argument('-g', '--grid', type=float, default=0, help='Variable "a" for development')
        parser.add_argument('-r', '--lr', type=float, default=0.1, help='Learning Rate')
        parser.add_argument('-n', '--network', type=int, default=34, help='Max 100, get Network')
        parser.add_argument('-p', '--patch', type=int, default=16, help='Patch-Size for Visualization')
        parser.add_argument('-s', '--sign', type=int, default=1, choices=[1, -1], help='Most/Least Image')
        parser.add_argument('-m', '--method', type=str, default='in_feat', help='What to visualize',
                            choices=['in_feat', 'keys', 'queries', 'values', 'out_feat'])
        parser.add_argument('-d', '--dir', type=str, default=None, help='Images dir to find top5 classes')
        parser.add_argument('-v', '--tv', type=float, default=1.0, help='TotalVar Lambda=v * 0.0005')
        return parser

    def get_args(self):
        return self.args

    def get_name(self):
        return '_'.join(['{}{}'.format(k[0], v) for k, v in vars(self.args).items() if v is not None])

    @staticmethod
    def get_instance() -> (argparse.Namespace, Any):
        Args.instance = Args.instance or Args()
        return Args.instance


================================================
FILE: augmentation/__init__.py
================================================
from .post import Clip, L2Clip, LInfClip
from .pre import Jitter, Flip, Centering, ColorJitter, RepeatBatch, Zoom, ColorJitterR, Tile


================================================
FILE: augmentation/post.py
================================================
import torch
from torch import nn as nn


class ClipSTD(nn.Module):
    @torch.no_grad()
    def forward(self, x: torch.tensor, inflate: float = 1., per_sample: bool = True) -> torch.tensor:
        std = x.std() if not per_sample else x.view(x.shape[0], -1).std(dim=-1).view(-1, 1, 1, 1)
        mean = x.mean() if not per_sample else x.view(x.shape[0], -1).mean(dim=-1).view(-1, 1, 1, 1)
        x = inflate * (x - mean) / (std * 2)
        return x.clamp(min=-0.5, max=0.5) + 0.5


class Clip(nn.Module):
    @torch.no_grad()
    def forward(self, x: torch.tensor) -> torch.tensor:
        return x.clamp(min=0, max=1)


class LInfClip(nn.Module):
    def __init__(self, original: torch.tensor, eps: float = 16 / 255):
        super().__init__()
        self.base = original.detach().clone().cuda()
        self.eps = eps

    @torch.no_grad()
    def forward(self, x: torch.tensor) -> torch.tensor:
        return x + torch.clip(self.base - x, min=-self.eps, max=self.eps)


class L2Clip(nn.Module):
    def __init__(self, original: torch.tensor, eps: float = 16 / 255):
        super().__init__()
        self.base = original.detach().clone().cuda()
        self.eps = eps

    @torch.no_grad()
    def forward(self, x: torch.tensor) -> torch.tensor:
        delta = self.base - x
        norm = delta.norm(p=2)
        delta = self.eps * delta / norm if norm > self.eps else delta
        return x + delta


================================================
FILE: augmentation/pre.py
================================================
from torch import nn as nn
import torch
import random


class Gray4D(nn.Module):
    def __init__(self, n_channels: int = 3):
        super().__init__()
        self.n = n_channels

    def forward(self, x: torch.tensor) -> torch.tensor:
        shape = tuple([1] * (4 - x.dim())) + x.shape
        return x.view(shape).repeat(1)


class Layered(nn.Module):
    def __init__(self, x: torch.tensor):
        super().__init__()
        self.x = x

    def forward(self, x: torch.tensor) -> torch.tensor:
        return x + self.x


class Jitter(nn.Module):
    def __init__(self, lim: int = 32):
        super().__init__()
        self.lim = lim

    def forward(self, x: torch.tensor) -> torch.tensor:
        off1 = random.randint(-self.lim, self.lim)
        off2 = random.randint(-self.lim, self.lim)
        return torch.roll(x, shifts=(off1, off2), dims=(2, 3))


class ColorJitter(nn.Module):
    def __init__(self, batch_size: int, shuffle_every: bool = False, mean: float = 1., std: float = 1.):
        super().__init__()
        self.batch_size, self.mean_p, self.std_p = batch_size, mean, std
        self.mean = self.std = None
        self.shuffle()
        self.shuffle_every = shuffle_every

    def shuffle(self):
        self.mean = (torch.rand((self.batch_size, 3, 1, 1,)).cuda() - 0.5) * 2 * self.mean_p
        self.std = ((torch.rand((self.batch_size, 3, 1, 1,)).cuda() - 0.5) * 2 * self.std_p).exp()

    def forward(self, img: torch.tensor) -> torch.tensor:
        if self.shuffle_every:
            self.shuffle()
        return (img - self.mean) / self.std


class GaussianNoise(nn.Module):
    def __init__(self, batch_size: int, shuffle_every: bool = False, std: float = 1., max_iter: int = 400):
        super().__init__()
        self.batch_size, self.std_p, self.max_iter = batch_size, std, max_iter
        self.std = None
        self.rem = max_iter - 1
        self.shuffle()
        self.shuffle_every = shuffle_every

    def shuffle(self):
        self.std = torch.randn(self.batch_size, 3, 1, 1).cuda() * self.rem * self.std_p / self.max_iter
        self.rem = (self.rem - 1 + self.max_iter) % self.max_iter

    def forward(self, img: torch.tensor) -> torch.tensor:
        if self.shuffle_every:
            self.shuffle()
        return img + self.std


class ColorJitterR(ColorJitter):
    def forward(self, img: torch.tensor) -> torch.tensor:
        if self.shuffle_every:
            self.shuffle()
        return (img * self.std) + self.mean


class Centering(nn.Module):
    def __init__(self, size: int, std: float):
        super().__init__()
        self.size = size
        self.std = std

    def forward(self, img: torch.tensor) -> torch.tensor:
        pert = (torch.rand(2) * 2 - 1) * self.std
        w, h = img.shape[-2:]
        x = (pert[0] + w // 2 - self.size // 2).long().clamp(min=0, max=w - self.size)
        y = (pert[1] + h // 2 - self.size // 2).long().clamp(min=0, max=h - self.size)
        return img[:, :, x:x + self.size, y:y + self.size]


class Zoom(nn.Module):
    def __init__(self, out_size: int = 384):
        super().__init__()
        self.up = torch.nn.Upsample(size=(out_size, out_size), mode='bilinear', align_corners=False).cuda()

    def forward(self, img: torch.tensor) -> torch.tensor:
        return self.up(img)


class Tile(nn.Module):
    def __init__(self, rep: int = 384 // 16):
        super().__init__()
        self.rep = rep

    def forward(self, x: torch.tensor) -> torch.tensor:
        dim = x.dim()
        if dim < 3:
            raise NotImplementedError
        elif dim == 3:
            x.unsqueeze(0)
        final_shape = x.shape[:2] + (x.shape[2] * self.rep, x.shape[3] * self.rep)
        return x.unsqueeze(2).unsqueeze(4).repeat(1, 1, self.rep, 1, self.rep, 1).view(final_shape)


class RepeatBatch(nn.Module):
    def __init__(self, repeat: int = 32):
        super().__init__()
        self.size = repeat

    def forward(self, img: torch.tensor):
        return img.repeat(self.size, 1, 1, 1)


class MaskBatch(nn.Module):
    def forward(self, x: torch.tensor) -> torch.tensor:
        return self.other(x[:self.count] if self.count > 0 else x)

    def __init__(self, count: int = -1):
        super().__init__()
        self.count = count


class Flip(nn.Module):
    def __init__(self, p: float = 0.5):
        super().__init__()
        self.p = p

    def forward(self, x: torch.tensor) -> torch.tensor:
        return torch.flip(x, dims=(3,)) if random.random() < self.p else x


================================================
FILE: cam/__init__.py
================================================


================================================
FILE: cam/activation_helper.py
================================================
import pdb
from torch import nn

import torch


class ActivationHelper:
    def __init__(self, how_many_patches: int):
        self.n_patches = how_many_patches

    @torch.no_grad()
    def __call__(self, score: torch.tensor) -> (int, int):
        score = score.squeeze(0)
        s1, s2 = self.n_patches, score.size(0) // self.n_patches
        score = score.view(s1, s2, s1, s2).transpose(1, 2).mean(dim=-1).mean(dim=-1)
        mx, col = score.max(dim=-1)
        val, row = mx.max(dim=-1)
        top = row.item()
        left = col[top].item()
        return top, left

    @torch.no_grad()
    def most_salient(self, x: torch.tensor, model, patch_size: int) -> torch.tensor:
        act = model(x)
        top, left = self(act)
        top, left = top * patch_size, left * patch_size
        return x[:, :, top:top + patch_size, left:left + patch_size]

    @torch.no_grad()
    def least_salient_pos(self, x: torch.tensor, model, patch_size: int) -> (int, int):
        act = model(x)
        top, left = self(-act)
        return top * patch_size, left * patch_size


================================================
FILE: cam/base.py
================================================
import pdb

import torch
from typing import Union

from cam.activation_helper import ActivationHelper
from .model import ViTPatchFeatWrapper


class BatchFeed:
    def __init__(self, model: ViTPatchFeatWrapper):
        self.model = model

    @staticmethod
    @torch.no_grad()
    def _batch_gen(x: torch.tensor, batch_size) -> torch.tensor:
        for i in range(0, x.size(0), batch_size):
            yield x[i:min(i + batch_size, x.size(0))]

    @torch.no_grad()
    def __call__(self, x: torch.tensor, batch_size: int = 32, reduction: str = 'mean') -> torch.tensor:
        if reduction == 'mean':
            return torch.cat([self.model(i).mean(dim=-1).mean(dim=-1) for i in self._batch_gen(x, batch_size)])
        return torch.cat([self.model(i) for i in self._batch_gen(x, batch_size)])


class Stitcher:
    _device = 'cuda' if torch.cuda.is_available() else 'cpu'

    def __init__(self, model: ViTPatchFeatWrapper, patch_size: int, image_size: int = 384):
        self.model, self.image_size, self.patch_size = model, image_size, patch_size
        self.activation_helper = ActivationHelper(image_size // patch_size)
        self._feed = BatchFeed(self.model)

    @torch.no_grad()
    def max_score(self, ims: Union[torch.tensor, list], score: float, orig_im: torch.tensor) -> (torch.tensor, float):
        ims = torch.cat(ims).to(self._device) if isinstance(ims, list) else ims
        scores = self._feed(ims)
        best_score, best_index = scores.max(dim=-1)
        best_score, best_index = best_score.item(), best_index.item()
        torch.cuda.empty_cache()
        return (ims[best_index].unsqueeze(0).detach().clone(), best_score) if best_score > score else (orig_im, score)

    @torch.no_grad()
    def __call__(self, original: torch.tensor, score: float, x: torch.tensor) -> (torch.tensor, float):
        patch = self.select_patch(x)
        inputs = self.select_images(original, patch)
        return self.max_score(inputs, score, original)

    @torch.no_grad()
    def select_images(self, original, patch) -> list:
        original = original.to(self._device)
        inputs = []
        for i in range(0, self.image_size - self.patch_size + 1, self.patch_size):
            for j in range(0, self.image_size - self.patch_size + 1, self.patch_size):
                temp = original.detach().clone()
                temp[:, :, i:i + self.patch_size, j:j + self.patch_size] = patch
                inputs.append(temp)
        return inputs

    @torch.no_grad()
    def select_patch(self, x) -> torch.tensor:
        x = x.to(self._device)
        x = x if x.dim() == 4 else x.unsqueeze(0)
        return self.activation_helper.most_salient(x, self.model, self.patch_size)


class SniperStitcher(Stitcher):
    @torch.no_grad()
    def select_images(self, original, patch) -> list:
        top, left = self.activation_helper.least_salient_pos(original, self.model, self.patch_size)
        cp = original.detach().clone()
        cp[:, :, top:top + self.patch_size, left:left + self.patch_size] = patch
        return [cp]


================================================
FILE: cam/model.py
================================================
from hooks.transformer.vit import ViTAttHookHolder
import torch
import numpy as np


@torch.no_grad()
def project_back(act: torch.tensor) -> torch.tensor:
    if act.dim() == 3:
        """
            Assuming Batch x Patch x Feature 
        """
        x_dim = np.int(np.ceil(np.sqrt(act.shape[1])))
        assert x_dim * x_dim == act.shape[1]
        return act.view(act.shape[0], x_dim, x_dim, act.shape[-1])
    elif act.dim() == 2:
        """
            Assuming Batch x Patch 
        """
        x_dim = np.int(np.ceil(np.sqrt(act.shape[1])))
        assert x_dim * x_dim == act.shape[1]
        return act.view(act.shape[0], x_dim, x_dim)
    raise NotImplementedError


class ViTPatchFeatWrapper:
    def __init__(self, hook: ViTAttHookHolder, key: str, feature: int):
        self.hook, self.key, self.feature = hook, key, feature

    @torch.no_grad()
    def __call__(self, x: torch.tensor):
        d, o = self.hook(x)
        return project_back(d[self.key][0][:, :-1, self.feature])  # -1 Removes the CLS Token!


================================================
FILE: datasets/__init__.py
================================================
from .cifar import cifar10, cifar100
from .imagenet import image_net
from .normalizer import Normalizer
from .vit_imagenet import weird_image_net

# from .inits import inv_dataset

vision_datasets = {'cifar10': cifar10,
                   'cifar100': cifar100,
                   'imagenet': image_net,
                   'vit_imagenet': weird_image_net,
                   }
# 'inv': inv_dataset}


================================================
FILE: datasets/base.py
================================================
from torchvision.datasets import VisionDataset

from datasets.normalizer import Normalizer


class EasyDataset:
    def __init__(self, mean, std):
        self.mean = mean
        self.std = std
        self.normalizer = Normalizer(mean, std)

    def eval(self) -> VisionDataset:
        raise NotImplementedError

    def train(self) -> VisionDataset:
        raise NotImplementedError


================================================
FILE: datasets/cifar.py
================================================
import torchvision
from typing import List, Any
from torchvision import transforms as trans
from torchvision.datasets import VisionDataset
from datasets.base import EasyDataset


class Cifar(EasyDataset):
    def __init__(self, mean: List, std: List, data_class: Any):
        super(Cifar, self).__init__(mean, std)
        self.data_class = data_class

        # self.normalize = cnns.transforms.Normalize(mean=self.mean, std=self.std)
        self.eval_transforms = trans.Compose([trans.ToTensor()])  # , self.normalize])
        self.train_transforms = trans.Compose([trans.RandomCrop(size=32, padding=4), trans.RandomHorizontalFlip(),
                                               trans.ToTensor()])  # , self.normalize])

    def eval(self) -> VisionDataset:
        return self.data_class(root='./data', train=False, download=True, transform=self.eval_transforms)

    def train(self) -> VisionDataset:
        return self.data_class(root='./data', train=True, download=True, transform=self.train_transforms)


cifar10 = Cifar(mean=[0.4914, 0.4822, 0.4465], std=[0.2023, 0.1994, 0.2010], data_class=torchvision.datasets.CIFAR10)
cifar100 = Cifar(mean=[0.5071, 0.4865, 0.4409], std=[0.2009, 0.1984, 0.2023], data_class=torchvision.datasets.CIFAR100)


================================================
FILE: datasets/imagenet.py
================================================
from torchvision.datasets import VisionDataset

from datasets.base import EasyDataset
from torchvision import transforms as trans
from torchvision.datasets import ImageFolder


class ImageNet(EasyDataset):
    _root = './data/imagenet/{}'

    def __init__(self):
        super(ImageNet, self).__init__(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])

        self.eval_transforms = trans.Compose([trans.Resize(224), trans.CenterCrop(224), trans.ToTensor(), ])
        self.train_transforms = trans.Compose([trans.Resize(224), trans.CenterCrop(224), trans.ToTensor(), ])
        #self.train_transforms = trans.Compose(
        #    [trans.RandomResizedCrop(224), trans.RandomHorizontalFlip(), trans.ToTensor()])

    def eval(self) -> VisionDataset:
        return ImageFolder(root=self._root.format('val'), transform=self.eval_transforms)

    def train(self) -> VisionDataset:
        # return ImageFolder(root=self._root.format('train'), transform=self.train_transforms)
        return ImageFolder(root=self._root.format('train'), transform=self.eval_transforms)


image_net = ImageNet()


================================================
FILE: datasets/imagenet_boxes.py
================================================
from torch.utils import model_zoo
from torchvision.datasets import ImageFolder
import torch
from torchvision.transforms import ToTensor, ToPILImage


class BackgroundForegroundImageNet(ImageFolder):
    boxes_url = 'https://github.com/AminJun/ImageNet1KBoundingBoxes/releases/download/files/boxes.pt'
    indices_url = 'https://github.com/AminJun/ImageNet1KBoundingBoxes/releases/download/files/indices.pt'

    def __init__(self, root: str = './data/imagenet/train/', download=True, boxes: str = None, indices: str = None,
                 *args, **kwargs):
        assert download or (boxes is not None and indices is not None)
        if download:
            self.boxes = model_zoo.load_url(self.boxes_url, map_location='cpu')
            self.b_indices = model_zoo.load_url(self.indices_url, map_location='cpu')
        else:
            self.boxes = torch.load(boxes)
            self.b_indices = torch.load(indices)

        merged = {}
        for k, v in self.boxes.items():
            merged.update(v)
        self.boxes = merged

        self.pre_transform = ToTensor()
        self.back_transform = ToPILImage()
        print('loading imagenet folders')
        super(BackgroundForegroundImageNet, self).__init__(root, *args, **kwargs)

    def __len__(self):
        return len(self.b_indices)

    def __getitem__(self, item):
        real_i = self.b_indices[item]
        path, target = self.samples[real_i]
        sample = self.pre_transform(self.loader(path))
        background = sample.clone().detach()
        for box in self.boxes[path.split('/')[-1]][0]:
            x1, x2, y1, y2 = box
            background[:, int(y1):int(y2), int(x1):int(x2)] = 0
        foreground = (sample - background).detach().clone()

        sample, background, foreground = self.back_transform(sample), self.back_transform(
            background), self.back_transform(foreground)

        if self.transform is not None:
            sample, background, foreground = self.transform(sample), self.transform(background), self.transform(
                foreground)
        if self.target_transform is not None:
            target = self.target_transform(target)

        return sample, background, foreground, target


================================================
FILE: datasets/inits.py
================================================
import os
import torch
import torchvision.transforms
from torch.utils.data import Dataset
from torchvision.datasets.folder import default_loader


class GreatInit(Dataset):
    def __init__(self, root: str = 'data/inits/images', subset: str = 'inv_resnet'):
        self.path = os.path.join(root, subset)
        self.files = os.listdir(self.path)
        to_tensor = torchvision.transforms.ToTensor()
        self.images = {f.split('.')[0]: to_tensor(default_loader(os.path.join(self.path, f))) for f in self.files}

    def __len__(self):
        return len(self.images.keys())

    def __getitem__(self, item: int) -> torch.tensor:
        return self.images[str(item)].unsqueeze(0)


inv_dataset = GreatInit()


================================================
FILE: datasets/normalizer.py
================================================
import torch
import torch.nn as nn


class Normalizer(nn.Module):
    def __init__(self, mean, std):
        super().__init__()
        self.register_buffer('mean', torch.Tensor(mean).reshape((1, -1, 1, 1)))
        self.register_buffer('std', torch.Tensor(std).reshape((1, -1, 1, 1)))

    def forward(self, t: torch.tensor) -> torch.tensor:
        return self.get_normal(t)

    def get_normal(self, t: torch.Tensor) -> torch.Tensor:
        return (t - self.mean) / self.std

    def get_unit(self, t: torch.Tensor) -> torch.Tensor:
        return (t * self.std) + self.mean


================================================
FILE: datasets/vit_imagenet.py
================================================
from torchvision.datasets import VisionDataset

from datasets.base import EasyDataset
from torchvision import transforms as trans
from torchvision.datasets import ImageFolder


class ImageNet(EasyDataset):
    _root = './data/imagenet/{}'

    def __init__(self, img_size: int = 384):
        super(ImageNet, self).__init__(mean=[0.5], std=[0.5])

        # self.normalize = trans.Normalize(mean=self.mean, std=self.std)
        self.eval_transforms = trans.Compose([trans.Resize(img_size), trans.CenterCrop(img_size), trans.ToTensor(), ])
        # self.normalize, ])
        self.train_transforms = trans.Compose([trans.RandomResizedCrop(img_size), trans.RandomHorizontalFlip(),
                                               trans.ToTensor()])  # , self.normalize, ])

    def eval(self) -> VisionDataset:
        return ImageFolder(root=self._root.format('val'), transform=self.eval_transforms)

    def train(self) -> VisionDataset:
        # return ImageFolder(root=self._root.format('train'), transform=self.train_transforms)
        return ImageFolder(root=self._root.format('train'), transform=self.eval_transforms)


weird_image_net = ImageNet()


================================================
FILE: experiments/it0/README.md
================================================
# It 0 

Task done: 
* [x] We have a working version to find out for `ResNet18` what is the `lambda_tv`. 
* [x] Result: `lambda_tv = 0.01`

================================================
FILE: experiments/it0/grid_tv.sh
================================================
python resnet18example.py -n 12 -l 0 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 0 -f 0 -g 0.001
python resnet18example.py -n 12 -l 0 -f 0 -g 0.01
python resnet18example.py -n 12 -l 0 -f 0 -g 0.1
python resnet18example.py -n 12 -l 0 -f 0 -g 1.0
python resnet18example.py -n 12 -l 0 -f 0 -g 10.
python resnet18example.py -n 12 -l 0 -f 0 -g 100.
python resnet18example.py -n 12 -l 0 -f 0 -g 1000.
python resnet18example.py -n 12 -l 1 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 1 -f 0 -g 0.001
python resnet18example.py -n 12 -l 1 -f 0 -g 0.01
python resnet18example.py -n 12 -l 1 -f 0 -g 0.1
python resnet18example.py -n 12 -l 1 -f 0 -g 1.0
python resnet18example.py -n 12 -l 1 -f 0 -g 10.
python resnet18example.py -n 12 -l 1 -f 0 -g 100.
python resnet18example.py -n 12 -l 1 -f 0 -g 1000.
python resnet18example.py -n 12 -l 2 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 2 -f 0 -g 0.001
python resnet18example.py -n 12 -l 2 -f 0 -g 0.01
python resnet18example.py -n 12 -l 2 -f 0 -g 0.1
python resnet18example.py -n 12 -l 2 -f 0 -g 1.0
python resnet18example.py -n 12 -l 2 -f 0 -g 10.
python resnet18example.py -n 12 -l 2 -f 0 -g 100.
python resnet18example.py -n 12 -l 2 -f 0 -g 1000.
python resnet18example.py -n 12 -l 3 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 3 -f 0 -g 0.001
python resnet18example.py -n 12 -l 3 -f 0 -g 0.01
python resnet18example.py -n 12 -l 3 -f 0 -g 0.1
python resnet18example.py -n 12 -l 3 -f 0 -g 1.0
python resnet18example.py -n 12 -l 3 -f 0 -g 10.
python resnet18example.py -n 12 -l 3 -f 0 -g 100.
python resnet18example.py -n 12 -l 3 -f 0 -g 1000.
python resnet18example.py -n 12 -l 4 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 4 -f 0 -g 0.001
python resnet18example.py -n 12 -l 4 -f 0 -g 0.01
python resnet18example.py -n 12 -l 4 -f 0 -g 0.1
python resnet18example.py -n 12 -l 4 -f 0 -g 1.0
python resnet18example.py -n 12 -l 4 -f 0 -g 10.
python resnet18example.py -n 12 -l 4 -f 0 -g 100.
python resnet18example.py -n 12 -l 4 -f 0 -g 1000.
python resnet18example.py -n 12 -l 5 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 5 -f 0 -g 0.001
python resnet18example.py -n 12 -l 5 -f 0 -g 0.01
python resnet18example.py -n 12 -l 5 -f 0 -g 0.1
python resnet18example.py -n 12 -l 5 -f 0 -g 1.0
python resnet18example.py -n 12 -l 5 -f 0 -g 10.
python resnet18example.py -n 12 -l 5 -f 0 -g 100.
python resnet18example.py -n 12 -l 5 -f 0 -g 1000.
python resnet18example.py -n 12 -l 6 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 6 -f 0 -g 0.001
python resnet18example.py -n 12 -l 6 -f 0 -g 0.01
python resnet18example.py -n 12 -l 6 -f 0 -g 0.1
python resnet18example.py -n 12 -l 6 -f 0 -g 1.0
python resnet18example.py -n 12 -l 6 -f 0 -g 10.
python resnet18example.py -n 12 -l 6 -f 0 -g 100.
python resnet18example.py -n 12 -l 6 -f 0 -g 1000.
python resnet18example.py -n 12 -l 7 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 7 -f 0 -g 0.001
python resnet18example.py -n 12 -l 7 -f 0 -g 0.01
python resnet18example.py -n 12 -l 7 -f 0 -g 0.1
python resnet18example.py -n 12 -l 7 -f 0 -g 1.0
python resnet18example.py -n 12 -l 7 -f 0 -g 10.
python resnet18example.py -n 12 -l 7 -f 0 -g 100.
python resnet18example.py -n 12 -l 7 -f 0 -g 1000.
python resnet18example.py -n 12 -l 8 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 8 -f 0 -g 0.001
python resnet18example.py -n 12 -l 8 -f 0 -g 0.01
python resnet18example.py -n 12 -l 8 -f 0 -g 0.1
python resnet18example.py -n 12 -l 8 -f 0 -g 1.0
python resnet18example.py -n 12 -l 8 -f 0 -g 10.
python resnet18example.py -n 12 -l 8 -f 0 -g 100.
python resnet18example.py -n 12 -l 8 -f 0 -g 1000.
python resnet18example.py -n 12 -l 9 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 9 -f 0 -g 0.001
python resnet18example.py -n 12 -l 9 -f 0 -g 0.01
python resnet18example.py -n 12 -l 9 -f 0 -g 0.1
python resnet18example.py -n 12 -l 9 -f 0 -g 1.0
python resnet18example.py -n 12 -l 9 -f 0 -g 10.
python resnet18example.py -n 12 -l 9 -f 0 -g 100.
python resnet18example.py -n 12 -l 9 -f 0 -g 1000.
python resnet18example.py -n 12 -l 10 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 10 -f 0 -g 0.001
python resnet18example.py -n 12 -l 10 -f 0 -g 0.01
python resnet18example.py -n 12 -l 10 -f 0 -g 0.1
python resnet18example.py -n 12 -l 10 -f 0 -g 1.0
python resnet18example.py -n 12 -l 10 -f 0 -g 10.
python resnet18example.py -n 12 -l 10 -f 0 -g 100.
python resnet18example.py -n 12 -l 10 -f 0 -g 1000.
python resnet18example.py -n 12 -l 11 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 11 -f 0 -g 0.001
python resnet18example.py -n 12 -l 11 -f 0 -g 0.01
python resnet18example.py -n 12 -l 11 -f 0 -g 0.1
python resnet18example.py -n 12 -l 11 -f 0 -g 1.0
python resnet18example.py -n 12 -l 11 -f 0 -g 10.
python resnet18example.py -n 12 -l 11 -f 0 -g 100.
python resnet18example.py -n 12 -l 11 -f 0 -g 1000.
python resnet18example.py -n 12 -l 12 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 12 -f 0 -g 0.001
python resnet18example.py -n 12 -l 12 -f 0 -g 0.01
python resnet18example.py -n 12 -l 12 -f 0 -g 0.1
python resnet18example.py -n 12 -l 12 -f 0 -g 1.0
python resnet18example.py -n 12 -l 12 -f 0 -g 10.
python resnet18example.py -n 12 -l 12 -f 0 -g 100.
python resnet18example.py -n 12 -l 12 -f 0 -g 1000.
python resnet18example.py -n 12 -l 13 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 13 -f 0 -g 0.001
python resnet18example.py -n 12 -l 13 -f 0 -g 0.01
python resnet18example.py -n 12 -l 13 -f 0 -g 0.1
python resnet18example.py -n 12 -l 13 -f 0 -g 1.0
python resnet18example.py -n 12 -l 13 -f 0 -g 10.
python resnet18example.py -n 12 -l 13 -f 0 -g 100.
python resnet18example.py -n 12 -l 13 -f 0 -g 1000.
python resnet18example.py -n 12 -l 14 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 14 -f 0 -g 0.001
python resnet18example.py -n 12 -l 14 -f 0 -g 0.01
python resnet18example.py -n 12 -l 14 -f 0 -g 0.1
python resnet18example.py -n 12 -l 14 -f 0 -g 1.0
python resnet18example.py -n 12 -l 14 -f 0 -g 10.
python resnet18example.py -n 12 -l 14 -f 0 -g 100.
python resnet18example.py -n 12 -l 14 -f 0 -g 1000.
python resnet18example.py -n 12 -l 15 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 15 -f 0 -g 0.001
python resnet18example.py -n 12 -l 15 -f 0 -g 0.01
python resnet18example.py -n 12 -l 15 -f 0 -g 0.1
python resnet18example.py -n 12 -l 15 -f 0 -g 1.0
python resnet18example.py -n 12 -l 15 -f 0 -g 10.
python resnet18example.py -n 12 -l 15 -f 0 -g 100.
python resnet18example.py -n 12 -l 15 -f 0 -g 1000.
python resnet18example.py -n 12 -l 16 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 16 -f 0 -g 0.001
python resnet18example.py -n 12 -l 16 -f 0 -g 0.01
python resnet18example.py -n 12 -l 16 -f 0 -g 0.1
python resnet18example.py -n 12 -l 16 -f 0 -g 1.0
python resnet18example.py -n 12 -l 16 -f 0 -g 10.
python resnet18example.py -n 12 -l 16 -f 0 -g 100.
python resnet18example.py -n 12 -l 16 -f 0 -g 1000.
python resnet18example.py -n 12 -l 17 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 17 -f 0 -g 0.001
python resnet18example.py -n 12 -l 17 -f 0 -g 0.01
python resnet18example.py -n 12 -l 17 -f 0 -g 0.1
python resnet18example.py -n 12 -l 17 -f 0 -g 1.0
python resnet18example.py -n 12 -l 17 -f 0 -g 10.
python resnet18example.py -n 12 -l 17 -f 0 -g 100.
python resnet18example.py -n 12 -l 17 -f 0 -g 1000.
python resnet18example.py -n 12 -l 18 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 18 -f 0 -g 0.001
python resnet18example.py -n 12 -l 18 -f 0 -g 0.01
python resnet18example.py -n 12 -l 18 -f 0 -g 0.1
python resnet18example.py -n 12 -l 18 -f 0 -g 1.0
python resnet18example.py -n 12 -l 18 -f 0 -g 10.
python resnet18example.py -n 12 -l 18 -f 0 -g 100.
python resnet18example.py -n 12 -l 18 -f 0 -g 1000.
python resnet18example.py -n 12 -l 19 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 19 -f 0 -g 0.001
python resnet18example.py -n 12 -l 19 -f 0 -g 0.01
python resnet18example.py -n 12 -l 19 -f 0 -g 0.1
python resnet18example.py -n 12 -l 19 -f 0 -g 1.0
python resnet18example.py -n 12 -l 19 -f 0 -g 10.
python resnet18example.py -n 12 -l 19 -f 0 -g 100.
python resnet18example.py -n 12 -l 19 -f 0 -g 1000.
python resnet18example.py -n 12 -l 20 -f 0 -g 0.0001
python resnet18example.py -n 12 -l 20 -f 0 -g 0.001
python resnet18example.py -n 12 -l 20 -f 0 -g 0.01
python resnet18example.py -n 12 -l 20 -f 0 -g 0.1
python resnet18example.py -n 12 -l 20 -f 0 -g 1.0
python resnet18example.py -n 12 -l 20 -f 0 -g 10.
python resnet18example.py -n 12 -l 20 -f 0 -g 100.
python resnet18example.py -n 12 -l 20 -f 0 -g 1000.


================================================
FILE: experiments/it0/make.sh
================================================
#!/bin/bash
for l in `seq 0 20`; do
  for g in 0.0001 0.001 0.01 0.1 1.0 10. 100. 1000. ; do
    echo "python resnet18example.py -n 12 -l ${l} -f 0 -g ${g}"
  done
done


================================================
FILE: experiments/it0/resnet18example.py
================================================
from torchvision.models import resnet18

from augmentation import Clip, Jitter, Centering, RepeatBatch, Zoom, ColorJitter
from datasets import image_net
from hooks import LayerHook
from inversion import ImageNetVisualizer
from inversion.utils import new_init
from loss import LossArray, TotalVariation, LayerActivationNorm, ActivationHook, MatchBatchNorm
from loss.regularizers import FakeBatchNorm
from model import model_library
from saver import ExperimentSaver
from utils import exp_starter_pack
import torch


def main():
    exp_name, args, _ = exp_starter_pack()
    network = args.network
    layer, feature = args.layer, args.feature
    model, image_size, batch_size, name = model_library[network]()
    grid = args.grid
    batch_size = min(64, batch_size)

    saver = ExperimentSaver(f'GridSearchTV{layer}{name}_{grid}_{feature}', save_id=True, disk_saver=True)

    loss = LossArray()

    layer_hook = LayerHook(model, torch.nn.BatchNorm2d, layer, ActivationHook)
    loss += LayerActivationNorm(layer_hook, model, coefficient=1)

    resnet_bn = FakeBatchNorm(resnet18, image_net.normalizer).cuda()
    # loss += MatchBatchNorm(resnet_bn, coefficient=50.0 * c)
    loss += TotalVariation(size=image_size, coefficient=5.0 * grid)

    pre, post = None, torch.nn.Sequential(Clip())
    image = new_init(image_size, batch_size)

    visualizer = ImageNetVisualizer(loss, None, pre, post, print_every=10, lr=.01, steps=400, save_every=100)
    image.data = visualizer(image).data
    saver.save(image[:4])


if __name__ == '__main__':
    main()


================================================
FILE: experiments/it1/README.md
================================================
# It 0 

Task done: 
* [ ] Figure out `lambda_fake_bn = 0.01` 


================================================
FILE: experiments/it1/bn.py
================================================
from torchvision.models import resnet18

from augmentation import Clip, Jitter, Centering, RepeatBatch, Zoom, ColorJitter
from datasets import image_net
from hooks import LayerHook
from inversion import ImageNetVisualizer
from inversion.utils import new_init
from loss import LossArray, TotalVariation, LayerActivationNorm, ActivationHook, MatchBatchNorm
from loss.regularizers import FakeBatchNorm
from model import model_library
from saver import ExperimentSaver
from utils import exp_starter_pack
import torch


def main():
    exp_name, args, _ = exp_starter_pack()
    network = args.network
    layer, feature = args.layer, args.feature
    model, image_size, batch_size, name = model_library[network]()
    grid = args.grid
    batch_size = min(64, batch_size)

    saver = ExperimentSaver(f'GridSearchBN{layer}{name}_{grid}_{feature}', save_id=True, disk_saver=True)

    loss = LossArray()

    layer_hook = LayerHook(model, torch.nn.BatchNorm2d, layer, ActivationHook)
    loss += LayerActivationNorm(layer_hook, model, coefficient=1)

    resnet_bn = FakeBatchNorm(resnet18, image_net.normalizer).cuda()
    loss += MatchBatchNorm(resnet_bn, coefficient=50.0 * grid)
    loss += TotalVariation(size=image_size, coefficient=0.05)

    pre, post = None, torch.nn.Sequential(Clip())
    image = new_init(image_size, batch_size)

    visualizer = ImageNetVisualizer(loss, None, pre, post, print_every=10, lr=.01, steps=400, save_every=10)
    image.data = visualizer(image).data
    saver.save(image[:4])


if __name__ == '__main__':
    main()


================================================
FILE: experiments/it1/gridbn.sh
================================================
python bn.py -n 12 -l 0 -f 0 -g 0.0001
python bn.py -n 12 -l 0 -f 0 -g 0.001
python bn.py -n 12 -l 0 -f 0 -g 0.01
python bn.py -n 12 -l 0 -f 0 -g 0.1
python bn.py -n 12 -l 0 -f 0 -g 1.0
python bn.py -n 12 -l 0 -f 0 -g 10.
python bn.py -n 12 -l 0 -f 0 -g 100.
python bn.py -n 12 -l 0 -f 0 -g 1000.
python bn.py -n 12 -l 1 -f 0 -g 0.0001
python bn.py -n 12 -l 1 -f 0 -g 0.001
python bn.py -n 12 -l 1 -f 0 -g 0.01
python bn.py -n 12 -l 1 -f 0 -g 0.1
python bn.py -n 12 -l 1 -f 0 -g 1.0
python bn.py -n 12 -l 1 -f 0 -g 10.
python bn.py -n 12 -l 1 -f 0 -g 100.
python bn.py -n 12 -l 1 -f 0 -g 1000.
python bn.py -n 12 -l 2 -f 0 -g 0.0001
python bn.py -n 12 -l 2 -f 0 -g 0.001
python bn.py -n 12 -l 2 -f 0 -g 0.01
python bn.py -n 12 -l 2 -f 0 -g 0.1
python bn.py -n 12 -l 2 -f 0 -g 1.0
python bn.py -n 12 -l 2 -f 0 -g 10.
python bn.py -n 12 -l 2 -f 0 -g 100.
python bn.py -n 12 -l 2 -f 0 -g 1000.
python bn.py -n 12 -l 3 -f 0 -g 0.0001
python bn.py -n 12 -l 3 -f 0 -g 0.001
python bn.py -n 12 -l 3 -f 0 -g 0.01
python bn.py -n 12 -l 3 -f 0 -g 0.1
python bn.py -n 12 -l 3 -f 0 -g 1.0
python bn.py -n 12 -l 3 -f 0 -g 10.
python bn.py -n 12 -l 3 -f 0 -g 100.
python bn.py -n 12 -l 3 -f 0 -g 1000.
python bn.py -n 12 -l 4 -f 0 -g 0.0001
python bn.py -n 12 -l 4 -f 0 -g 0.001
python bn.py -n 12 -l 4 -f 0 -g 0.01
python bn.py -n 12 -l 4 -f 0 -g 0.1
python bn.py -n 12 -l 4 -f 0 -g 1.0
python bn.py -n 12 -l 4 -f 0 -g 10.
python bn.py -n 12 -l 4 -f 0 -g 100.
python bn.py -n 12 -l 4 -f 0 -g 1000.
python bn.py -n 12 -l 5 -f 0 -g 0.0001
python bn.py -n 12 -l 5 -f 0 -g 0.001
python bn.py -n 12 -l 5 -f 0 -g 0.01
python bn.py -n 12 -l 5 -f 0 -g 0.1
python bn.py -n 12 -l 5 -f 0 -g 1.0
python bn.py -n 12 -l 5 -f 0 -g 10.
python bn.py -n 12 -l 5 -f 0 -g 100.
python bn.py -n 12 -l 5 -f 0 -g 1000.
python bn.py -n 12 -l 6 -f 0 -g 0.0001
python bn.py -n 12 -l 6 -f 0 -g 0.001
python bn.py -n 12 -l 6 -f 0 -g 0.01
python bn.py -n 12 -l 6 -f 0 -g 0.1
python bn.py -n 12 -l 6 -f 0 -g 1.0
python bn.py -n 12 -l 6 -f 0 -g 10.
python bn.py -n 12 -l 6 -f 0 -g 100.
python bn.py -n 12 -l 6 -f 0 -g 1000.
python bn.py -n 12 -l 7 -f 0 -g 0.0001
python bn.py -n 12 -l 7 -f 0 -g 0.001
python bn.py -n 12 -l 7 -f 0 -g 0.01
python bn.py -n 12 -l 7 -f 0 -g 0.1
python bn.py -n 12 -l 7 -f 0 -g 1.0
python bn.py -n 12 -l 7 -f 0 -g 10.
python bn.py -n 12 -l 7 -f 0 -g 100.
python bn.py -n 12 -l 7 -f 0 -g 1000.
python bn.py -n 12 -l 8 -f 0 -g 0.0001
python bn.py -n 12 -l 8 -f 0 -g 0.001
python bn.py -n 12 -l 8 -f 0 -g 0.01
python bn.py -n 12 -l 8 -f 0 -g 0.1
python bn.py -n 12 -l 8 -f 0 -g 1.0
python bn.py -n 12 -l 8 -f 0 -g 10.
python bn.py -n 12 -l 8 -f 0 -g 100.
python bn.py -n 12 -l 8 -f 0 -g 1000.
python bn.py -n 12 -l 9 -f 0 -g 0.0001
python bn.py -n 12 -l 9 -f 0 -g 0.001
python bn.py -n 12 -l 9 -f 0 -g 0.01
python bn.py -n 12 -l 9 -f 0 -g 0.1
python bn.py -n 12 -l 9 -f 0 -g 1.0
python bn.py -n 12 -l 9 -f 0 -g 10.
python bn.py -n 12 -l 9 -f 0 -g 100.
python bn.py -n 12 -l 9 -f 0 -g 1000.
python bn.py -n 12 -l 10 -f 0 -g 0.0001
python bn.py -n 12 -l 10 -f 0 -g 0.001
python bn.py -n 12 -l 10 -f 0 -g 0.01
python bn.py -n 12 -l 10 -f 0 -g 0.1
python bn.py -n 12 -l 10 -f 0 -g 1.0
python bn.py -n 12 -l 10 -f 0 -g 10.
python bn.py -n 12 -l 10 -f 0 -g 100.
python bn.py -n 12 -l 10 -f 0 -g 1000.
python bn.py -n 12 -l 11 -f 0 -g 0.0001
python bn.py -n 12 -l 11 -f 0 -g 0.001
python bn.py -n 12 -l 11 -f 0 -g 0.01
python bn.py -n 12 -l 11 -f 0 -g 0.1
python bn.py -n 12 -l 11 -f 0 -g 1.0
python bn.py -n 12 -l 11 -f 0 -g 10.
python bn.py -n 12 -l 11 -f 0 -g 100.
python bn.py -n 12 -l 11 -f 0 -g 1000.
python bn.py -n 12 -l 12 -f 0 -g 0.0001
python bn.py -n 12 -l 12 -f 0 -g 0.001
python bn.py -n 12 -l 12 -f 0 -g 0.01
python bn.py -n 12 -l 12 -f 0 -g 0.1
python bn.py -n 12 -l 12 -f 0 -g 1.0
python bn.py -n 12 -l 12 -f 0 -g 10.
python bn.py -n 12 -l 12 -f 0 -g 100.
python bn.py -n 12 -l 12 -f 0 -g 1000.
python bn.py -n 12 -l 13 -f 0 -g 0.0001
python bn.py -n 12 -l 13 -f 0 -g 0.001
python bn.py -n 12 -l 13 -f 0 -g 0.01
python bn.py -n 12 -l 13 -f 0 -g 0.1
python bn.py -n 12 -l 13 -f 0 -g 1.0
python bn.py -n 12 -l 13 -f 0 -g 10.
python bn.py -n 12 -l 13 -f 0 -g 100.
python bn.py -n 12 -l 13 -f 0 -g 1000.
python bn.py -n 12 -l 14 -f 0 -g 0.0001
python bn.py -n 12 -l 14 -f 0 -g 0.001
python bn.py -n 12 -l 14 -f 0 -g 0.01
python bn.py -n 12 -l 14 -f 0 -g 0.1
python bn.py -n 12 -l 14 -f 0 -g 1.0
python bn.py -n 12 -l 14 -f 0 -g 10.
python bn.py -n 12 -l 14 -f 0 -g 100.
python bn.py -n 12 -l 14 -f 0 -g 1000.
python bn.py -n 12 -l 15 -f 0 -g 0.0001
python bn.py -n 12 -l 15 -f 0 -g 0.001
python bn.py -n 12 -l 15 -f 0 -g 0.01
python bn.py -n 12 -l 15 -f 0 -g 0.1
python bn.py -n 12 -l 15 -f 0 -g 1.0
python bn.py -n 12 -l 15 -f 0 -g 10.
python bn.py -n 12 -l 15 -f 0 -g 100.
python bn.py -n 12 -l 15 -f 0 -g 1000.
python bn.py -n 12 -l 16 -f 0 -g 0.0001
python bn.py -n 12 -l 16 -f 0 -g 0.001
python bn.py -n 12 -l 16 -f 0 -g 0.01
python bn.py -n 12 -l 16 -f 0 -g 0.1
python bn.py -n 12 -l 16 -f 0 -g 1.0
python bn.py -n 12 -l 16 -f 0 -g 10.
python bn.py -n 12 -l 16 -f 0 -g 100.
python bn.py -n 12 -l 16 -f 0 -g 1000.
python bn.py -n 12 -l 17 -f 0 -g 0.0001
python bn.py -n 12 -l 17 -f 0 -g 0.001
python bn.py -n 12 -l 17 -f 0 -g 0.01
python bn.py -n 12 -l 17 -f 0 -g 0.1
python bn.py -n 12 -l 17 -f 0 -g 1.0
python bn.py -n 12 -l 17 -f 0 -g 10.
python bn.py -n 12 -l 17 -f 0 -g 100.
python bn.py -n 12 -l 17 -f 0 -g 1000.
python bn.py -n 12 -l 18 -f 0 -g 0.0001
python bn.py -n 12 -l 18 -f 0 -g 0.001
python bn.py -n 12 -l 18 -f 0 -g 0.01
python bn.py -n 12 -l 18 -f 0 -g 0.1
python bn.py -n 12 -l 18 -f 0 -g 1.0
python bn.py -n 12 -l 18 -f 0 -g 10.
python bn.py -n 12 -l 18 -f 0 -g 100.
python bn.py -n 12 -l 18 -f 0 -g 1000.
python bn.py -n 12 -l 19 -f 0 -g 0.0001
python bn.py -n 12 -l 19 -f 0 -g 0.001
python bn.py -n 12 -l 19 -f 0 -g 0.01
python bn.py -n 12 -l 19 -f 0 -g 0.1
python bn.py -n 12 -l 19 -f 0 -g 1.0
python bn.py -n 12 -l 19 -f 0 -g 10.
python bn.py -n 12 -l 19 -f 0 -g 100.
python bn.py -n 12 -l 19 -f 0 -g 1000.
python bn.py -n 12 -l 20 -f 0 -g 0.0001
python bn.py -n 12 -l 20 -f 0 -g 0.001
python bn.py -n 12 -l 20 -f 0 -g 0.01
python bn.py -n 12 -l 20 -f 0 -g 0.1
python bn.py -n 12 -l 20 -f 0 -g 1.0
python bn.py -n 12 -l 20 -f 0 -g 10.
python bn.py -n 12 -l 20 -f 0 -g 100.
python bn.py -n 12 -l 20 -f 0 -g 1000.


================================================
FILE: experiments/it1/make.sh
================================================
#!/bin/bash
for l in `seq 0 20`; do
  for g in 0.0001 0.001 0.01 0.1 1.0 10. 100. 1000. ; do
    echo "python bn.py -n 12 -l ${l} -f 0 -g ${g}"
  done
done


================================================
FILE: experiments/it10/conclusion.md
================================================
### Results

I figured out for clip, we should look into both really huge amount tv=100.0 and tv=1.0
For lr=1.0 always is fine


================================================
FILE: experiments/it10/make.sh
================================================
#!/bin/bash
for l in $(seq 2 3 11) ; do
  for lr in 10.0 1.0 0.1 0.01 ; do
      for g in 100. 10. 1. 0.1 0.01 ; do
        echo "python param_tune.py -l ${l} -g ${g} -r ${lr}"
    done
  done
done

================================================
FILE: experiments/it10/make2.sh
================================================
#!/bin/bash
lr=1.0
for l in $(seq 1 2 11) ; do
  for g in 100. 30. 10. 3.0 1. 0.3 0.1; do
    echo "python param_tune.py -l ${l} -g ${g} -r ${lr}"
  done
done

================================================
FILE: experiments/it10/make3.sh
================================================
#!/bin/bash
lr=1.0
for l in $(seq 0 11) ; do
  for g in 100. 30. 10. 3.0 1. 0.3 0.1; do
    echo "python param_tune.py -l ${l} -g ${g} -r ${lr} -f 1"
  done
done

================================================
FILE: experiments/it10/param_tune.py
================================================
import torch
from augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter
from augmentation.pre import GaussianNoise
from hooks.transformer.vit import ViTAttHookHolder, ViTGeLUHook, ClipGeLUHook
from inversion import ImageNetVisualizer
from inversion.utils import new_init
from loss import LossArray, TotalVariation
from loss.image_net import ViTFeatHook, ViTEnsFeatHook
from model import model_library
from saver import ExperimentSaver
from utils import exp_starter_pack


def main():
    args = exp_starter_pack()[1]
    layer, feature = args.layer, args.feature
    network = 99
    grid, lr = args.grid, args.lr
    model, image_size, _, _ = model_library[network]()

    saver = ExperimentSaver(f'Clip_TV{grid}_LR{lr}_L{layer}_F{feature}_N{network}', save_id=True, disk_saver=True)

    loss = LossArray()
    loss += ViTEnsFeatHook(ClipGeLUHook(model, sl=slice(layer, layer + 1)), key='high', feat=feature, coefficient=1)
    loss += TotalVariation(2, image_size, coefficient=0.0005 * grid)

    pre, post = torch.nn.Sequential(RepeatBatch(8), ColorJitter(8, shuffle_every=True),
                                    GaussianNoise(8, True, 0.5, 400), Tile(image_size // image_size), Jitter()), Clip()

    image = new_init(image_size, 1)
    visualizer = ImageNetVisualizer(loss, None, pre, post, print_every=10, lr=lr, steps=400, save_every=100)
    image.data = visualizer(image)
    saver.save(image, 'final')


if __name__ == '__main__':
    main()


================================================
FILE: experiments/it10/t_grid2.sh
================================================
python param_tune.py -l 1 -g 100. -r 1.0
python param_tune.py -l 1 -g 30. -r 1.0
python param_tune.py -l 1 -g 10. -r 1.0
python param_tune.py -l 1 -g 3.0 -r 1.0
python param_tune.py -l 1 -g 1. -r 1.0
python param_tune.py -l 1 -g 0.3 -r 1.0
python param_tune.py -l 1 -g 0.1 -r 1.0
python param_tune.py -l 3 -g 100. -r 1.0
python param_tune.py -l 3 -g 30. -r 1.0
python param_tune.py -l 3 -g 10. -r 1.0
python param_tune.py -l 3 -g 3.0 -r 1.0
python param_tune.py -l 3 -g 1. -r 1.0
python param_tune.py -l 3 -g 0.3 -r 1.0
python param_tune.py -l 3 -g 0.1 -r 1.0
python param_tune.py -l 5 -g 100. -r 1.0
python param_tune.py -l 5 -g 30. -r 1.0
python param_tune.py -l 5 -g 10. -r 1.0
python param_tune.py -l 5 -g 3.0 -r 1.0
python param_tune.py -l 5 -g 1. -r 1.0
python param_tune.py -l 5 -g 0.3 -r 1.0
python param_tune.py -l 5 -g 0.1 -r 1.0
python param_tune.py -l 7 -g 100. -r 1.0
python param_tune.py -l 7 -g 30. -r 1.0
python param_tune.py -l 7 -g 10. -r 1.0
python param_tune.py -l 7 -g 3.0 -r 1.0
python param_tune.py -l 7 -g 1. -r 1.0
python param_tune.py -l 7 -g 0.3 -r 1.0
python param_tune.py -l 7 -g 0.1 -r 1.0
python param_tune.py -l 9 -g 100. -r 1.0
python param_tune.py -l 9 -g 30. -r 1.0
python param_tune.py -l 9 -g 10. -r 1.0
python param_tune.py -l 9 -g 3.0 -r 1.0
python param_tune.py -l 9 -g 1. -r 1.0
python param_tune.py -l 9 -g 0.3 -r 1.0
python param_tune.py -l 9 -g 0.1 -r 1.0
python param_tune.py -l 11 -g 100. -r 1.0
python param_tune.py -l 11 -g 30. -r 1.0
python param_tune.py -l 11 -g 10. -r 1.0
python param_tune.py -l 11 -g 3.0 -r 1.0
python param_tune.py -l 11 -g 1. -r 1.0
python param_tune.py -l 11 -g 0.3 -r 1.0
python param_tune.py -l 11 -g 0.1 -r 1.0


================================================
FILE: experiments/it10/t_grid3.sh
================================================
python param_tune.py -l 0 -g 100. -r 1.0 -f 1
python param_tune.py -l 0 -g 30. -r 1.0 -f 1
python param_tune.py -l 0 -g 10. -r 1.0 -f 1
python param_tune.py -l 0 -g 3.0 -r 1.0 -f 1
python param_tune.py -l 0 -g 1. -r 1.0 -f 1
python param_tune.py -l 0 -g 0.3 -r 1.0 -f 1
python param_tune.py -l 0 -g 0.1 -r 1.0 -f 1
python param_tune.py -l 1 -g 100. -r 1.0 -f 1
python param_tune.py -l 1 -g 30. -r 1.0 -f 1
python param_tune.py -l 1 -g 10. -r 1.0 -f 1
python param_tune.py -l 1 -g 3.0 -r 1.0 -f 1
python param_tune.py -l 1 -g 1. -r 1.0 -f 1
python param_tune.py -l 1 -g 0.3 -r 1.0 -f 1
python param_tune.py -l 1 -g 0.1 -r 1.0 -f 1
python param_tune.py -l 2 -g 100. -r 1.0 -f 1
python param_tune.py -l 2 -g 30. -r 1.0 -f 1
python param_tune.py -l 2 -g 10. -r 1.0 -f 1
python param_tune.py -l 2 -g 3.0 -r 1.0 -f 1
python param_tune.py -l 2 -g 1. -r 1.0 -f 1
python param_tune.py -l 2 -g 0.3 -r 1.0 -f 1
python param_tune.py -l 2 -g 0.1 -r 1.0 -f 1
python param_tune.py -l 3 -g 100. -r 1.0 -f 1
python param_tune.py -l 3 -g 30. -r 1.0 -f 1
python param_tune.py -l 3 -g 10. -r 1.0 -f 1
python param_tune.py -l 3 -g 3.0 -r 1.0 -f 1
python param_tune.py -l 3 -g 1. -r 1.0 -f 1
python param_tune.py -l 3 -g 0.3 -r 1.0 -f 1
python param_tune.py -l 3 -g 0.1 -r 1.0 -f 1
python param_tune.py -l 4 -g 100. -r 1.0 -f 1
python param_tune.py -l 4 -g 30. -r 1.0 -f 1
python param_tune.py -l 4 -g 10. -r 1.0 -f 1
python param_tune.py -l 4 -g 3.0 -r 1.0 -f 1
python param_tune.py -l 4 -g 1. -r 1.0 -f 1
python param_tune.py -l 4 -g 0.3 -r 1.0 -f 1
python param_tune.py -l 4 -g 0.1 -r 1.0 -f 1
python param_tune.py -l 5 -g 100. -r 1.0 -f 1
python param_tune.py -l 5 -g 30. -r 1.0 -f 1
python param_tune.py -l 5 -g 10. -r 1.0 -f 1
python param_tune.py -l 5 -g 3.0 -r 1.0 -f 1
python param_tune.py -l 5 -g 1. -r 1.0 -f 1
python param_tune.py -l 5 -g 0.3 -r 1.0 -f 1
python param_tune.py -l 5 -g 0.1 -r 1.0 -f 1
python param_tune.py -l 6 -g 100. -r 1.0 -f 1
python param_tune.py -l 6 -g 30. -r 1.0 -f 1
python param_tune.py -l 6 -g 10. -r 1.0 -f 1
python param_tune.py -l 6 -g 3.0 -r 1.0 -f 1
python param_tune.py -l 6 -g 1. -r 1.0 -f 1
python param_tune.py -l 6 -g 0.3 -r 1.0 -f 1
python param_tune.py -l 6 -g 0.1 -r 1.0 -f 1
python param_tune.py -l 7 -g 100. -r 1.0 -f 1
python param_tune.py -l 7 -g 30. -r 1.0 -f 1
python param_tune.py -l 7 -g 10. -r 1.0 -f 1
python param_tune.py -l 7 -g 3.0 -r 1.0 -f 1
python param_tune.py -l 7 -g 1. -r 1.0 -f 1
python param_tune.py -l 7 -g 0.3 -r 1.0 -f 1
python param_tune.py -l 7 -g 0.1 -r 1.0 -f 1
python param_tune.py -l 8 -g 100. -r 1.0 -f 1
python param_tune.py -l 8 -g 30. -r 1.0 -f 1
python param_tune.py -l 8 -g 10. -r 1.0 -f 1
python param_tune.py -l 8 -g 3.0 -r 1.0 -f 1
python param_tune.py -l 8 -g 1. -r 1.0 -f 1
python param_tune.py -l 8 -g 0.3 -r 1.0 -f 1
python param_tune.py -l 8 -g 0.1 -r 1.0 -f 1
python param_tune.py -l 9 -g 100. -r 1.0 -f 1
python param_tune.py -l 9 -g 30. -r 1.0 -f 1
python param_tune.py -l 9 -g 10. -r 1.0 -f 1
python param_tune.py -l 9 -g 3.0 -r 1.0 -f 1
python param_tune.py -l 9 -g 1. -r 1.0 -f 1
python param_tune.py -l 9 -g 0.3 -r 1.0 -f 1
python param_tune.py -l 9 -g 0.1 -r 1.0 -f 1
python param_tune.py -l 10 -g 100. -r 1.0 -f 1
python param_tune.py -l 10 -g 30. -r 1.0 -f 1
python param_tune.py -l 10 -g 10. -r 1.0 -f 1
python param_tune.py -l 10 -g 3.0 -r 1.0 -f 1
python param_tune.py -l 10 -g 1. -r 1.0 -f 1
python param_tune.py -l 10 -g 0.3 -r 1.0 -f 1
python param_tune.py -l 10 -g 0.1 -r 1.0 -f 1
python param_tune.py -l 11 -g 100. -r 1.0 -f 1
python param_tune.py -l 11 -g 30. -r 1.0 -f 1
python param_tune.py -l 11 -g 10. -r 1.0 -f 1
python param_tune.py -l 11 -g 3.0 -r 1.0 -f 1
python param_tune.py -l 11 -g 1. -r 1.0 -f 1
python param_tune.py -l 11 -g 0.3 -r 1.0 -f 1
python param_tune.py -l 11 -g 0.1 -r 1.0 -f 1


================================================
FILE: experiments/it10/t_hype_tune.sh
================================================
python param_tune.py -l 2 -g 100. -r 10.0
python param_tune.py -l 2 -g 10. -r 10.0
python param_tune.py -l 2 -g 1. -r 10.0
python param_tune.py -l 2 -g 0.1 -r 10.0
python param_tune.py -l 2 -g 0.01 -r 10.0
python param_tune.py -l 2 -g 100. -r 1.0
python param_tune.py -l 2 -g 10. -r 1.0
python param_tune.py -l 2 -g 1. -r 1.0
python param_tune.py -l 2 -g 0.1 -r 1.0
python param_tune.py -l 2 -g 0.01 -r 1.0
python param_tune.py -l 2 -g 100. -r 0.1
python param_tune.py -l 2 -g 10. -r 0.1
python param_tune.py -l 2 -g 1. -r 0.1
python param_tune.py -l 2 -g 0.1 -r 0.1
python param_tune.py -l 2 -g 0.01 -r 0.1
python param_tune.py -l 2 -g 100. -r 0.01
python param_tune.py -l 2 -g 10. -r 0.01
python param_tune.py -l 2 -g 1. -r 0.01
python param_tune.py -l 2 -g 0.1 -r 0.01
python param_tune.py -l 2 -g 0.01 -r 0.01
python param_tune.py -l 5 -g 100. -r 10.0
python param_tune.py -l 5 -g 10. -r 10.0
python param_tune.py -l 5 -g 1. -r 10.0
python param_tune.py -l 5 -g 0.1 -r 10.0
python param_tune.py -l 5 -g 0.01 -r 10.0
python param_tune.py -l 5 -g 100. -r 1.0
python param_tune.py -l 5 -g 10. -r 1.0
python param_tune.py -l 5 -g 1. -r 1.0
python param_tune.py -l 5 -g 0.1 -r 1.0
python param_tune.py -l 5 -g 0.01 -r 1.0
python param_tune.py -l 5 -g 100. -r 0.1
python param_tune.py -l 5 -g 10. -r 0.1
python param_tune.py -l 5 -g 1. -r 0.1
python param_tune.py -l 5 -g 0.1 -r 0.1
python param_tune.py -l 5 -g 0.01 -r 0.1
python param_tune.py -l 5 -g 100. -r 0.01
python param_tune.py -l 5 -g 10. -r 0.01
python param_tune.py -l 5 -g 1. -r 0.01
python param_tune.py -l 5 -g 0.1 -r 0.01
python param_tune.py -l 5 -g 0.01 -r 0.01
python param_tune.py -l 8 -g 100. -r 10.0
python param_tune.py -l 8 -g 10. -r 10.0
python param_tune.py -l 8 -g 1. -r 10.0
python param_tune.py -l 8 -g 0.1 -r 10.0
python param_tune.py -l 8 -g 0.01 -r 10.0
python param_tune.py -l 8 -g 100. -r 1.0
python param_tune.py -l 8 -g 10. -r 1.0
python param_tune.py -l 8 -g 1. -r 1.0
python param_tune.py -l 8 -g 0.1 -r 1.0
python param_tune.py -l 8 -g 0.01 -r 1.0
python param_tune.py -l 8 -g 100. -r 0.1
python param_tune.py -l 8 -g 10. -r 0.1
python param_tune.py -l 8 -g 1. -r 0.1
python param_tune.py -l 8 -g 0.1 -r 0.1
python param_tune.py -l 8 -g 0.01 -r 0.1
python param_tune.py -l 8 -g 100. -r 0.01
python param_tune.py -l 8 -g 10. -r 0.01
python param_tune.py -l 8 -g 1. -r 0.01
python param_tune.py -l 8 -g 0.1 -r 0.01
python param_tune.py -l 8 -g 0.01 -r 0.01
python param_tune.py -l 11 -g 100. -r 10.0
python param_tune.py -l 11 -g 10. -r 10.0
python param_tune.py -l 11 -g 1. -r 10.0
python param_tune.py -l 11 -g 0.1 -r 10.0
python param_tune.py -l 11 -g 0.01 -r 10.0
python param_tune.py -l 11 -g 100. -r 1.0
python param_tune.py -l 11 -g 10. -r 1.0
python param_tune.py -l 11 -g 1. -r 1.0
python param_tune.py -l 11 -g 0.1 -r 1.0
python param_tune.py -l 11 -g 0.01 -r 1.0
python param_tune.py -l 11 -g 100. -r 0.1
python param_tune.py -l 11 -g 10. -r 0.1
python param_tune.py -l 11 -g 1. -r 0.1
python param_tune.py -l 11 -g 0.1 -r 0.1
python param_tune.py -l 11 -g 0.01 -r 0.1
python param_tune.py -l 11 -g 100. -r 0.01
python param_tune.py -l 11 -g 10. -r 0.01
python param_tune.py -l 11 -g 1. -r 0.01
python param_tune.py -l 11 -g 0.1 -r 0.01
python param_tune.py -l 11 -g 0.01 -r 0.01


================================================
FILE: experiments/it11/all_clip.sh
================================================
echo "Launching 4xjobs : 0"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 0 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 0 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 0 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 0 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 1"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 0 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 0 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 0 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 0 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 2"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 0 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 0 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 0 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 0 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 3"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 0 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 0 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 0 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 0 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 4"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 0 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 0 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 0 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 0 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 5"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 0 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 0 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 0 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 0 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 6"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 1 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 1 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 1 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 1 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 7"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 1 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 1 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 1 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 1 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 8"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 1 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 1 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 1 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 1 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 9"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 1 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 1 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 1 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 1 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 10"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 1 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 1 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 1 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 1 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 11"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 1 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 1 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 1 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 1 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 12"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 2 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 2 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 2 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 2 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 13"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 2 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 2 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 2 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 2 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 14"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 2 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 2 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 2 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 2 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 15"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 2 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 2 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 2 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 2 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 16"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 2 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 2 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 2 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 2 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 17"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 2 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 2 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 2 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 2 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 18"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 3 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 3 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 3 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 3 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 19"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 3 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 3 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 3 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 3 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 20"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 3 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 3 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 3 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 3 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 21"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 3 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 3 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 3 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 3 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 22"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 3 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 3 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 3 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 3 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 23"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 3 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 3 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 3 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 3 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 24"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 4 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 4 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 4 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 4 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 25"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 4 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 4 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 4 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 4 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 26"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 4 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 4 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 4 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 4 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 27"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 4 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 4 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 4 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 4 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 28"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 4 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 4 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 4 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 4 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 29"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 4 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 4 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 4 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 4 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 30"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 5 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 5 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 5 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 5 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 31"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 5 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 5 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 5 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 5 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 32"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 5 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 5 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 5 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 5 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 33"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 5 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 5 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 5 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 5 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 34"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 5 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 5 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 5 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 5 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 35"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 5 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 5 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 5 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 5 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 36"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 6 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 6 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 6 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 6 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 37"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 6 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 6 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 6 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 6 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 38"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 6 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 6 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 6 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 6 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 39"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 6 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 6 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 6 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 6 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 40"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 6 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 6 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 6 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 6 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 41"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 6 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 6 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 6 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 6 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 42"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 7 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 7 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 7 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 7 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 43"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 7 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 7 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 7 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 7 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 44"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 7 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 7 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 7 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 7 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 45"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 7 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 7 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 7 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 7 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 46"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 7 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 7 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 7 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 7 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 47"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 7 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 7 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 7 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 7 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 48"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 8 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 8 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 8 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 8 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 49"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 8 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 8 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 8 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 8 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 50"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 8 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 8 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 8 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 8 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 51"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 8 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 8 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 8 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 8 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 52"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 8 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 8 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 8 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 8 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 53"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 8 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 8 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 8 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 8 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 54"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 9 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 9 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 9 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 9 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 55"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 9 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 9 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 9 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 9 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 56"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 9 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 9 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 9 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 9 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 57"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 9 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 9 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 9 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 9 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 58"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 9 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 9 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 9 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 9 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 59"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 9 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 9 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 9 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 9 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 60"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 10 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 10 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 10 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 10 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 61"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 10 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 10 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 10 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 10 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 62"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 10 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 10 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 10 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 10 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 63"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 10 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 10 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 10 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 10 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 64"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 10 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 10 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 10 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 10 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 65"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 10 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 10 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 10 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 10 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 66"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 11 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 11 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 11 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 11 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 67"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 11 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 11 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 11 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 11 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 68"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 11 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 11 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 11 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 11 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 69"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 11 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 11 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 11 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 11 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 70"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 11 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 11 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 11 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 11 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 71"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 11 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 11 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 11 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 11 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 72"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 12 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 12 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 12 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 12 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 73"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 12 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 12 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 12 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 12 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 74"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 12 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 12 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 12 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 12 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 75"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 12 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 12 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 12 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 12 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 76"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 12 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 12 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 12 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 12 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 77"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 12 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 12 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 12 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 12 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 78"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 13 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 13 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 13 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 13 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 79"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 13 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 13 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 13 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 13 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 80"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 13 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 13 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 13 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 13 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 81"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 13 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 13 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 13 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 13 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 82"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 13 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 13 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 13 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 13 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 83"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 13 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 13 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 13 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 13 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 84"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 14 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 14 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 14 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 14 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 85"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 14 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 14 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 14 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 14 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 86"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 14 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 14 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 14 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 14 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 87"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 14 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 14 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 14 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 14 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 88"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 14 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 14 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 14 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 14 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 89"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 14 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 14 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 14 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 14 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 90"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 15 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 15 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 15 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 15 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 91"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 15 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 15 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 15 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 15 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 92"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 15 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 15 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 15 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 15 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 93"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 15 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 15 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 15 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 15 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 94"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 15 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 15 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 15 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 15 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 95"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 15 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 15 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 15 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 15 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 96"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 16 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 16 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 16 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 16 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 97"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 16 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 16 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 16 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 16 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 98"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 16 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 16 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 16 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 16 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 99"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 16 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 16 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 16 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 16 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 100"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 16 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 16 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 16 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 16 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 101"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 16 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 16 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 16 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 16 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 102"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 17 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 17 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 17 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 17 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 103"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 17 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 17 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 17 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 17 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 104"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 17 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 17 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 17 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 17 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 105"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 17 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 17 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 17 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 17 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 106"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 17 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 17 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 17 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 17 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 107"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 17 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 17 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 17 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 17 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 108"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 18 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 18 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 18 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 18 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 109"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 18 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 18 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 18 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 18 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 110"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 18 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 18 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 18 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 18 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 111"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 18 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 18 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 18 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 18 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 112"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 18 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 18 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 18 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 18 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 113"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 18 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 18 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 18 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 18 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 114"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 19 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 19 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 19 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 19 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 115"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 19 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 19 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 19 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 19 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 116"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 19 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 19 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 19 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 19 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 117"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 19 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 19 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 19 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 19 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 118"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 19 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 19 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 19 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 19 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 119"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 19 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 19 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 19 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 19 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 120"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 20 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 20 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 20 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 20 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 121"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 20 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 20 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 20 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 20 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 122"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 20 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 20 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 20 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 20 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 123"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 20 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 20 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 20 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 20 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 124"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 20 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 20 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 20 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 20 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 125"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 20 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 20 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 20 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 20 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 126"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 21 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 21 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 21 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 21 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 127"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 21 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 21 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 21 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 21 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 128"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 21 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 21 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 21 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 21 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 129"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 21 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 21 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 21 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 21 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 130"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 21 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 21 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 21 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 21 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 131"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 21 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 21 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 21 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 21 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 132"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 22 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 22 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 22 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 22 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 133"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 22 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 22 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 22 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 22 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 134"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 22 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 22 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 22 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 22 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 135"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 22 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 22 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 22 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 22 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 136"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 22 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 22 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 22 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 22 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 137"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 22 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 22 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 22 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 22 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 138"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 23 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 23 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 23 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 23 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 139"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 23 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 23 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 23 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 23 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 140"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 23 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 23 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 23 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 23 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 141"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 23 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 23 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 23 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 23 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 142"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 23 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 23 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 23 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 23 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 143"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 23 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 23 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 23 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 23 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 144"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 24 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 24 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 24 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 24 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 145"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 24 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 24 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 24 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 24 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 146"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 24 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 24 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 24 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 24 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 147"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 24 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 24 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 24 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 24 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 148"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 24 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 24 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 24 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 24 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 149"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 24 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 24 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 24 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 24 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 150"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 25 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 25 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 25 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 25 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 151"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 25 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 25 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 25 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 25 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 152"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 25 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 25 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 25 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 25 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 153"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 25 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 25 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 25 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 25 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 154"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 25 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 25 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 25 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 25 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 155"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 25 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 25 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 25 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 25 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 156"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 26 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 26 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 26 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 26 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 157"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 26 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 26 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 26 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 26 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 158"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 26 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 26 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 26 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 26 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 159"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 26 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 26 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 26 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 26 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 160"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 26 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 26 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 26 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 26 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 161"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 26 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 26 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 26 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 26 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 162"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 27 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 27 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 27 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 27 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 163"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 27 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 27 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 27 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 27 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 164"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 27 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 27 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 27 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 27 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 165"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 27 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 27 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 27 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 27 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 166"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 27 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 27 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 27 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 27 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 167"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 27 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 27 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 27 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 27 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 168"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 28 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 28 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 28 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 28 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 169"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 28 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 28 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 28 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 28 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 170"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 28 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 28 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 28 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 28 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 171"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 28 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 28 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 28 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 28 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 172"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 28 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 28 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 28 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 28 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 173"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 28 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 28 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 28 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 28 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 174"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 29 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 29 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 29 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 29 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 175"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 29 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 29 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 29 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 29 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 176"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 29 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 29 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 29 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 29 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 177"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 29 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 29 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 29 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 29 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 178"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 29 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 29 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 29 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 29 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 179"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 29 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 29 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 29 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 29 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 180"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 30 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 30 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 30 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 30 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 181"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 30 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 30 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 30 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 30 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 182"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 30 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 30 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 30 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 30 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 183"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 30 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 30 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 30 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 30 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 184"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 30 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 30 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 30 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 30 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 185"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 30 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 30 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 30 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 30 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 186"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 31 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 31 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 31 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 31 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 187"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 31 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 31 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 31 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 31 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 188"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 31 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 31 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 31 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 31 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 189"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 31 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 31 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 31 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 31 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 190"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 31 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 31 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 31 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 31 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 191"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 31 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 31 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 31 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 31 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 192"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 32 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 32 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 32 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 32 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 193"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 32 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 32 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 32 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 32 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 194"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 32 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 32 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 32 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 32 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 195"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 32 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 32 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 32 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 32 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 196"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 32 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 32 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 32 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 32 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 197"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 32 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 32 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 32 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 32 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 198"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 33 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 33 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 33 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 33 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 199"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 33 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 33 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 33 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 33 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 200"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 33 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 33 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 33 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 33 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 201"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 33 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 33 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 33 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 33 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 202"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 33 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 33 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 33 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 33 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 203"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 33 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 33 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 33 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 33 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 204"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 34 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 34 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 34 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 34 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 205"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 34 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 34 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 34 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 34 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 206"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 34 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 34 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 34 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 34 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 207"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 34 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 34 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 34 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 34 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 208"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 34 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 34 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 34 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 34 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 209"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 34 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 34 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 34 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 34 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 210"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 35 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 35 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 35 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 35 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 211"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 35 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 35 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 35 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 35 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 212"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 35 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 35 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 35 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 35 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 213"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 35 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 35 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 35 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 35 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 214"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 35 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 35 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 35 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 35 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 215"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 35 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 35 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 35 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 35 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 216"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 36 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 36 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 36 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 36 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 217"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 36 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 36 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 36 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 36 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 218"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 36 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 36 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 36 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 36 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 219"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 36 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 36 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 36 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 36 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 220"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 36 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 36 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 36 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 36 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 221"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 36 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 36 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 36 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 36 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 222"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 37 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 37 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 37 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 37 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 223"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 37 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 37 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 37 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 37 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 224"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 37 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 37 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 37 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 37 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 225"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 37 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 37 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 37 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 37 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 226"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 37 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 37 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 37 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 37 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 227"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 37 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 37 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 37 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 37 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 228"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 38 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 38 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 38 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 38 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 229"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 38 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 38 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 38 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 38 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 230"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 38 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 38 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 38 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 38 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 231"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 38 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 38 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 38 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 38 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 232"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 38 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 38 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 38 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 38 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 233"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 38 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 38 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 38 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 38 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 234"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 39 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 39 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 39 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 39 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 235"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 39 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 39 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 39 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 39 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 236"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 39 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 39 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 39 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 39 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 237"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 39 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 39 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 39 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 39 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 238"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 39 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 39 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 39 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 39 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 239"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 39 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 39 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 39 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 39 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 240"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 40 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 40 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 40 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 40 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 241"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 40 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 40 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 40 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 40 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 242"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 40 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 40 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 40 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 40 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 243"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 40 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 40 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 40 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 40 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 244"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 40 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 40 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 40 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 40 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 245"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 40 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 40 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 40 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 40 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 246"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 41 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 41 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 41 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 41 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 247"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 41 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 41 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 41 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 41 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 248"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 41 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 41 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 41 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 41 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 249"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 41 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 41 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 41 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 41 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 250"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 41 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 41 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 41 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 41 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 251"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 41 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 41 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 41 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 41 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 252"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 42 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 42 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 42 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 42 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 253"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 42 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 42 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 42 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 42 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 254"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 42 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 42 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 42 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 42 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 255"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 42 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 42 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 42 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 42 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 256"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 42 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 42 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 42 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 42 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 257"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 42 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 42 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 42 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 42 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 258"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 43 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 43 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 43 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 43 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 259"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 43 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 43 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 43 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 43 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 260"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 43 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 43 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 43 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 43 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 261"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 43 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 43 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 43 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 43 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 262"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 43 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 43 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 43 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 43 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 263"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 43 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 43 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 43 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 43 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 264"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 44 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 44 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 44 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 44 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 265"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 44 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 44 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 44 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 44 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 266"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 44 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 44 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 44 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 44 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 267"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 44 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 44 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 44 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 44 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 268"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 44 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 44 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 44 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 44 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 269"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 44 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 44 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 44 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 44 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 270"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 45 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 45 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 45 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 45 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 271"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 45 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 45 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 45 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 45 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 272"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 45 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 45 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 45 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 45 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 273"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 45 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 45 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 45 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 45 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 274"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 45 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 45 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 45 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 45 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 275"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 45 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 45 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 45 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 45 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 276"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 46 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 46 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 46 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 46 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 277"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 46 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 46 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 46 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 46 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 278"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 46 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 46 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 46 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 46 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 279"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 46 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 46 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 46 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 46 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 280"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 46 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 46 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 46 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 46 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 281"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 46 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 46 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 46 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 46 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 282"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 47 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 47 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 47 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 47 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 283"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 47 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 47 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 47 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 47 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 284"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 47 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 47 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 47 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 47 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 285"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 47 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 47 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 47 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 47 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 286"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 47 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 47 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 47 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 47 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 287"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 47 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 47 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 47 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 47 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 288"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 48 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 48 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 48 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 48 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 289"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 48 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 48 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 48 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 48 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 290"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 48 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 48 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 48 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 48 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 291"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 48 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 48 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 48 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 48 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 292"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 48 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 48 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 48 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 48 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 293"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 48 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 48 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 48 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 48 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 294"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 49 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 49 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 49 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 49 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 295"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 49 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 49 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 49 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 49 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 296"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 49 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 49 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 49 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 49 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 297"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 49 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 49 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 49 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 49 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 298"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 49 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 49 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 49 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 49 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 299"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 49 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 49 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 49 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 49 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 300"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 50 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 50 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 50 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 50 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 301"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 50 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 50 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 50 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 50 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 302"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 50 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 50 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 50 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 50 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 303"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 50 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 50 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 50 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 50 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 304"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 50 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 50 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 50 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 50 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 305"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 50 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 50 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 50 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 50 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 306"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 51 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 51 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 51 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 51 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 307"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 51 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 51 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 51 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 51 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 308"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 51 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 51 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 51 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 51 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 309"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 51 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 51 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 51 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 51 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 310"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 51 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 51 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 51 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 51 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 311"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 51 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 51 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 51 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 51 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 312"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 52 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 52 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 52 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 52 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 313"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 52 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 52 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 52 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 52 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 314"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 52 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 52 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 52 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 52 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 315"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 52 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 52 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 52 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 52 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 316"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 52 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 52 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 52 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 52 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 317"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 52 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 52 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 52 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 52 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 318"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 53 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 53 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 53 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 53 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 319"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 53 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 53 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 53 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 53 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 320"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 53 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 53 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 53 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 53 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 321"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 53 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 53 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 53 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 53 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 322"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 53 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 53 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 53 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 53 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 323"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 10 -v 30.0 -f 53 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 10 -v 1.0 -f 53 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 11 -v 30.0 -f 53 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 11 -v 1.0 -f 53 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 324"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 54 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 0 -v 1.0 -f 54 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 1 -v 30.0 -f 54 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 1 -v 1.0 -f 54 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 325"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 2 -v 30.0 -f 54 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 2 -v 1.0 -f 54 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 3 -v 30.0 -f 54 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 3 -v 1.0 -f 54 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 326"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 4 -v 30.0 -f 54 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 4 -v 1.0 -f 54 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 5 -v 30.0 -f 54 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 5 -v 1.0 -f 54 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 327"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 6 -v 30.0 -f 54 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 6 -v 1.0 -f 54 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 7 -v 30.0 -f 54 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 7 -v 1.0 -f 54 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 328"
CUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 8 -v 30.0 -f 54 >> t_every_clip.sh.txt &
p0=$!
CUDA_VISIBLE_DEVICES=1 python vis_clip.py -l 8 -v 1.0 -f 54 >> t_every_clip.sh.txt &
p1=$!
CUDA_VISIBLE_DEVICES=2 python vis_clip.py -l 9 -v 30.0 -f 54 >> t_every_clip.sh.txt &
p2=$!
CUDA_VISIBLE_DEVICES=3 python vis_clip.py -l 9 -v 1.0 -f 54 >> t_every_clip.sh.txt &
p3=$!
wait $p0
wait $p1
wait $p2
wait $p3
echo "Launching 4xjobs : 329"
CUDA_VISIBLE_DEVICE
Download .txt
gitextract_fhi5k6b1/

├── .gitignore
├── README.md
├── app.py
├── args.py
├── augmentation/
│   ├── __init__.py
│   ├── post.py
│   └── pre.py
├── cam/
│   ├── __init__.py
│   ├── activation_helper.py
│   ├── base.py
│   └── model.py
├── datasets/
│   ├── __init__.py
│   ├── base.py
│   ├── cifar.py
│   ├── imagenet.py
│   ├── imagenet_boxes.py
│   ├── inits.py
│   ├── normalizer.py
│   └── vit_imagenet.py
├── experiments/
│   ├── it0/
│   │   ├── README.md
│   │   ├── grid_tv.sh
│   │   ├── make.sh
│   │   └── resnet18example.py
│   ├── it1/
│   │   ├── README.md
│   │   ├── bn.py
│   │   ├── gridbn.sh
│   │   └── make.sh
│   ├── it10/
│   │   ├── conclusion.md
│   │   ├── make.sh
│   │   ├── make2.sh
│   │   ├── make3.sh
│   │   ├── param_tune.py
│   │   ├── t_grid2.sh
│   │   ├── t_grid3.sh
│   │   └── t_hype_tune.sh
│   ├── it11/
│   │   ├── all_clip.sh
│   │   ├── all_fast_clip.sh
│   │   ├── boxes.pt
│   │   ├── classes.js
│   │   ├── clip_best_eval.py
│   │   ├── clip_eval.pt
│   │   ├── clip_mask.py
│   │   ├── clip_train.pt
│   │   ├── costum_imagenet.py
│   │   ├── get_indices.py
│   │   ├── im1knames.txt
│   │   ├── indices.pt
│   │   ├── make.sh
│   │   ├── make2.sh
│   │   ├── read_xml.py
│   │   ├── t_every_clip.sh
│   │   ├── t_every_clip.sh.txt
│   │   ├── test.xml
│   │   ├── test_dataset.py
│   │   ├── test_foreground.py
│   │   └── vis_clip.py
│   ├── it12/
│   │   ├── all_lr.sh
│   │   ├── all_vis38.sh
│   │   ├── lr_rate.py
│   │   ├── make.sh
│   │   ├── make2.sh
│   │   ├── t_lr.sh
│   │   ├── t_lr.sh.txt
│   │   ├── t_vis38.sh
│   │   ├── t_vis38.sh.txt
│   │   └── vis38.py
│   ├── it13/
│   │   ├── FBAcc.txt
│   │   ├── b1.sh
│   │   ├── b2.sh
│   │   ├── eval.pt
│   │   ├── fore_back.py
│   │   ├── plot_rotate.py
│   │   ├── plot_shift.py
│   │   ├── rotate.py
│   │   ├── rotate_after.pt
│   │   ├── rotate_before.pt
│   │   ├── run1.sh
│   │   ├── run1.sh.txt
│   │   ├── run2.sh
│   │   ├── run2.sh.txt
│   │   ├── runner/
│   │   │   ├── __init__.py
│   │   │   ├── adversarial.py
│   │   │   ├── correct.py
│   │   │   ├── free.py
│   │   │   ├── general_runner.py
│   │   │   └── status.py
│   │   ├── shift.py
│   │   ├── shift_after.pt
│   │   ├── shift_before.pt
│   │   ├── t_every_clip.sh.txt
│   │   ├── t_lr.sh.txt
│   │   └── t_vis38.sh.txt
│   ├── it14/
│   │   ├── Acc.txt
│   │   ├── cls.sh
│   │   ├── conclusion.md
│   │   ├── every_and_cls.py
│   │   ├── every_except_cls_accuracy.py
│   │   ├── grid_lr.sh
│   │   ├── grid_lr_clip.sh
│   │   ├── layer_accuracy.py
│   │   ├── lr_clip.py
│   │   ├── lr_rate.py
│   │   ├── make_lr.sh
│   │   ├── make_lr_clip.sh
│   │   └── random_patch_accuracy.py
│   ├── it15/
│   │   ├── B32.sh
│   │   ├── all_b32.sh
│   │   ├── make_large.sh
│   │   ├── make_small.sh
│   │   ├── t_large.sh
│   │   ├── t_large.sh.txt
│   │   ├── vis35.py
│   │   └── vis98.py
│   ├── it16/
│   │   ├── Acc.txt
│   │   ├── ac2.txt
│   │   ├── all_best.sh
│   │   ├── all_layers.sh
│   │   ├── best.sh
│   │   ├── best.sh.txt
│   │   ├── best35.py
│   │   ├── best98.py
│   │   ├── eval_35.pt
│   │   ├── eval_98.pt
│   │   ├── layer_accuracy.py
│   │   ├── make_layers.sh
│   │   ├── make_reconst.sh
│   │   ├── mask35.py
│   │   ├── mask98.py
│   │   ├── reconstruct.py
│   │   ├── short_rec.sh
│   │   ├── train_35.pt
│   │   └── train_98.pt
│   ├── it17/
│   │   ├── Acc.txt
│   │   ├── clip16.row
│   │   ├── clip16.rows
│   │   ├── clip32.row
│   │   ├── clip32.txt
│   │   ├── cls.py
│   │   ├── convert.py
│   │   ├── main_cherry_clip.py
│   │   ├── move35.sh
│   │   ├── move98.sh
│   │   ├── run.sh
│   │   ├── run.sh.txt
│   │   ├── vit16.row
│   │   ├── vit32.row
│   │   └── vit32.rows
│   ├── it18/
│   │   ├── best99.py
│   │   ├── fb_example.py
│   │   └── mask.py
│   ├── it2/
│   │   ├── README.md
│   │   ├── layered.py
│   │   ├── layered2.py
│   │   ├── layered3.py
│   │   ├── make.sh
│   │   ├── try.py
│   │   ├── vis.py
│   │   └── vis.sh
│   ├── it3/
│   │   ├── check_hooks_correctness.py
│   │   ├── make_heap.py
│   │   ├── predict_checkpoint_size.py
│   │   └── vis.sh
│   ├── it4/
│   │   ├── debug.py
│   │   ├── patches.sh
│   │   ├── patches2.sh
│   │   ├── tile.py
│   │   └── visualize.py
│   ├── it5/
│   │   ├── best.py
│   │   ├── make.sh
│   │   ├── make2.sh
│   │   ├── st.sh
│   │   ├── stitch.py
│   │   └── tv.sh
│   ├── it6/
│   │   ├── ahead.sh
│   │   ├── ascore.sh
│   │   ├── ascore.sh.txt
│   │   ├── best.py
│   │   ├── class.py
│   │   ├── glr.sh
│   │   ├── head.py
│   │   ├── lr_rate.py
│   │   ├── make.sh
│   │   ├── make2.sh
│   │   ├── make3.sh
│   │   ├── score.py
│   │   └── slowscore.sh
│   ├── it7/
│   │   ├── lh_pass.py
│   │   └── no_pos.py
│   ├── it8/
│   │   ├── a_std.sh
│   │   ├── a_std.sh.txt
│   │   ├── a_std2.sh
│   │   ├── a_std2.sh.txt
│   │   ├── all_gauss.sh
│   │   ├── all_high.sh
│   │   ├── all_std.sh
│   │   ├── all_std2.sh
│   │   ├── cj_std.py
│   │   ├── g_gauss.sh
│   │   ├── g_gauss.sh.txt
│   │   ├── gaus.py
│   │   ├── glr.sh
│   │   ├── glr.sh.txt
│   │   ├── high.py
│   │   ├── lr_rate.py
│   │   ├── make.sh
│   │   ├── make2.sh
│   │   ├── make3.sh
│   │   ├── runglr.sh
│   │   ├── score.py
│   │   ├── t_high.sh
│   │   └── t_high.sh.txt
│   └── it9/
│       ├── all_vis.sh
│       ├── best_eval.py
│       ├── best_train.py
│       ├── eval.pt
│       ├── every_vis.sh
│       ├── get_images.py
│       ├── get_mask.py
│       ├── huge_vis.sh
│       ├── huge_vis.sh.txt
│       ├── make.sh
│       ├── make2.sh
│       ├── t_high.sh.txt
│       ├── t_vis.sh
│       ├── t_vis.sh.txt
│       ├── train.pt
│       └── vis.py
├── hooks/
│   ├── __init__.py
│   ├── base.py
│   ├── hook_holder.py
│   ├── layer.py
│   ├── timed_hook.py
│   └── transformer/
│       ├── __init__.py
│       └── vit.py
├── inversion/
│   ├── __init__.py
│   ├── imagenet_invertor.py
│   └── utils.py
├── loss/
│   ├── __init__.py
│   ├── base.py
│   ├── hooks/
│   │   ├── __init__.py
│   │   ├── activation.py
│   │   └── batch_norm.py
│   ├── image_net.py
│   └── regularizers/
│       ├── __init__.py
│       ├── batch_norm.py
│       └── image.py
├── model/
│   ├── __init__.py
│   ├── augmented.py
│   ├── library/
│   │   ├── __init__.py
│   │   ├── base.py
│   │   ├── cnns/
│   │   │   ├── __init__.py
│   │   │   ├── alexnet.py
│   │   │   ├── densenet.py
│   │   │   ├── googlenet.py
│   │   │   ├── inception.py
│   │   │   ├── mnasnet.py
│   │   │   ├── mobilenet.py
│   │   │   ├── resnet.py
│   │   │   ├── robust.py
│   │   │   ├── shufflenet.py
│   │   │   ├── squeezenet.py
│   │   │   └── vggs.py
│   │   └── transformers/
│   │       ├── __init__.py
│   │       ├── base.py
│   │       ├── clip.py
│   │       ├── coat.py
│   │       ├── convit.py
│   │       ├── deit.py
│   │       ├── levit.py
│   │       ├── mixer.py
│   │       ├── pit.py
│   │       ├── resmpl.py
│   │       ├── swin.py
│   │       ├── twin.py
│   │       └── vit.py
│   └── utils.py
├── saliency_tools/
│   ├── __init__.py
│   ├── guided.py
│   └── vanilla.py
├── saver/
│   ├── __init__.py
│   └── base.py
├── show_models.py
├── train_cifar100.py
├── utils/
│   ├── __init__.py
│   ├── bn.py
│   ├── classification.py
│   ├── device.py
│   ├── exp
│   ├── experiment.py
│   ├── iterators.py
│   ├── jasper/
│   │   ├── __init__.py
│   │   ├── metrics.py
│   │   └── translator.py
│   ├── jasper_iterator.py
│   ├── log.py
│   ├── pickle.py
│   ├── regularizers.py
│   ├── statistics.py
│   └── training.py
└── visualize.py
Download .txt
SYMBOL INDEX (626 symbols across 143 files)

FILE: args.py
  function str2bool (line 9) | def str2bool(v):
  class Args (line 19) | class Args:
    method __init__ (line 23) | def __init__(self):
    method update (line 31) | def update(self):
    method _get_parser (line 38) | def _get_parser():
    method get_args (line 57) | def get_args(self):
    method get_name (line 60) | def get_name(self):
    method get_instance (line 64) | def get_instance() -> (argparse.Namespace, Any):

FILE: augmentation/post.py
  class ClipSTD (line 5) | class ClipSTD(nn.Module):
    method forward (line 7) | def forward(self, x: torch.tensor, inflate: float = 1., per_sample: bo...
  class Clip (line 14) | class Clip(nn.Module):
    method forward (line 16) | def forward(self, x: torch.tensor) -> torch.tensor:
  class LInfClip (line 20) | class LInfClip(nn.Module):
    method __init__ (line 21) | def __init__(self, original: torch.tensor, eps: float = 16 / 255):
    method forward (line 27) | def forward(self, x: torch.tensor) -> torch.tensor:
  class L2Clip (line 31) | class L2Clip(nn.Module):
    method __init__ (line 32) | def __init__(self, original: torch.tensor, eps: float = 16 / 255):
    method forward (line 38) | def forward(self, x: torch.tensor) -> torch.tensor:

FILE: augmentation/pre.py
  class Gray4D (line 6) | class Gray4D(nn.Module):
    method __init__ (line 7) | def __init__(self, n_channels: int = 3):
    method forward (line 11) | def forward(self, x: torch.tensor) -> torch.tensor:
  class Layered (line 16) | class Layered(nn.Module):
    method __init__ (line 17) | def __init__(self, x: torch.tensor):
    method forward (line 21) | def forward(self, x: torch.tensor) -> torch.tensor:
  class Jitter (line 25) | class Jitter(nn.Module):
    method __init__ (line 26) | def __init__(self, lim: int = 32):
    method forward (line 30) | def forward(self, x: torch.tensor) -> torch.tensor:
  class ColorJitter (line 36) | class ColorJitter(nn.Module):
    method __init__ (line 37) | def __init__(self, batch_size: int, shuffle_every: bool = False, mean:...
    method shuffle (line 44) | def shuffle(self):
    method forward (line 48) | def forward(self, img: torch.tensor) -> torch.tensor:
  class GaussianNoise (line 54) | class GaussianNoise(nn.Module):
    method __init__ (line 55) | def __init__(self, batch_size: int, shuffle_every: bool = False, std: ...
    method shuffle (line 63) | def shuffle(self):
    method forward (line 67) | def forward(self, img: torch.tensor) -> torch.tensor:
  class ColorJitterR (line 73) | class ColorJitterR(ColorJitter):
    method forward (line 74) | def forward(self, img: torch.tensor) -> torch.tensor:
  class Centering (line 80) | class Centering(nn.Module):
    method __init__ (line 81) | def __init__(self, size: int, std: float):
    method forward (line 86) | def forward(self, img: torch.tensor) -> torch.tensor:
  class Zoom (line 94) | class Zoom(nn.Module):
    method __init__ (line 95) | def __init__(self, out_size: int = 384):
    method forward (line 99) | def forward(self, img: torch.tensor) -> torch.tensor:
  class Tile (line 103) | class Tile(nn.Module):
    method __init__ (line 104) | def __init__(self, rep: int = 384 // 16):
    method forward (line 108) | def forward(self, x: torch.tensor) -> torch.tensor:
  class RepeatBatch (line 118) | class RepeatBatch(nn.Module):
    method __init__ (line 119) | def __init__(self, repeat: int = 32):
    method forward (line 123) | def forward(self, img: torch.tensor):
  class MaskBatch (line 127) | class MaskBatch(nn.Module):
    method forward (line 128) | def forward(self, x: torch.tensor) -> torch.tensor:
    method __init__ (line 131) | def __init__(self, count: int = -1):
  class Flip (line 136) | class Flip(nn.Module):
    method __init__ (line 137) | def __init__(self, p: float = 0.5):
    method forward (line 141) | def forward(self, x: torch.tensor) -> torch.tensor:

FILE: cam/activation_helper.py
  class ActivationHelper (line 7) | class ActivationHelper:
    method __init__ (line 8) | def __init__(self, how_many_patches: int):
    method __call__ (line 12) | def __call__(self, score: torch.tensor) -> (int, int):
    method most_salient (line 23) | def most_salient(self, x: torch.tensor, model, patch_size: int) -> tor...
    method least_salient_pos (line 30) | def least_salient_pos(self, x: torch.tensor, model, patch_size: int) -...

FILE: cam/base.py
  class BatchFeed (line 10) | class BatchFeed:
    method __init__ (line 11) | def __init__(self, model: ViTPatchFeatWrapper):
    method _batch_gen (line 16) | def _batch_gen(x: torch.tensor, batch_size) -> torch.tensor:
    method __call__ (line 21) | def __call__(self, x: torch.tensor, batch_size: int = 32, reduction: s...
  class Stitcher (line 27) | class Stitcher:
    method __init__ (line 30) | def __init__(self, model: ViTPatchFeatWrapper, patch_size: int, image_...
    method max_score (line 36) | def max_score(self, ims: Union[torch.tensor, list], score: float, orig...
    method __call__ (line 45) | def __call__(self, original: torch.tensor, score: float, x: torch.tens...
    method select_images (line 51) | def select_images(self, original, patch) -> list:
    method select_patch (line 62) | def select_patch(self, x) -> torch.tensor:
  class SniperStitcher (line 68) | class SniperStitcher(Stitcher):
    method select_images (line 70) | def select_images(self, original, patch) -> list:

FILE: cam/model.py
  function project_back (line 7) | def project_back(act: torch.tensor) -> torch.tensor:
  class ViTPatchFeatWrapper (line 25) | class ViTPatchFeatWrapper:
    method __init__ (line 26) | def __init__(self, hook: ViTAttHookHolder, key: str, feature: int):
    method __call__ (line 30) | def __call__(self, x: torch.tensor):

FILE: datasets/base.py
  class EasyDataset (line 6) | class EasyDataset:
    method __init__ (line 7) | def __init__(self, mean, std):
    method eval (line 12) | def eval(self) -> VisionDataset:
    method train (line 15) | def train(self) -> VisionDataset:

FILE: datasets/cifar.py
  class Cifar (line 8) | class Cifar(EasyDataset):
    method __init__ (line 9) | def __init__(self, mean: List, std: List, data_class: Any):
    method eval (line 18) | def eval(self) -> VisionDataset:
    method train (line 21) | def train(self) -> VisionDataset:

FILE: datasets/imagenet.py
  class ImageNet (line 8) | class ImageNet(EasyDataset):
    method __init__ (line 11) | def __init__(self):
    method eval (line 19) | def eval(self) -> VisionDataset:
    method train (line 22) | def train(self) -> VisionDataset:

FILE: datasets/imagenet_boxes.py
  class BackgroundForegroundImageNet (line 7) | class BackgroundForegroundImageNet(ImageFolder):
    method __init__ (line 11) | def __init__(self, root: str = './data/imagenet/train/', download=True...
    method __len__ (line 31) | def __len__(self):
    method __getitem__ (line 34) | def __getitem__(self, item):

FILE: datasets/inits.py
  class GreatInit (line 8) | class GreatInit(Dataset):
    method __init__ (line 9) | def __init__(self, root: str = 'data/inits/images', subset: str = 'inv...
    method __len__ (line 15) | def __len__(self):
    method __getitem__ (line 18) | def __getitem__(self, item: int) -> torch.tensor:

FILE: datasets/normalizer.py
  class Normalizer (line 5) | class Normalizer(nn.Module):
    method __init__ (line 6) | def __init__(self, mean, std):
    method forward (line 11) | def forward(self, t: torch.tensor) -> torch.tensor:
    method get_normal (line 14) | def get_normal(self, t: torch.Tensor) -> torch.Tensor:
    method get_unit (line 17) | def get_unit(self, t: torch.Tensor) -> torch.Tensor:

FILE: datasets/vit_imagenet.py
  class ImageNet (line 8) | class ImageNet(EasyDataset):
    method __init__ (line 11) | def __init__(self, img_size: int = 384):
    method eval (line 20) | def eval(self) -> VisionDataset:
    method train (line 23) | def train(self) -> VisionDataset:

FILE: experiments/it0/resnet18example.py
  function main (line 16) | def main():

FILE: experiments/it1/bn.py
  function main (line 16) | def main():

FILE: experiments/it10/param_tune.py
  function main (line 14) | def main():

FILE: experiments/it11/clip_best_eval.py
  function main (line 11) | def main():

FILE: experiments/it11/clip_mask.py
  function main (line 15) | def main():

FILE: experiments/it11/costum_imagenet.py
  class BackgroundForegroundImageNet (line 7) | class BackgroundForegroundImageNet(ImageFolder):
    method __init__ (line 11) | def __init__(self, root: str = '.', download=True, boxes: str = None, ...
    method __len__ (line 30) | def __len__(self):
    method __getitem__ (line 33) | def __getitem__(self, item):

FILE: experiments/it11/get_indices.py
  function main (line 5) | def main():

FILE: experiments/it11/read_xml.py
  function translate_obj (line 8) | def translate_obj(cls: str, obj) -> list:
  function objects (line 18) | def objects(expected_class: str, path: str) -> list:
  function get_path (line 25) | def get_path(xml_path: str) -> str:
  function translate_folder (line 29) | def translate_folder(xml_folder: str, root: str) -> {}:
  function translate_dataset (line 34) | def translate_dataset(root: str, classes: list):
  function main (line 39) | def main():

FILE: experiments/it11/test_dataset.py
  function main (line 13) | def main():

FILE: experiments/it11/test_foreground.py
  function test1 (line 8) | def test1():
  function test2 (line 15) | def test2():

FILE: experiments/it11/vis_clip.py
  function main (line 14) | def main():

FILE: experiments/it12/lr_rate.py
  function main (line 14) | def main():

FILE: experiments/it12/vis38.py
  function main (line 14) | def main():

FILE: experiments/it13/fore_back.py
  function main (line 22) | def main():

FILE: experiments/it13/plot_rotate.py
  function main (line 19) | def main():

FILE: experiments/it13/plot_shift.py
  function main (line 17) | def main():

FILE: experiments/it13/rotate.py
  class Rotation (line 14) | class Rotation(nn.Module):
    method __init__ (line 15) | def __init__(self, count: int = 360 // 30):
    method forward (line 20) | def forward(self, x: torch.tensor) -> torch.tensor:
  function main (line 29) | def main():

FILE: experiments/it13/runner/adversarial.py
  class Modifier (line 6) | class Modifier:
    method __call__ (line 7) | def __call__(self, *inputs) -> torch.tensor:
    method attack (line 10) | def attack(self, *inputs) -> torch.tensor:

FILE: experiments/it13/runner/correct.py
  class CorrectClassLoss (line 12) | class CorrectClassLoss(nn.Module):
    method forward (line 13) | def forward(self, output: torch.tensor, y: torch.tensor):
  class CorrectTrainer (line 17) | class CorrectTrainer:
    method __init__ (line 18) | def __init__(self, model: nn.Module, loader: DataLoader = None, loss: ...
    method _method_for_one_epoch (line 30) | def _method_for_one_epoch(self) -> float:
    method train (line 69) | def train(self) -> float:

FILE: experiments/it13/runner/free.py
  class FreeTrainer (line 11) | class FreeTrainer:
    method __init__ (line 12) | def __init__(self, model: nn.Module, loader: DataLoader = None, loss: ...
    method _method_for_one_epoch (line 24) | def _method_for_one_epoch(self) -> float:
    method train (line 53) | def train(self) -> float:

FILE: experiments/it13/runner/general_runner.py
  class BaseRunner (line 12) | class BaseRunner:
    method __init__ (line 13) | def __init__(self, model: nn.Module, loader: DataLoader = None, loss: ...
    method _method_for_one_epoch (line 22) | def _method_for_one_epoch(self) -> (float, float):
  class Trainer (line 48) | class Trainer(BaseRunner):
    method __init__ (line 49) | def __init__(self, model: nn.Module, loader: DataLoader = None, loss: ...
    method train (line 53) | def train(self) -> (float, float):
  class Evaluator (line 59) | class Evaluator(BaseRunner):
    method __init__ (line 60) | def __init__(self, model: torch.nn.Module, loader: DataLoader = None, ...
    method eval (line 65) | def eval(self) -> (float, float):

FILE: experiments/it13/runner/status.py
  class ItemIterator (line 5) | class ItemIterator:
    method iterator_item (line 7) | def iterator_item(self):
    method __iter__ (line 10) | def __iter__(self):
    method __getitem__ (line 13) | def __getitem__(self, item):
    method __len__ (line 16) | def __len__(self):
  class Status (line 20) | class Status(ItemIterator):
    method iterator_item (line 22) | def iterator_item(self):
    method __init__ (line 25) | def __init__(self, loader: DataLoader, num_elements: int, template: st...
    method print (line 29) | def print(self, *values):
  class Meter (line 34) | class Meter:
    method __init__ (line 35) | def __init__(self):
    method reset (line 39) | def reset(self):
    method __add__ (line 42) | def __add__(self, other: (float, float)):
    method value (line 48) | def value(self) -> float:

FILE: experiments/it13/shift.py
  class Shift (line 14) | class Shift(nn.Module):
    method __init__ (line 15) | def __init__(self, count_per_dim: int = 4, shift_per_dim: int = 4):
    method forward (line 19) | def forward(self, x: torch.tensor) -> torch.tensor:
  function main (line 30) | def main():

FILE: experiments/it14/every_and_cls.py
  class ViTInput (line 21) | class ViTInput(nn.Module):
    method __init__ (line 22) | def __init__(self, vit: Union[ViT, AugmentedModel]):
    method forward (line 29) | def forward(self, x: torch.tensor) -> torch.tensor:
  class ViTPre (line 37) | class ViTPre(nn.Sequential):
    method __init__ (line 38) | def __init__(self, vit: AugmentedModel):
  class ViTTransformer (line 42) | class ViTTransformer(nn.Module):
    method __init__ (line 43) | def __init__(self, vit: Union[ViT, AugmentedModel], sl: slice = None):
    method forward (line 49) | def forward(self, x: torch.tensor, mask: torch.tensor = None) -> torch...
  class ViTHead (line 55) | class ViTHead(nn.Module):
    method __init__ (line 56) | def __init__(self, vit: Union[ViT, AugmentedModel], sl: slice = None):
    method forward (line 63) | def forward(self, x: torch.tensor) -> torch.tensor:
  function main (line 69) | def main():

FILE: experiments/it14/every_except_cls_accuracy.py
  class ViTInput (line 21) | class ViTInput(nn.Module):
    method __init__ (line 22) | def __init__(self, vit: Union[ViT, AugmentedModel]):
    method forward (line 29) | def forward(self, x: torch.tensor) -> torch.tensor:
  class ViTPre (line 37) | class ViTPre(nn.Sequential):
    method __init__ (line 38) | def __init__(self, vit: AugmentedModel):
  class ViTTransformer (line 42) | class ViTTransformer(nn.Module):
    method __init__ (line 43) | def __init__(self, vit: Union[ViT, AugmentedModel], sl: slice = None):
    method forward (line 49) | def forward(self, x: torch.tensor, mask: torch.tensor = None) -> torch...
  class ViTHead (line 55) | class ViTHead(nn.Module):
    method __init__ (line 56) | def __init__(self, vit: Union[ViT, AugmentedModel], sl: slice = None):
    method forward (line 63) | def forward(self, x: torch.tensor) -> torch.tensor:
  function main (line 69) | def main():

FILE: experiments/it14/layer_accuracy.py
  class ViTInput (line 21) | class ViTInput(nn.Module):
    method __init__ (line 22) | def __init__(self, vit: Union[ViT, AugmentedModel]):
    method forward (line 29) | def forward(self, x: torch.tensor) -> torch.tensor:
  class ViTPre (line 37) | class ViTPre(nn.Sequential):
    method __init__ (line 38) | def __init__(self, vit: AugmentedModel):
  class ViTTransformer (line 42) | class ViTTransformer(nn.Module):
    method __init__ (line 43) | def __init__(self, vit: Union[ViT, AugmentedModel], sl: slice = None):
    method forward (line 49) | def forward(self, x: torch.tensor, mask: torch.tensor = None) -> torch...
  class ViTHead (line 55) | class ViTHead(nn.Module):
    method __init__ (line 56) | def __init__(self, vit: Union[ViT, AugmentedModel], sl: slice = None):
    method forward (line 63) | def forward(self, x: torch.tensor) -> torch.tensor:
  function main (line 69) | def main():

FILE: experiments/it14/lr_clip.py
  function main (line 14) | def main():

FILE: experiments/it14/lr_rate.py
  function main (line 14) | def main():

FILE: experiments/it14/random_patch_accuracy.py
  class ViTInput (line 21) | class ViTInput(nn.Module):
    method __init__ (line 22) | def __init__(self, vit: Union[ViT, AugmentedModel]):
    method forward (line 29) | def forward(self, x: torch.tensor) -> torch.tensor:
  class ViTPre (line 37) | class ViTPre(nn.Sequential):
    method __init__ (line 38) | def __init__(self, vit: AugmentedModel):
  class ViTTransformer (line 42) | class ViTTransformer(nn.Module):
    method __init__ (line 43) | def __init__(self, vit: Union[ViT, AugmentedModel], sl: slice = None):
    method forward (line 49) | def forward(self, x: torch.tensor, mask: torch.tensor = None) -> torch...
  class ViTHead (line 55) | class ViTHead(nn.Module):
    method __init__ (line 56) | def __init__(self, vit: Union[ViT, AugmentedModel], sl: slice = None):
    method forward (line 63) | def forward(self, x: torch.tensor) -> torch.tensor:
  function main (line 69) | def main():

FILE: experiments/it15/vis35.py
  function main (line 14) | def main():

FILE: experiments/it15/vis98.py
  function main (line 14) | def main():

FILE: experiments/it16/best35.py
  function main (line 10) | def main():

FILE: experiments/it16/best98.py
  function main (line 11) | def main():

FILE: experiments/it16/layer_accuracy.py
  class ViTInput (line 21) | class ViTInput(nn.Module):
    method __init__ (line 22) | def __init__(self, vit: Union[ViT, AugmentedModel]):
    method forward (line 29) | def forward(self, x: torch.tensor) -> torch.tensor:
  class ViTPre (line 37) | class ViTPre(nn.Sequential):
    method __init__ (line 38) | def __init__(self, vit: AugmentedModel):
  class ViTTransformer (line 42) | class ViTTransformer(nn.Module):
    method __init__ (line 43) | def __init__(self, vit: Union[ViT, AugmentedModel], sl: slice = None):
    method forward (line 49) | def forward(self, x: torch.tensor, mask: torch.tensor = None) -> torch...
  class ViTHead (line 55) | class ViTHead(nn.Module):
    method __init__ (line 56) | def __init__(self, vit: Union[ViT, AugmentedModel], sl: slice = None):
    method forward (line 63) | def forward(self, x: torch.tensor) -> torch.tensor:
  class ViTFeatSelector (line 68) | class ViTFeatSelector(nn.Module):
    method __init__ (line 69) | def __init__(self, sl: slice = None):
    method forward (line 73) | def forward(self, x: torch.tensor) -> torch.tensor:
  class ViTCLSLayer (line 78) | class ViTCLSLayer(nn.Sequential):
    method __init__ (line 79) | def __init__(self, vit: AugmentedModel, layer: int):
  function main (line 85) | def main():

FILE: experiments/it16/mask35.py
  function main (line 15) | def main():

FILE: experiments/it16/mask98.py
  function main (line 15) | def main():

FILE: experiments/it16/reconstruct.py
  function main (line 15) | def main():

FILE: experiments/it17/cls.py
  class ViTInput (line 21) | class ViTInput(nn.Module):
    method __init__ (line 22) | def __init__(self, vit: Union[ViT, AugmentedModel]):
    method forward (line 29) | def forward(self, x: torch.tensor) -> torch.tensor:
  class ViTPre (line 37) | class ViTPre(nn.Sequential):
    method __init__ (line 38) | def __init__(self, vit: AugmentedModel):
  class ViTTransformer (line 42) | class ViTTransformer(nn.Module):
    method __init__ (line 43) | def __init__(self, vit: Union[ViT, AugmentedModel], sl: slice = None):
    method forward (line 49) | def forward(self, x: torch.tensor, mask: torch.tensor = None) -> torch...
  class ViTHead (line 55) | class ViTHead(nn.Module):
    method __init__ (line 56) | def __init__(self, vit: Union[ViT, AugmentedModel], sl: slice = None):
    method forward (line 63) | def forward(self, x: torch.tensor) -> torch.tensor:
  class ViTFeatSelector (line 68) | class ViTFeatSelector(nn.Module):
    method __init__ (line 69) | def __init__(self, sl: slice = None):
    method forward (line 73) | def forward(self, x: torch.tensor) -> torch.tensor:
  class ViTCLSLayer (line 78) | class ViTCLSLayer(nn.Module):
    method __init__ (line 79) | def __init__(self, vit: AugmentedModel, layer: int):
    method forward (line 88) | def forward(self, x: torch.tensor) -> torch.tensor:
  function main (line 100) | def main():

FILE: experiments/it17/convert.py
  function convert (line 19) | def convert(old_file: str, new_file: str):
  function main (line 28) | def main():

FILE: experiments/it17/main_cherry_clip.py
  function gen (line 89) | def gen(arr):
  function generate (line 95) | def generate(indices, per_row: int = 7, per_page: int = 4, tvs: list = N...
  function generate2 (line 140) | def generate2(indices, per_row: int = 7, per_page: int = 6, folder: str ...
  function print35 (line 172) | def print35():
  function print98 (line 188) | def print98():
  function fake_arr (line 204) | def fake_arr(arr):

FILE: experiments/it18/best99.py
  function main (line 13) | def main():

FILE: experiments/it18/fb_example.py
  function main (line 12) | def main():

FILE: experiments/it18/mask.py
  function main (line 15) | def main():

FILE: experiments/it2/layered.py
  function main (line 23) | def main():

FILE: experiments/it2/layered2.py
  function main (line 23) | def main():

FILE: experiments/it2/layered3.py
  function main (line 16) | def main():

FILE: experiments/it2/try.py
  function main (line 8) | def main():

FILE: experiments/it2/vis.py
  function main (line 20) | def main():

FILE: experiments/it3/check_hooks_correctness.py
  function to_numpy (line 15) | def to_numpy(x):
  function main (line 30) | def main():

FILE: experiments/it3/make_heap.py
  class FeatHeap (line 27) | class FeatHeap:
    method __init__ (line 28) | def __init__(self, limit: int = 24 * 24, feat_count: int = 10):
    method convert (line 33) | def convert(self, act: torch.tensor, start: int, images: torch.tensor)...
    method __add__ (line 52) | def __add__(self, tup: tuple):
  function main (line 67) | def main():

FILE: experiments/it3/predict_checkpoint_size.py
  function main (line 9) | def main():

FILE: experiments/it4/debug.py
  function main (line 13) | def main():

FILE: experiments/it4/tile.py
  function main (line 13) | def main():

FILE: experiments/it4/visualize.py
  class FeatHeap (line 27) | class FeatHeap:
    method __init__ (line 28) | def __init__(self, limit: int = 24 * 24, feat_count: int = 10):
    method convert (line 34) | def convert(self, act: torch.tensor, start: int, images: torch.tensor)...
    method __add__ (line 57) | def __add__(self, tup: tuple):
  function main (line 74) | def main():

FILE: experiments/it5/best.py
  function main (line 14) | def main():

FILE: experiments/it5/stitch.py
  function get_patches (line 13) | def get_patches(image_size: int, patch_size: int):
  function main (line 24) | def main():

FILE: experiments/it6/best.py
  function main (line 14) | def main():

FILE: experiments/it6/class.py
  function main (line 13) | def main():

FILE: experiments/it6/head.py
  function main (line 14) | def main():

FILE: experiments/it6/lr_rate.py
  function main (line 14) | def main():

FILE: experiments/it6/score.py
  function main (line 14) | def main():

FILE: experiments/it7/lh_pass.py
  function roll_n (line 14) | def roll_n(X, axis, n):
  function fftshift (line 22) | def fftshift(X):
  function ifftshift (line 33) | def ifftshift(X):
  function h_pass (line 45) | def h_pass(img: torch.tensor, filter_rate: float = 0.95):
  function l_pass (line 61) | def l_pass(img: torch.tensor, filter_rate: float = 0.95) -> torch.tensor:
  class FreqPass (line 65) | class FreqPass(nn.Module):
    method __init__ (line 66) | def __init__(self, high: bool = True, rate: float = 0.95):
    method forward (line 70) | def forward(self, x: torch.tensor) -> torch.tensor:
  function main (line 75) | def main():

FILE: experiments/it7/no_pos.py
  class PatchShuffle (line 13) | class PatchShuffle(nn.Module):
    method __init__ (line 14) | def __init__(self, image_size: int = 384, patch_size=16):
    method forward (line 18) | def forward(self, x: torch.tensor) -> torch.tensor:
  function main (line 28) | def main():

FILE: experiments/it8/cj_std.py
  function main (line 14) | def main():

FILE: experiments/it8/gaus.py
  function main (line 14) | def main():

FILE: experiments/it8/high.py
  function main (line 14) | def main():

FILE: experiments/it8/lr_rate.py
  function main (line 14) | def main():

FILE: experiments/it8/score.py
  function main (line 14) | def main():

FILE: experiments/it9/best_eval.py
  function main (line 11) | def main():

FILE: experiments/it9/best_train.py
  function main (line 11) | def main():

FILE: experiments/it9/get_images.py
  function main (line 14) | def main():

FILE: experiments/it9/get_mask.py
  function main (line 15) | def main():

FILE: experiments/it9/vis.py
  function main (line 14) | def main():

FILE: hooks/base.py
  class BasicHook (line 5) | class BasicHook:
    method __init__ (line 6) | def __init__(self, module: nn.Module):
    method close (line 10) | def close(self):
    method base_hook_fn (line 13) | def base_hook_fn(self, model: nn.Module, input_t: torch.tensor, output...
    method hook_fn (line 18) | def hook_fn(self, model: nn.Module, x: torch.tensor):

FILE: hooks/hook_holder.py
  class HookHolder (line 5) | class HookHolder(ItemIterator):
    method __init__ (line 6) | def __init__(self, classifier: nn.Module, hook_class, layer_class):
    method iterator_item (line 10) | def iterator_item(self):
    method check_for_attr (line 13) | def check_for_attr(self, attr: str, hook_class):
    method _broadcast (line 18) | def _broadcast(self, func_name: str, *to_propagate):
    method _gather (line 23) | def _gather(self, attr: str) -> list:
    method close (line 26) | def close(self):

FILE: hooks/layer.py
  class LayerHook (line 5) | class LayerHook:
    method __init__ (line 6) | def __init__(self, classifier: nn.Module, layer_class, layer_depth: in...
    method __call__ (line 10) | def __call__(self) -> torch.tensor:

FILE: hooks/timed_hook.py
  class TimedHookHolder (line 4) | class TimedHookHolder(HookHolder):
    method get_activations (line 5) | def get_activations(self):
    method get_layer (line 11) | def get_layer(self, item):
    method set_seed (line 15) | def set_seed(self, seed: int):
    method set_target (line 18) | def set_target(self, target: list):
    method reset (line 21) | def reset(self):

FILE: hooks/transformer/vit.py
  class ViTHook (line 11) | class ViTHook(BasicHook):
    method __init__ (line 12) | def __init__(self, module: nn.Module, return_output: bool, name: str):
    method base_hook_fn (line 17) | def base_hook_fn(self, model: nn.Module, input_t: torch.tensor, output...
    method hook_fn (line 22) | def hook_fn(self, model: nn.Module, x: torch.tensor):
  class FakeHookWrapper (line 26) | class FakeHookWrapper:
    method __init__ (line 27) | def __init__(self, value):
  class ViTAbsHookHolder (line 31) | class ViTAbsHookHolder(nn.Module):
  class ViTAttHookHolder (line 35) | class ViTAttHookHolder(ViTAbsHookHolder):
    method __init__ (line 36) | def __init__(self, classifier: nn.Module, in_feat: bool = False, keys:...
    method scores (line 53) | def scores(self):
    method forward (line 59) | def forward(self, x: torch.tensor) -> ({}, torch.tensor):
  class ViTGeLUHook (line 71) | class ViTGeLUHook(ViTAbsHookHolder):
    method __init__ (line 72) | def __init__(self, classifier: nn.Module, sl: slice = None):
    method forward (line 80) | def forward(self, x: torch.tensor) -> ({}, torch.tensor):
  class ClipGeLUHook (line 88) | class ClipGeLUHook(ViTAbsHookHolder):
    method __init__ (line 89) | def __init__(self, classifier: nn.Module, sl: slice = None):
    method forward (line 97) | def forward(self, x: torch.tensor) -> ({}, torch.tensor):
  class SimpleViTGeLUHook (line 106) | class SimpleViTGeLUHook(ViTGeLUHook):
    method forward (line 108) | def forward(self, x: torch.tensor) -> torch.tensor:
  class SimpleClipGeLUHook (line 115) | class SimpleClipGeLUHook(ClipGeLUHook):
    method forward (line 117) | def forward(self, x: torch.tensor) -> torch.tensor:
  class SaliencyViTGeLUHook (line 125) | class SaliencyViTGeLUHook(ViTGeLUHook):
    method forward (line 127) | def forward(self, x: torch.tensor, l: int, f: int) -> torch.tensor:
  class SaliencyClipGeLUHook (line 133) | class SaliencyClipGeLUHook(ClipGeLUHook):
    method forward (line 135) | def forward(self, x: torch.tensor, l: int, f: int) -> torch.tensor:
  class ReconstructionViTGeLUHook (line 141) | class ReconstructionViTGeLUHook(ViTGeLUHook):
    method forward (line 142) | def forward(self, x: torch.tensor) -> torch.tensor:
  class ReconstructionClipGeLUHook (line 148) | class ReconstructionClipGeLUHook(ClipGeLUHook):
    method forward (line 149) | def forward(self, x: torch.tensor) -> torch.tensor:

FILE: inversion/imagenet_invertor.py
  class ImageNetVisualizer (line 12) | class ImageNetVisualizer:
    method __init__ (line 13) | def __init__(self, loss_array: LossArray, saver: AbstractSaver = None,...
    method __call__ (line 27) | def __call__(self, img: torch.tensor = None, optimizer: optim.Optimize...

FILE: inversion/utils.py
  function new_init (line 4) | def new_init(size: int, batch_size: int = 1, last: torch.nn = None, padd...

FILE: loss/base.py
  function _abbreviation (line 6) | def _abbreviation(name: str) -> str:
  function _round (line 13) | def _round(num: float) -> str:
  class InvLoss (line 21) | class InvLoss:
    method __init__ (line 22) | def __init__(self, coefficient: float = 1.0):
    method __call__ (line 27) | def __call__(self, x: torch.tensor) -> torch.tensor:
    method loss (line 32) | def loss(self, x: torch.tensor):
    method __str__ (line 35) | def __str__(self):
    method reset (line 38) | def reset(self) -> torch.tensor:
  class LossArray (line 42) | class LossArray:
    method __init__ (line 43) | def __init__(self):
    method __add__ (line 47) | def __add__(self, other: InvLoss):
    method __call__ (line 51) | def __call__(self, x: torch.tensor):
    method header (line 56) | def header(self) -> str:
    method __str__ (line 60) | def __str__(self):
    method reset (line 64) | def reset(self):

FILE: loss/hooks/activation.py
  class AbsActivationHook (line 7) | class AbsActivationHook(BasicHook):
    method __init__ (line 8) | def __init__(self, module: nn.Module, feature: int = 0, targets: list ...
    method hook_fn (line 14) | def hook_fn(self, model: nn.Module, x: torch.tensor):
    method reset (line 17) | def reset(self):
    method set_feature (line 24) | def set_feature(self, feature: int):
    method set_target (line 27) | def set_target(self, target: list):
    method __call__ (line 30) | def __call__(self) -> torch.tensor:
  class ActivationHook (line 36) | class ActivationHook(AbsActivationHook):
    method hook_fn (line 37) | def hook_fn(self, model: nn.Module, input_t: torch.Tensor):
  class ActivationReluHook (line 44) | class ActivationReluHook(AbsActivationHook):
    method hook_fn (line 45) | def hook_fn(self, model: nn.Module, input_t: torch.Tensor):
  class TargetActivationHook (line 53) | class TargetActivationHook(AbsActivationHook):
    method hook_fn (line 54) | def hook_fn(self, model: nn.Module, input_t: torch.Tensor):
  class ContrastiveActivationHook (line 61) | class ContrastiveActivationHook(AbsActivationHook):
    method hook_fn (line 62) | def hook_fn(self, model: nn.Module, input_t: torch.Tensor):
  class ViTCLSActivationHook (line 71) | class ViTCLSActivationHook(AbsActivationHook):
    method hook_fn (line 72) | def hook_fn(self, model: nn.Module, input_t: torch.Tensor):
  class ViTMeanActivationHook (line 82) | class ViTMeanActivationHook(AbsActivationHook):
    method hook_fn (line 83) | def hook_fn(self, model: nn.Module, input_t: torch.Tensor):

FILE: loss/hooks/batch_norm.py
  class BatchNormHookHookAbs (line 9) | class BatchNormHookHookAbs(AbsActivationHook):
    method hook_fn (line 10) | def hook_fn(self, model: nn.Module, x: torch.tensor):
    method get_mean_var (line 14) | def get_mean_var(x: torch.tensor) -> (torch.tensor, torch.tensor):
    method normalize_eval (line 19) | def normalize_eval(model: nn.Module, x: torch.tensor) -> torch.tensor:
  class MatchModelBNStatsHook (line 26) | class MatchModelBNStatsHook(BatchNormHookHookAbs):
    method hook_fn (line 27) | def hook_fn(self, model: nn.Module, input_t: torch.Tensor):

FILE: loss/image_net.py
  class MatchBatchNorm (line 15) | class MatchBatchNorm(InvLoss):
    method __init__ (line 16) | def __init__(self, bn: BaseFakeBN, coefficient: float = 1.):
    method loss (line 20) | def loss(self, x: torch.tensor) -> torch.tensor:
  class TotalVariation (line 24) | class TotalVariation(InvLoss):
    method loss (line 25) | def loss(self, x: torch.tensor):
    method __init__ (line 28) | def __init__(self, p: int = 2, size: int = 224, coefficient: float = 1.):
  class NormalVariation (line 34) | class NormalVariation(InvLoss):
    method loss (line 35) | def loss(self, x: torch.tensor):
    method __init__ (line 38) | def __init__(self, p: int = 2, size: int = 224, coefficient: float = 1.):
  class ColorVariation (line 44) | class ColorVariation(InvLoss):
    method loss (line 45) | def loss(self, x: torch.tensor):
    method __init__ (line 48) | def __init__(self, p: int = 2, size: int = 224, coefficient: float = 1.):
  class CrossEntropyLoss (line 54) | class CrossEntropyLoss(InvLoss):
    method loss (line 55) | def loss(self, x: torch.tensor):
    method __init__ (line 58) | def __init__(self, model: torch.nn.Module, label: torch.tensor, coeffi...
  class BatchAugment (line 65) | class BatchAugment(InvLoss):
    method loss (line 66) | def loss(self, x: torch.tensor):
    method __init__ (line 71) | def __init__(self, other: InvLoss, aug: torch.tensor = None):
  class NetworkPass (line 77) | class NetworkPass(InvLoss):
    method __init__ (line 78) | def __init__(self, model: torch.nn.Module):
    method loss (line 82) | def loss(self, x: torch.tensor):
  class BatchNorm1stLayer (line 87) | class BatchNorm1stLayer(InvLoss):
    method loss (line 88) | def loss(self, x: torch.tensor) -> torch.tensor:
    method reset (line 91) | def reset(self) -> torch.tensor:
    method __init__ (line 94) | def __init__(self, bn_hook: TimedHookHolder, layer: int = 0, coefficie...
  class ViTFeatHook (line 100) | class ViTFeatHook(InvLoss):
    method __init__ (line 101) | def __init__(self, hook: ViTAbsHookHolder, key: str, coefficient: floa...
    method loss (line 106) | def loss(self, x: torch.tensor):
  class ViTEnsFeatHook (line 113) | class ViTEnsFeatHook(ViTFeatHook):
    method __init__ (line 114) | def __init__(self, hook: ViTAbsHookHolder, key: str, feat: int = 0, co...
    method loss (line 118) | def loss(self, x: torch.tensor):
  class ReconstructionLoss (line 125) | class ReconstructionLoss(ViTFeatHook):
    method __init__ (line 126) | def __init__(self, hook: ViTAbsHookHolder, x: torch.tensor, key: str, ...
    method loss (line 132) | def loss(self, x: torch.tensor):
  class ViTHeadHook (line 136) | class ViTHeadHook(ViTEnsFeatHook):
    method loss (line 137) | def loss(self, x: torch.tensor):
  class ViTScoreHook (line 143) | class ViTScoreHook(ViTEnsFeatHook):
    method loss (line 144) | def loss(self, x: torch.tensor):
  class LayerActivationNorm (line 153) | class LayerActivationNorm(InvLoss):
    method __init__ (line 154) | def __init__(self, hook: LayerHook, model: torch.nn.Module, coefficien...
    method loss (line 158) | def loss(self, x: torch.tensor) -> torch.tensor:
  class ActivationNorm (line 163) | class ActivationNorm(InvLoss):
    method loss (line 164) | def loss(self, x: torch.tensor):
    method __init__ (line 167) | def __init__(self, activation_hook: TimedHookHolder, layer: int, coeff...
    method reset (line 172) | def reset(self) -> torch.tensor:
  class ColorDistribution (line 176) | class ColorDistribution(InvLoss):
    method loss (line 177) | def loss(self, x: torch.tensor):
    method __init__ (line 180) | def __init__(self, normalizer: Normalizer, coefficient: float = 1.):

FILE: loss/regularizers/batch_norm.py
  class FakeBatchNorm (line 6) | class FakeBatchNorm(nn.Module):
    method __init__ (line 7) | def __init__(self, resnet_function, normalizer: Normalizer):
    method forward (line 13) | def forward(self, x: torch.tensor) -> torch.tensor:

FILE: loss/regularizers/image.py
  class TotalVariation (line 8) | class TotalVariation(nn.Module):
    method __init__ (line 9) | def __init__(self, p: int = 2):
    method forward (line 13) | def forward(self, x: torch.tensor) -> torch.tensor:
  class NormalVariation (line 22) | class NormalVariation(TotalVariation):
    method forward (line 23) | def forward(self, x: torch.tensor, per_sample: bool = True) -> torch.t...
  class ColorVariation (line 29) | class ColorVariation(TotalVariation):
    method forward (line 30) | def forward(self, x: torch.tensor) -> torch.tensor:
  class L1Norm (line 35) | class L1Norm(nn.Module):
    method forward (line 36) | def forward(self, x: torch.tensor) -> torch.tensor:
  class L2Norm (line 40) | class L2Norm(nn.Module):
    method forward (line 41) | def forward(self, x: torch.tensor) -> torch.tensor:
  class FakeColorDistribution (line 45) | class FakeColorDistribution(nn.Module):
    method __init__ (line 46) | def __init__(self, normalizer: Normalizer):
    method forward (line 50) | def forward(self, x: torch.tensor) -> torch.tensor:

FILE: model/augmented.py
  class AugmentedModel (line 5) | class AugmentedModel(nn.Module):
    method __init__ (line 6) | def __init__(self, classifier: nn.Module, augmentations: nn.Module = N...
    method forward (line 11) | def forward(self, *inputs: [torch.Tensor]) -> [torch.Tensor]:
  class BNModel (line 16) | class BNModel(nn.Module):
    method __init__ (line 17) | def __init__(self, conv: nn.Module, bn: nn.Module):
    method forward (line 22) | def forward(self, x: torch.tensor):

FILE: model/library/base.py
  class InvertModel (line 8) | class InvertModel(ItemIterator):
    method iterator_item (line 12) | def iterator_item(self):
    method __init__ (line 15) | def __init__(self, name: str, constructor, constructor_args: dict, ima...
    method __call__ (line 22) | def __call__(self, normalize: bool = True, grad: bool = False) -> (tor...
  class TorchVisionModel (line 34) | class TorchVisionModel(InvertModel):
    method __init__ (line 35) | def __init__(self, constructor, batch_size: int):
  class ModelLibrary (line 43) | class ModelLibrary(ItemIterator):
    method iterator_item (line 45) | def iterator_item(self):
    method __init__ (line 48) | def __init__(self, other_models: list):
    method names (line 52) | def names(self) -> dict:
    method __str__ (line 55) | def __str__(self):
    method _fw_score (line 64) | def _fw_score(q: str, reference: str) -> int:
    method _amin_score (line 74) | def _amin_score(q: str, reference: str) -> float:
    method search (line 78) | def search(self, query: str, top_k=5):

FILE: model/library/cnns/alexnet.py
  class AlexNet (line 6) | class AlexNet(TorchVisionModel):

FILE: model/library/cnns/densenet.py
  class DensNet (line 6) | class DensNet(TorchVisionModel):

FILE: model/library/cnns/googlenet.py
  class GoogleNet (line 6) | class GoogleNet(TorchVisionModel):

FILE: model/library/cnns/inception.py
  class Inception (line 6) | class Inception(TorchVisionModel):

FILE: model/library/cnns/mnasnet.py
  class MNasNet (line 6) | class MNasNet(TorchVisionModel):

FILE: model/library/cnns/mobilenet.py
  class MobileNet (line 6) | class MobileNet(TorchVisionModel):

FILE: model/library/cnns/resnet.py
  class ResNet (line 7) | class ResNet(TorchVisionModel):

FILE: model/library/cnns/robust.py
  function robust_resnet50 (line 9) | def robust_resnet50():
  class RobustResNet50 (line 17) | class RobustResNet50(InvertModel):
    method __init__ (line 18) | def __init__(self, constructor, batch_size: int):

FILE: model/library/cnns/shufflenet.py
  class ShuffleNet (line 6) | class ShuffleNet(TorchVisionModel):

FILE: model/library/cnns/squeezenet.py
  class SqueezeNet (line 6) | class SqueezeNet(TorchVisionModel):

FILE: model/library/cnns/vggs.py
  class VGG (line 6) | class VGG(TorchVisionModel):

FILE: model/library/transformers/base.py
  class TransformerModel (line 9) | class TransformerModel(InvertModel):
    method __call__ (line 12) | def __call__(self, normalize: bool = True, grad: bool = False):
  class TimmModel (line 19) | class TimmModel(TransformerModel):
    method get_size_based_on_name (line 22) | def get_size_based_on_name(self, name: str) -> int:
    method __init__ (line 25) | def __init__(self, o: int, batch_size: int):

FILE: model/library/transformers/clip.py
  class ClipWrapper (line 10) | class ClipWrapper(nn.Module):
    method __init__ (line 11) | def __init__(self, clip):
    method forward (line 15) | def forward(self, x: torch.tensor) -> torch.tensor:
  class CLIP (line 19) | class CLIP(TransformerModel):
    method __init__ (line 20) | def __init__(self, o: int, batch_size: int):

FILE: model/library/transformers/coat.py
  class CoaT (line 5) | class CoaT(TimmModel):

FILE: model/library/transformers/convit.py
  class ConViT (line 5) | class ConViT(TimmModel):

FILE: model/library/transformers/deit.py
  class DeiT (line 8) | class DeiT(TransformerModel):
    method __init__ (line 9) | def __init__(self, o: int, batch_size: int):

FILE: model/library/transformers/levit.py
  class LeViT (line 5) | class LeViT(TimmModel):
    method get_size_based_on_name (line 7) | def get_size_based_on_name(self, name:str) -> int:

FILE: model/library/transformers/mixer.py
  class Mixer (line 5) | class Mixer(TimmModel):

FILE: model/library/transformers/pit.py
  class PiT (line 5) | class PiT(TimmModel):

FILE: model/library/transformers/resmpl.py
  class ResMLP (line 5) | class ResMLP(TimmModel):

FILE: model/library/transformers/swin.py
  class Swin (line 5) | class Swin(TimmModel):

FILE: model/library/transformers/twin.py
  class Twin (line 5) | class Twin(TimmModel):

FILE: model/library/transformers/vit.py
  class ViT (line 9) | class ViT(TransformerModel):
    method __init__ (line 10) | def __init__(self, o: int, batch_size: int):

FILE: model/utils.py
  function default_bn (line 9) | def default_bn():

FILE: saliency_tools/guided.py
  class GuidedBackProp (line 4) | class GuidedBackProp:
    method __init__ (line 9) | def __init__(self, model):
    method update_relus (line 16) | def update_relus(self):
  function generate_gradients (line 50) | def generate_gradients(self, input_image, target_class):

FILE: saliency_tools/vanilla.py
  class VanillaBackProp (line 5) | class VanillaBackProp:
    method __init__ (line 10) | def __init__(self, model):
    method generate_gradients (line 14) | def generate_gradients(self, input_image, target_class):

FILE: saver/base.py
  class AbstractSaver (line 10) | class AbstractSaver:
    method __init__ (line 11) | def __init__(self, extension: str, folder: str = None, save_id: bool =...
    method _get_mkdir_path (line 18) | def _get_mkdir_path(self, *path):
    method save (line 26) | def save(self, result: torch.Tensor, *path):
    method save_function (line 30) | def save_function(self, result: Any, path: str):
  class ImageSaver (line 34) | class ImageSaver(AbstractSaver):
    method save_function (line 35) | def save_function(self, result: Any, path: str):
    method get_nrow (line 40) | def get_nrow() -> torch.tensor:
    method __init__ (line 49) | def __init__(self, folder: str, save_id: bool = False):
  class TensorSaver (line 54) | class TensorSaver(AbstractSaver):
    method save_function (line 55) | def save_function(self, result: Any, path: str):
    method __init__ (line 58) | def __init__(self, folder: str, save_id: bool = False):
  class ExperimentSaver (line 62) | class ExperimentSaver(AbstractSaver):
    method save_function (line 63) | def save_function(self, result: Any, path: str):
    method save (line 66) | def save(self, result: torch.Tensor, *path):
    method __init__ (line 71) | def __init__(self, folder: str, save_id: bool = False, disk_saver: boo...

FILE: train_cifar100.py
  function get_cifar100_loaders (line 20) | def get_cifar100_loaders(batch_size=128, train=None):
  function main (line 34) | def main():

FILE: utils/bn.py
  class Accumulator (line 7) | class Accumulator:
    method __init__ (line 8) | def __init__(self):
    method __add__ (line 11) | def __add__(self, other):
    method value (line 17) | def value(self) -> np.ndarray:
    method save (line 21) | def save(self, name: str):
  function get_len (line 25) | def get_len(model: torch.nn.Module):
  function get_mean (line 30) | def get_mean(model: torch.nn.Module) -> np.ndarray:
  function get_var (line 34) | def get_var(model: torch.nn.Module) -> np.ndarray:
  function get_stat_params (line 38) | def get_stat_params(model: torch.nn.Module, get_all: bool = False) -> Li...
  function get_error (line 50) | def get_error(first: np.ndarray, other: np.ndarray) -> float:
  function replace_bn (line 56) | def replace_bn(model: torch.nn.Module, mean: np.ndarray, var: np.ndarray...
  function replace_bn_with_multiplicative_inverse (line 67) | def replace_bn_with_multiplicative_inverse(model: torch.nn.Module):
  function random_model (line 74) | def random_model(model: torch.nn.Module):
  function shirt_on_model (line 82) | def shirt_on_model(model: torch.nn.Module, mean, var):
  function get_var_params (line 93) | def get_var_params(model: torch.nn.Module) -> torch.Tensor:

FILE: utils/classification.py
  function get_acc (line 10) | def get_acc(output: torch.Tensor, y: torch.Tensor) -> (float, int):
  function get_acc5 (line 16) | def get_acc5(output: torch.Tensor, y: torch.Tensor) -> (float, int):
  function print_acc_stats (line 23) | def print_acc_stats(pred: np.ndarray, y: np.ndarray):
  function get_confusion (line 35) | def get_confusion(e_pred: np.ndarray, e_label: np.ndarray) -> np.ndarray:
  function tqdm_stat (line 44) | def tqdm_stat(tqdm_obj: tqdm, template: str, values: List[Any]):

FILE: utils/device.py
  function to_device (line 6) | def to_device(x: Union[Tensor, nn.Module, list, tuple, dict], device: st...
  function to_cuda (line 21) | def to_cuda(x: Union[Tensor, list, tuple, dict, nn.Module]) -> \

FILE: utils/experiment.py
  function _load (line 10) | def _load(file_address: str) -> int:
  function _save (line 21) | def _save(file_address: str, cur: int):
  function get_exp_no (line 26) | def get_exp_no() -> int:
  function _two_digits (line 33) | def _two_digits(cur: str) -> str:
  function _time (line 37) | def _time():
  function _get_exp_name (line 43) | def _get_exp_name() -> str:
  function _fancy_print (line 56) | def _fancy_print():
  function _fix_random_seed (line 60) | def _fix_random_seed(seed: int = 6247423):
  function exp_starter_pack (line 70) | def exp_starter_pack() -> (str, Namespace, dict):

FILE: utils/iterators.py
  class ItemIterator (line 1) | class ItemIterator:
    method iterator_item (line 3) | def iterator_item(self):
    method __iter__ (line 6) | def __iter__(self):
    method __getitem__ (line 9) | def __getitem__(self, item):
    method __len__ (line 12) | def __len__(self):

FILE: utils/jasper/metrics.py
  function __levenshtein (line 4) | def __levenshtein(a: List, b: List) -> int:
  function word_error_rate (line 26) | def word_error_rate(hypotheses: List[str], references: List[str]) -> (fl...

FILE: utils/jasper/translator.py
  class Translator (line 7) | class Translator:
    method __init__ (line 8) | def __init__(self, converter: Manifest):
    method __call__ (line 12) | def __call__(self, prediction: torch.Tensor, length: torch.Tensor) -> ...

FILE: utils/jasper_iterator.py
  function layer_range (line 6) | def layer_range(stop=-1):
  function feature_range (line 13) | def feature_range(layer: int, stop=-1):

FILE: utils/log.py
  function _convert_form (line 4) | def _convert_form(f):
  function j_print (line 11) | def j_print(*args, file=None):
  function j_header (line 16) | def j_header(*args, file=None):

FILE: utils/pickle.py
  function load_pickle (line 4) | def load_pickle(file_name: str) -> list:

FILE: utils/regularizers.py
  function get_tv (line 4) | def get_tv(t: torch.Tensor) -> torch.Tensor:
  function get_shadow_tv (line 13) | def get_shadow_tv(t: torch.Tensor) -> torch.Tensor:

FILE: utils/statistics.py
  class Meter (line 1) | class Meter:
    method __init__ (line 2) | def __init__(self):
    method reset (line 6) | def reset(self):
    method __add__ (line 9) | def __add__(self, other: (float, float)):
    method value (line 15) | def value(self) -> float:

FILE: utils/training.py
  function save_model (line 5) | def save_model(model: torch.nn.Module, exp_name: str, epoch: int, root: ...
  function load_model (line 12) | def load_model(model: torch.nn.Module, checkpoint: str, root='checkpoint...

FILE: visualize.py
  function visualize_feature (line 16) | def visualize_feature(layer, feature):
Copy disabled (too large) Download .json
Condensed preview — 300 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (32,358K chars).
[
  {
    "path": ".gitignore",
    "chars": 15,
    "preview": "desktop/\n.idea\n"
  },
  {
    "path": "README.md",
    "chars": 1820,
    "preview": "## What do Vision Transformers Learn? A Visual Exploration\n\n![Visualizations](readme_images/1.png)\n\n### ViT Models:\n\nTo "
  },
  {
    "path": "app.py",
    "chars": 283,
    "preview": "import gradio as gr\n\nfrom visualize import visualize_feature\n\niface = gr.Interface(fn=visualize_feature,\n               "
  },
  {
    "path": "args.py",
    "chars": 2863,
    "preview": "import argparse\nimport os\nimport sys\nfrom typing import Any\n\nimport toml\n\n\ndef str2bool(v):\n    if isinstance(v, bool):\n"
  },
  {
    "path": "augmentation/__init__.py",
    "chars": 134,
    "preview": "from .post import Clip, L2Clip, LInfClip\nfrom .pre import Jitter, Flip, Centering, ColorJitter, RepeatBatch, Zoom, Color"
  },
  {
    "path": "augmentation/post.py",
    "chars": 1412,
    "preview": "import torch\nfrom torch import nn as nn\n\n\nclass ClipSTD(nn.Module):\n    @torch.no_grad()\n    def forward(self, x: torch."
  },
  {
    "path": "augmentation/pre.py",
    "chars": 4504,
    "preview": "from torch import nn as nn\nimport torch\nimport random\n\n\nclass Gray4D(nn.Module):\n    def __init__(self, n_channels: int "
  },
  {
    "path": "cam/__init__.py",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "cam/activation_helper.py",
    "chars": 1076,
    "preview": "import pdb\nfrom torch import nn\n\nimport torch\n\n\nclass ActivationHelper:\n    def __init__(self, how_many_patches: int):\n "
  },
  {
    "path": "cam/base.py",
    "chars": 3056,
    "preview": "import pdb\n\nimport torch\nfrom typing import Union\n\nfrom cam.activation_helper import ActivationHelper\nfrom .model import"
  },
  {
    "path": "cam/model.py",
    "chars": 1032,
    "preview": "from hooks.transformer.vit import ViTAttHookHolder\nimport torch\nimport numpy as np\n\n\n@torch.no_grad()\ndef project_back(a"
  },
  {
    "path": "datasets/__init__.py",
    "chars": 398,
    "preview": "from .cifar import cifar10, cifar100\nfrom .imagenet import image_net\nfrom .normalizer import Normalizer\nfrom .vit_imagen"
  },
  {
    "path": "datasets/base.py",
    "chars": 388,
    "preview": "from torchvision.datasets import VisionDataset\n\nfrom datasets.normalizer import Normalizer\n\n\nclass EasyDataset:\n    def "
  },
  {
    "path": "datasets/cifar.py",
    "chars": 1256,
    "preview": "import torchvision\nfrom typing import List, Any\nfrom torchvision import transforms as trans\nfrom torchvision.datasets im"
  },
  {
    "path": "datasets/imagenet.py",
    "chars": 1098,
    "preview": "from torchvision.datasets import VisionDataset\n\nfrom datasets.base import EasyDataset\nfrom torchvision import transforms"
  },
  {
    "path": "datasets/imagenet_boxes.py",
    "chars": 2218,
    "preview": "from torch.utils import model_zoo\nfrom torchvision.datasets import ImageFolder\nimport torch\nfrom torchvision.transforms "
  },
  {
    "path": "datasets/inits.py",
    "chars": 714,
    "preview": "import os\nimport torch\nimport torchvision.transforms\nfrom torch.utils.data import Dataset\nfrom torchvision.datasets.fold"
  },
  {
    "path": "datasets/normalizer.py",
    "chars": 579,
    "preview": "import torch\nimport torch.nn as nn\n\n\nclass Normalizer(nn.Module):\n    def __init__(self, mean, std):\n        super().__i"
  },
  {
    "path": "datasets/vit_imagenet.py",
    "chars": 1156,
    "preview": "from torchvision.datasets import VisionDataset\n\nfrom datasets.base import EasyDataset\nfrom torchvision import transforms"
  },
  {
    "path": "experiments/it0/README.md",
    "chars": 138,
    "preview": "# It 0 \n\nTask done: \n* [x] We have a working version to find out for `ResNet18` what is the `lambda_tv`. \n* [x] Result: "
  },
  {
    "path": "experiments/it0/grid_tv.sh",
    "chars": 8509,
    "preview": "python resnet18example.py -n 12 -l 0 -f 0 -g 0.0001\npython resnet18example.py -n 12 -l 0 -f 0 -g 0.001\npython resnet18ex"
  },
  {
    "path": "experiments/it0/make.sh",
    "chars": 169,
    "preview": "#!/bin/bash\nfor l in `seq 0 20`; do\n  for g in 0.0001 0.001 0.01 0.1 1.0 10. 100. 1000. ; do\n    echo \"python resnet18ex"
  },
  {
    "path": "experiments/it0/resnet18example.py",
    "chars": 1558,
    "preview": "from torchvision.models import resnet18\n\nfrom augmentation import Clip, Jitter, Centering, RepeatBatch, Zoom, ColorJitte"
  },
  {
    "path": "experiments/it1/README.md",
    "chars": 63,
    "preview": "# It 0 \n\nTask done: \n* [ ] Figure out `lambda_fake_bn = 0.01` \n"
  },
  {
    "path": "experiments/it1/bn.py",
    "chars": 1552,
    "preview": "from torchvision.models import resnet18\n\nfrom augmentation import Clip, Jitter, Centering, RepeatBatch, Zoom, ColorJitte"
  },
  {
    "path": "experiments/it1/gridbn.sh",
    "chars": 6325,
    "preview": "python bn.py -n 12 -l 0 -f 0 -g 0.0001\npython bn.py -n 12 -l 0 -f 0 -g 0.001\npython bn.py -n 12 -l 0 -f 0 -g 0.01\npython"
  },
  {
    "path": "experiments/it1/make.sh",
    "chars": 156,
    "preview": "#!/bin/bash\nfor l in `seq 0 20`; do\n  for g in 0.0001 0.001 0.01 0.1 1.0 10. 100. 1000. ; do\n    echo \"python bn.py -n 1"
  },
  {
    "path": "experiments/it10/conclusion.md",
    "chars": 127,
    "preview": "### Results\n\nI figured out for clip, we should look into both really huge amount tv=100.0 and tv=1.0\nFor lr=1.0 always i"
  },
  {
    "path": "experiments/it10/make.sh",
    "chars": 197,
    "preview": "#!/bin/bash\nfor l in $(seq 2 3 11) ; do\n  for lr in 10.0 1.0 0.1 0.01 ; do\n      for g in 100. 10. 1. 0.1 0.01 ; do\n    "
  },
  {
    "path": "experiments/it10/make2.sh",
    "chars": 158,
    "preview": "#!/bin/bash\nlr=1.0\nfor l in $(seq 1 2 11) ; do\n  for g in 100. 30. 10. 3.0 1. 0.3 0.1; do\n    echo \"python param_tune.py"
  },
  {
    "path": "experiments/it10/make3.sh",
    "chars": 161,
    "preview": "#!/bin/bash\nlr=1.0\nfor l in $(seq 0 11) ; do\n  for g in 100. 30. 10. 3.0 1. 0.3 0.1; do\n    echo \"python param_tune.py -"
  },
  {
    "path": "experiments/it10/param_tune.py",
    "chars": 1467,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it10/t_grid2.sh",
    "chars": 1687,
    "preview": "python param_tune.py -l 1 -g 100. -r 1.0\npython param_tune.py -l 1 -g 30. -r 1.0\npython param_tune.py -l 1 -g 10. -r 1.0"
  },
  {
    "path": "experiments/it10/t_grid3.sh",
    "chars": 3794,
    "preview": "python param_tune.py -l 0 -g 100. -r 1.0 -f 1\npython param_tune.py -l 0 -g 30. -r 1.0 -f 1\npython param_tune.py -l 0 -g "
  },
  {
    "path": "experiments/it10/t_hype_tune.sh",
    "chars": 3276,
    "preview": "python param_tune.py -l 2 -g 100. -r 10.0\npython param_tune.py -l 2 -g 10. -r 10.0\npython param_tune.py -l 2 -g 1. -r 10"
  },
  {
    "path": "experiments/it11/all_clip.sh",
    "chars": 8124138,
    "preview": "echo \"Launching 4xjobs : 0\"\nCUDA_VISIBLE_DEVICES=0 python vis_clip.py -l 0 -v 30.0 -f 0 >> t_every_clip.sh.txt &\np0=$!\nC"
  },
  {
    "path": "experiments/it11/all_fast_clip.sh",
    "chars": 7136,
    "preview": "python vis_clip.py -l 0 -v 100.0 -f 0\npython vis_clip.py -l 0 -v 1.0 -f 0\npython vis_clip.py -l 1 -v 100.0 -f 0\npython v"
  },
  {
    "path": "experiments/it11/classes.js",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "experiments/it11/clip_best_eval.py",
    "chars": 1242,
    "preview": "from torch.utils.data import DataLoader\nfrom datasets import weird_image_net, image_net\nfrom hooks.transformer.vit impor"
  },
  {
    "path": "experiments/it11/clip_mask.py",
    "chars": 1632,
    "preview": "import os\nimport pdb\n\nimport torchvision.utils\nfrom torch.utils.data import DataLoader\nfrom datasets import weird_image_"
  },
  {
    "path": "experiments/it11/costum_imagenet.py",
    "chars": 2180,
    "preview": "from torch.utils import model_zoo\nfrom torchvision.datasets import ImageFolder\nimport torch\nfrom torchvision.transforms "
  },
  {
    "path": "experiments/it11/get_indices.py",
    "chars": 428,
    "preview": "from torchvision.datasets import ImageFolder\nimport torch\n\n\ndef main():\n    dataset = ImageFolder(root='./data/imagenet/"
  },
  {
    "path": "experiments/it11/im1knames.txt",
    "chars": 9999,
    "preview": "n01440764\nn01443537\nn01484850\nn01491361\nn01494475\nn01496331\nn01498041\nn01514668\nn01514859\nn01518878\nn01530575\nn01531178\n"
  },
  {
    "path": "experiments/it11/make.sh",
    "chars": 168,
    "preview": "#!/bin/bash\nfor f in $(seq 0 7) ; do\n  for l in $(seq 0 11) ; do\n    for v in 100.0 1.0; do\n      echo \"python vis_clip."
  },
  {
    "path": "experiments/it11/make2.sh",
    "chars": 170,
    "preview": "#!/bin/bash\nfor f in $(seq 0 3072) ; do\n  for l in $(seq 0 11) ; do\n    for v in 30.0 1.0; do\n      echo \"python vis_cli"
  },
  {
    "path": "experiments/it11/read_xml.py",
    "chars": 1489,
    "preview": "import pdb\nimport torch \nfrom tqdm import tqdm\nimport xmltodict\nimport os\n\n\ndef translate_obj(cls: str, obj) -> list:\n  "
  },
  {
    "path": "experiments/it11/t_every_clip.sh",
    "chars": 2898856,
    "preview": "python vis_clip.py -l 0 -v 30.0 -f 0\npython vis_clip.py -l 0 -v 1.0 -f 0\npython vis_clip.py -l 1 -v 30.0 -f 0\npython vis"
  },
  {
    "path": "experiments/it11/t_every_clip.sh.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "experiments/it11/test.xml",
    "chars": 488,
    "preview": "<annotation>\n\t<folder>n00007846</folder>\n\t<filename>n00007846_103856</filename>\n\t<source>\n\t\t<database>ImageNet database<"
  },
  {
    "path": "experiments/it11/test_dataset.py",
    "chars": 502,
    "preview": "import pdb\n\nfrom torch.utils.data import DataLoader\nfrom datasets import weird_image_net, image_net\nfrom hooks.transform"
  },
  {
    "path": "experiments/it11/test_foreground.py",
    "chars": 876,
    "preview": "import torchvision.utils\nimport torch\nimport torchvision.transforms as trans\n\nfrom costum_imagenet import BackgroundFore"
  },
  {
    "path": "experiments/it11/vis_clip.py",
    "chars": 1440,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it12/all_lr.sh",
    "chars": 7982,
    "preview": "echo \"Launching 4xjobs : 0\"\nCUDA_VISIBLE_DEVICES=0 python lr_rate.py -l 2 -g 10. -r 0.01 >> t_lr.sh.txt &\np0=$!\nCUDA_VIS"
  },
  {
    "path": "experiments/it12/all_vis38.sh",
    "chars": 2169621,
    "preview": "echo \"Launching 4xjobs : 0\"\nCUDA_VISIBLE_DEVICES=0 python vis38.py -l 0 -f 0 -v 1. >> t_vis38.sh.txt &\np0=$!\nCUDA_VISIBL"
  },
  {
    "path": "experiments/it12/lr_rate.py",
    "chars": 1569,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it12/make.sh",
    "chars": 187,
    "preview": "#!/bin/bash\nfor l in $(seq 2 3 11); do\n  for r in 0.01 0.03 0.1 0.3 1.0 ; do\n    for g in 10. 1. 0.1 0.01 ; do\n      ech"
  },
  {
    "path": "experiments/it12/make2.sh",
    "chars": 166,
    "preview": "#!/bin/bash\nfor f in $(seq 0 3071); do\n  for l in $(seq 0 11); do\n    for v in 1. 10.0 ; do\n      echo \"python vis38.py "
  },
  {
    "path": "experiments/it12/t_lr.sh",
    "chars": 3012,
    "preview": "python lr_rate.py -l 2 -g 10. -r 0.01\npython lr_rate.py -l 2 -g 1. -r 0.01\npython lr_rate.py -l 2 -g 0.1 -r 0.01\npython "
  },
  {
    "path": "experiments/it12/t_lr.sh.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "experiments/it12/t_vis38.sh",
    "chars": 2639856,
    "preview": "python vis38.py -l 0 -f 0 -v 1.\npython vis38.py -l 0 -f 0 -v 10.0\npython vis38.py -l 1 -f 0 -v 1.\npython vis38.py -l 1 -"
  },
  {
    "path": "experiments/it12/t_vis38.sh.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "experiments/it12/vis38.py",
    "chars": 1417,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it13/FBAcc.txt",
    "chars": 2519,
    "preview": "ViT0_B_16_imagenet1k x: 95.04950495049505 \t 0.1661079342367236\t b: 9.900990099009901 \t 5.543836252671658 \t f: 91.0891089"
  },
  {
    "path": "experiments/it13/b1.sh",
    "chars": 352,
    "preview": "echo \"Launching 4xjobs : 0\"\nCUDA_VISIBLE_DEVICES=0 python fore_back.py -n 34 >> run1.sh.txt &\np0=$!\nCUDA_VISIBLE_DEVICES"
  },
  {
    "path": "experiments/it13/b2.sh",
    "chars": 350,
    "preview": "echo \"Launching 4xjobs : 0\"\nCUDA_VISIBLE_DEVICES=0 python fore_back.py -n 16 >> run2.sh.txt &\np0=$!\nCUDA_VISIBLE_DEVICES"
  },
  {
    "path": "experiments/it13/fore_back.py",
    "chars": 2321,
    "preview": "import torchvision.utils\nfrom torch.utils.data import DataLoader\nfrom torchvision.transforms import Compose\n\nfrom datase"
  },
  {
    "path": "experiments/it13/plot_rotate.py",
    "chars": 1954,
    "preview": "import math\nimport torchvision.utils\n\nfrom datasets import weird_image_net\nfrom hooks.transformer.vit import SimpleViTGe"
  },
  {
    "path": "experiments/it13/plot_shift.py",
    "chars": 1548,
    "preview": "import torchvision.utils\n\nfrom datasets import weird_image_net\nfrom hooks.transformer.vit import SimpleViTGeLUHook\nfrom "
  },
  {
    "path": "experiments/it13/rotate.py",
    "chars": 1878,
    "preview": "import torchvision.utils\n\nfrom datasets import weird_image_net\nfrom hooks.transformer.vit import SimpleViTGeLUHook\nfrom "
  },
  {
    "path": "experiments/it13/run1.sh",
    "chars": 104,
    "preview": "python fore_back.py -n 34\npython fore_back.py -n 35\npython fore_back.py -n 36\npython fore_back.py -n 37\n"
  },
  {
    "path": "experiments/it13/run1.sh.txt",
    "chars": 3742,
    "preview": "Trying to load config file configs/fore_back.toml but it doesnt exist\n{'toml': 'configs/fore_back.toml', 'experiment': N"
  },
  {
    "path": "experiments/it13/run2.sh",
    "chars": 102,
    "preview": "python fore_back.py -n 16\npython fore_back.py -n 14\npython fore_back.py -n 7\npython fore_back.py -n 1\n"
  },
  {
    "path": "experiments/it13/run2.sh.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "experiments/it13/runner/__init__.py",
    "chars": 180,
    "preview": "from runner.general_runner import Trainer, Evaluator\n# from runner.adversarial import LInfPGDAttacker\nfrom runner.free i"
  },
  {
    "path": "experiments/it13/runner/adversarial.py",
    "chars": 721,
    "preview": "import torch\nimport torch.nn as nn\n# from advertorch.attacks import LinfPGDAttack\n\n\nclass Modifier:\n    def __call__(sel"
  },
  {
    "path": "experiments/it13/runner/correct.py",
    "chars": 2678,
    "preview": "import torch\nimport torch.nn as nn\nfrom torch.optim.optimizer import Optimizer\nfrom torch.utils.data import DataLoader\n\n"
  },
  {
    "path": "experiments/it13/runner/free.py",
    "chars": 2205,
    "preview": "import torch\nimport torch.nn as nn\nfrom torch.optim.optimizer import Optimizer\nfrom torch.utils.data import DataLoader\n\n"
  },
  {
    "path": "experiments/it13/runner/general_runner.py",
    "chars": 2548,
    "preview": "import torch\nimport torch.nn as nn\nfrom torch.optim.optimizer import Optimizer\nfrom torch.utils.data import DataLoader\n\n"
  },
  {
    "path": "experiments/it13/runner/status.py",
    "chars": 1209,
    "preview": "from torch.utils.data import DataLoader\nfrom tqdm import tqdm\n\n\nclass ItemIterator:\n    @property\n    def iterator_item("
  },
  {
    "path": "experiments/it13/shift.py",
    "chars": 2017,
    "preview": "import torchvision.utils\n\nfrom datasets import weird_image_net\nfrom hooks.transformer.vit import SimpleViTGeLUHook\nfrom "
  },
  {
    "path": "experiments/it13/t_lr.sh.txt",
    "chars": 133310,
    "preview": "Trying to load config file configs/lr_rate.toml but it doesnt exist\n{'toml': 'configs/lr_rate.toml', 'experiment': None,"
  },
  {
    "path": "experiments/it13/t_vis38.sh.txt",
    "chars": 7078593,
    "preview": "Trying to load config file configs/vis38.toml but it doesnt exist\n{'toml': 'configs/vis38.toml', 'experiment': None, 'la"
  },
  {
    "path": "experiments/it14/Acc.txt",
    "chars": 678,
    "preview": "ViT1_B_32_imagenet1k AVG(Patches-CLS)_35: \t80.87399291992188 \t 95.80199432373047 \t 0.8017218176603317\nViT1_B_32_imagenet"
  },
  {
    "path": "experiments/it14/cls.sh",
    "chars": 283,
    "preview": "python every_and_cls.py -n 34\npython every_except_cls_accuracy.py -n 34\npython layer_accuracy.py -n 34\npython random_pat"
  },
  {
    "path": "experiments/it14/conclusion.md",
    "chars": 140,
    "preview": "# Conclusion \n* CLS does not matter\n* For 35 LR=0.1 and TV = 0.1 and 1.0 are important \n* For 98 LR=0.1 and Tv = 0.1 and"
  },
  {
    "path": "experiments/it14/every_and_cls.py",
    "chars": 3668,
    "preview": "import pdb\nfrom typing import Union\n\nimport torchvision\nfrom torch.utils.data import DataLoader\nfrom torchvision.dataset"
  },
  {
    "path": "experiments/it14/every_except_cls_accuracy.py",
    "chars": 3668,
    "preview": "import pdb\nfrom typing import Union\n\nimport torchvision\nfrom torch.utils.data import DataLoader\nfrom torchvision.dataset"
  },
  {
    "path": "experiments/it14/grid_lr.sh",
    "chars": 2092,
    "preview": "python lr_rate.py -l 2 -v 10. -r 0.01 -n 35\npython lr_rate.py -l 2 -v 1. -r 0.01 -n 35\npython lr_rate.py -l 2 -v 0.1 -r "
  },
  {
    "path": "experiments/it14/grid_lr_clip.sh",
    "chars": 3516,
    "preview": "python lr_clip.py -l 2 -g 100. -r 10.0 -n 98\npython lr_clip.py -l 2 -g 10. -r 10.0 -n 98\npython lr_clip.py -l 2 -g 1. -r"
  },
  {
    "path": "experiments/it14/layer_accuracy.py",
    "chars": 3613,
    "preview": "import pdb\nfrom typing import Union\n\nimport torchvision\nfrom torch.utils.data import DataLoader\nfrom torchvision.dataset"
  },
  {
    "path": "experiments/it14/lr_clip.py",
    "chars": 1477,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it14/lr_rate.py",
    "chars": 1576,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it14/make_lr.sh",
    "chars": 186,
    "preview": "#!/bin/bash\nfor l in $(seq 2 3 11); do\n  for r in 0.01  0.1  1.0 ; do\n    for v in 10. 1. 0.1 0.01 ; do\n      echo \"pyth"
  },
  {
    "path": "experiments/it14/make_lr_clip.sh",
    "chars": 196,
    "preview": "#!/bin/bash\nfor l in $(seq 2 3 11) ; do\n  for lr in 10.0 1.0 0.1 0.01 ; do\n    for g in 100. 10. 1. 0.1 0.01 ; do\n      "
  },
  {
    "path": "experiments/it14/random_patch_accuracy.py",
    "chars": 3645,
    "preview": "import pdb\nfrom typing import Union\n\nimport torchvision\nfrom torch.utils.data import DataLoader\nfrom torchvision.dataset"
  },
  {
    "path": "experiments/it15/B32.sh",
    "chars": 17728,
    "preview": "python vis35.py -l 0 -f 0 -v 0.1 -r 0.1 -n 35\npython vis98.py -l 0 -f 0 -v 0.1 -r 0.1 -n 98\npython vis35.py -l 0 -f 0 -v"
  },
  {
    "path": "experiments/it15/all_b32.sh",
    "chars": 1398886,
    "preview": "echo \"Launching 4xjobs : 0\"\nCUDA_VISIBLE_DEVICES=0 python vis35.py -l 0 -f 0 -v 0.1 -r 0.1 -n 35 >> t_large.sh.txt &\np0="
  },
  {
    "path": "experiments/it15/make_large.sh",
    "chars": 244,
    "preview": "#!/bin/bash\nfor f in $(seq 0 256); do\n  for l in $(seq 0 11); do\n    for v in 0.1 1.0 ; do\n      echo \"python vis35.py -"
  },
  {
    "path": "experiments/it15/make_small.sh",
    "chars": 242,
    "preview": "#!/bin/bash\nfor f in $(seq 0 7); do\n  for l in $(seq 0 11); do\n    for v in 0.1 1.0 ; do\n      echo \"python vis35.py -l "
  },
  {
    "path": "experiments/it15/t_large.sh",
    "chars": 588904,
    "preview": "python vis35.py -l 0 -f 0 -v 0.1 -r 0.1 -n 35\npython vis98.py -l 0 -f 0 -v 0.1 -r 0.1 -n 98\npython vis35.py -l 0 -f 0 -v"
  },
  {
    "path": "experiments/it15/t_large.sh.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "experiments/it15/vis35.py",
    "chars": 1478,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it15/vis98.py",
    "chars": 1450,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it16/Acc.txt",
    "chars": 2303,
    "preview": "ViT1_B_32_imagenet1k TEAR_35_0: \t0.09999999403953552 \t 0.5 \t 9.459205865716934\nViT1_B_32_imagenet1k TEAR_35_1: \t0.099999"
  },
  {
    "path": "experiments/it16/ac2.txt",
    "chars": 2173,
    "preview": "ViT0_B_16_imagenet1k\tTEAR_34_0:\t0.09999999403953552\t0.5\t7.278881196079254\nViT0_B_16_imagenet1k\tTEAR_34_10:\t36.8479995727"
  },
  {
    "path": "experiments/it16/all_best.sh",
    "chars": 336,
    "preview": "echo \"Launching 4xjobs : 0\"\nCUDA_VISIBLE_DEVICES=0 python best35.py -g 1 >> best.sh.txt &\np0=$!\nCUDA_VISIBLE_DEVICES=1 p"
  },
  {
    "path": "experiments/it16/all_layers.sh",
    "chars": 942,
    "preview": "python layer_accuracy.py -l 0 -n 34\npython layer_accuracy.py -l 0 -n 35\npython layer_accuracy.py -l 1 -n 34\npython layer"
  },
  {
    "path": "experiments/it16/best.sh",
    "chars": 88,
    "preview": "python best35.py -g 1\npython best35.py -g 0\npython best98.py -g 1\npython best98.py -g 0\n"
  },
  {
    "path": "experiments/it16/best.sh.txt",
    "chars": 26438,
    "preview": "Trying to load config file configs/best35.toml but it doesnt exist\n{'toml': 'configs/best35.toml', 'experiment': None, '"
  },
  {
    "path": "experiments/it16/best35.py",
    "chars": 1181,
    "preview": "from torch.utils.data import DataLoader\nfrom datasets import weird_image_net\nfrom hooks.transformer.vit import SimpleViT"
  },
  {
    "path": "experiments/it16/best98.py",
    "chars": 1223,
    "preview": "from torch.utils.data import DataLoader\nfrom datasets import weird_image_net, image_net\nfrom hooks.transformer.vit impor"
  },
  {
    "path": "experiments/it16/layer_accuracy.py",
    "chars": 4076,
    "preview": "import pdb\nfrom typing import Union\n\nimport torchvision\nfrom torch.utils.data import DataLoader\nfrom torchvision.dataset"
  },
  {
    "path": "experiments/it16/make_layers.sh",
    "chars": 122,
    "preview": "#!/bin/bash \nfor l in $(seq 0 12) ; do\n\tfor n in 34 35 ; do\n\t  echo \"python layer_accuracy.py -l ${l} -n ${n}\"\n\tdone\ndon"
  },
  {
    "path": "experiments/it16/make_reconst.sh",
    "chars": 143,
    "preview": "#!/bin/bash\nfor l in $(seq 0 11) ; do\n  echo \"python reconstruct.py -l ${l} -f 0 -n 34\"\n  echo \"python reconstruct.py -l"
  },
  {
    "path": "experiments/it16/mask35.py",
    "chars": 1447,
    "preview": "import os\nimport pdb\n\nimport torchvision.utils\nfrom torch.utils.data import DataLoader\nfrom datasets import weird_image_"
  },
  {
    "path": "experiments/it16/mask98.py",
    "chars": 1470,
    "preview": "import os\nimport pdb\n\nimport torchvision.utils\nfrom torch.utils.data import DataLoader\nfrom datasets import weird_image_"
  },
  {
    "path": "experiments/it16/reconstruct.py",
    "chars": 1638,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it16/short_rec.sh",
    "chars": 916,
    "preview": "python reconstruct.py -l 0 -f 0 -n 34\npython reconstruct.py -l 0 -f 0 -n 35\npython reconstruct.py -l 1 -f 0 -n 34\npython"
  },
  {
    "path": "experiments/it17/Acc.txt",
    "chars": 908,
    "preview": "ViT0_B_16_imagenet1k TEAR_34_1: \t83.72799682617188 \t 97.03399658203125 \t 0.609033542740508\nViT0_B_16_imagenet1k TEAR_34_"
  },
  {
    "path": "experiments/it17/clip16.row",
    "chars": 11604,
    "preview": "\\begin{figure*}[t]\\centering\\setlength\\tabcolsep{0pt}\\begin{tabularx}{\\linewidth}{YYYYYYYYYYYYYYY}\n& \\salayer{0}{17} & \\"
  },
  {
    "path": "experiments/it17/clip16.rows",
    "chars": 11903,
    "preview": "\\begin{figure*}[t]\\centering\\setlength\\tabcolsep{0pt}\\begin{tabularx}{\\linewidth}{YYYYYYYYYYYYYYY}\n& \\salayer{0}{17} & \\"
  },
  {
    "path": "experiments/it17/clip32.row",
    "chars": 5013,
    "preview": "\\begin{figure*}[t]\\centering\\setlength\\tabcolsep{0pt}\\begin{tabularx}{\\linewidth}{YYYYYYYYYYYYYYY}\n& \\salayer{5}{58} & \\"
  },
  {
    "path": "experiments/it17/clip32.txt",
    "chars": 5013,
    "preview": "\\begin{figure*}[t]\\centering\\setlength\\tabcolsep{0pt}\\begin{tabularx}{\\linewidth}{YYYYYYYYYYYYYYY}\n& \\salayer{5}{58} & \\"
  },
  {
    "path": "experiments/it17/cls.py",
    "chars": 4545,
    "preview": "import pdb\nfrom typing import Union\n\nimport torchvision\nfrom torch.utils.data import DataLoader\nfrom torchvision.dataset"
  },
  {
    "path": "experiments/it17/convert.py",
    "chars": 1810,
    "preview": "import pdb\nimport sys\nimport os\nimport argparse\n\nfrom tqdm import tqdm\nfrom PIL import Image\n\nparser = argparse.Argument"
  },
  {
    "path": "experiments/it17/main_cherry_clip.py",
    "chars": 7835,
    "preview": "import pdb\nfrom collections import defaultdict\n\nclip16 = [[17, 22, 7],\n          [33, 36, 8],\n          [0, 1, 4, 11, 22"
  },
  {
    "path": "experiments/it17/move35.sh",
    "chars": 38936,
    "preview": "mkdir -- vit32\nmkdir -- vit32/vis\nmkdir -- vit32/train\nmkdir -- vit32/train_mask\nmkdir -- vit32/eval\nmkdir -- vit32/eval"
  },
  {
    "path": "experiments/it17/move98.sh",
    "chars": 23324,
    "preview": "mkdir -- clip32\nmkdir -- clip32/vis\nmkdir -- clip32/train\nmkdir -- clip32/train_mask\nmkdir -- clip32/eval\nmkdir -- clip3"
  },
  {
    "path": "experiments/it17/run.sh",
    "chars": 328,
    "preview": "python cls.py -n 34 -l 0\npython cls.py -n 34 -l 1\npython cls.py -n 34 -l 2\npython cls.py -n 34 -l 3\npython cls.py -n 34 "
  },
  {
    "path": "experiments/it17/run.sh.txt",
    "chars": 88076,
    "preview": "Trying to load config file configs/cls.toml but it doesnt exist\n{'toml': 'configs/cls.toml', 'experiment': None, 'layer'"
  },
  {
    "path": "experiments/it17/vit16.row",
    "chars": 4633,
    "preview": "\\begin{figure*}[t]\\centering\\setlength\\tabcolsep{0pt}\\begin{tabularx}{\\linewidth}{YYYYYYYYYYYYYYY}\n& \\salayer{0}{29} & \\"
  },
  {
    "path": "experiments/it17/vit32.row",
    "chars": 9500,
    "preview": "\\begin{figure*}[t]\\centering\\setlength\\tabcolsep{0pt}\\begin{tabularx}{\\linewidth}{YYYYYYYYYYYYYYY}\n& \\salayer{5}{32} & \\"
  },
  {
    "path": "experiments/it17/vit32.rows",
    "chars": 9690,
    "preview": "\\begin{figure*}[t]\\centering\\setlength\\tabcolsep{0pt}\\begin{tabularx}{\\linewidth}{YYYYYYYYYYYYYYY}\n& \\salayer{5}{32} & \\"
  },
  {
    "path": "experiments/it18/best99.py",
    "chars": 1390,
    "preview": "import pdb\n\nfrom torch.utils.data import DataLoader\nfrom datasets import weird_image_net, image_net\nfrom hooks.transform"
  },
  {
    "path": "experiments/it18/fb_example.py",
    "chars": 1102,
    "preview": "import torchvision.utils\nfrom torch.utils.data import DataLoader\nfrom saver import ExperimentSaver\nfrom utils import exp"
  },
  {
    "path": "experiments/it18/mask.py",
    "chars": 1425,
    "preview": "import os\nimport pdb\n\nimport torchvision.utils\nfrom torch.utils.data import DataLoader\nfrom datasets import weird_image_"
  },
  {
    "path": "experiments/it2/README.md",
    "chars": 250,
    "preview": "# Here's what I concluded from these experiments\n\nThere might be a chance to penalized TV heavily and then rescale the f"
  },
  {
    "path": "experiments/it2/layered.py",
    "chars": 2103,
    "preview": "from torchvision.models import resnet18\nimport pdb\n\nfrom augmentation import Clip, Jitter, Centering, RepeatBatch, Zoom,"
  },
  {
    "path": "experiments/it2/layered2.py",
    "chars": 2009,
    "preview": "from torchvision.models import resnet18\nimport pdb\n\nfrom augmentation import Clip, Jitter, Centering, RepeatBatch, Zoom,"
  },
  {
    "path": "experiments/it2/layered3.py",
    "chars": 1543,
    "preview": "from augmentation import Clip\nimport pdb \nfrom augmentation.post import ClipSTD\nfrom augmentation.pre import Layered\nfro"
  },
  {
    "path": "experiments/it2/make.sh",
    "chars": 85,
    "preview": "#!/bin/bash\nfor l in $(seq 0 20); do\n    echo \"python bn.py -n 12 -l ${l} -f 0\"\ndone\n"
  },
  {
    "path": "experiments/it2/try.py",
    "chars": 357,
    "preview": "import pdb\n\nimport torchvision\nimport torch\nfrom torchvision.datasets.folder import default_loader\n\n\ndef main():\n    to_"
  },
  {
    "path": "experiments/it2/vis.py",
    "chars": 1878,
    "preview": "from torchvision.models import resnet18\n\nfrom augmentation import Clip, Jitter, Centering, RepeatBatch, Zoom, ColorJitte"
  },
  {
    "path": "experiments/it2/vis.sh",
    "chars": 620,
    "preview": "python bn.py -n 12 -l 0 -f 0\npython bn.py -n 12 -l 1 -f 0\npython bn.py -n 12 -l 2 -f 0\npython bn.py -n 12 -l 3 -f 0\npyth"
  },
  {
    "path": "experiments/it3/check_hooks_correctness.py",
    "chars": 1293,
    "preview": "import pdb\nimport pickle\n\nimport torch\nfrom torch.utils.data import DataLoader\nfrom tqdm import tqdm\n\nfrom hooks.transfo"
  },
  {
    "path": "experiments/it3/make_heap.py",
    "chars": 3246,
    "preview": "import pdb\nimport pickle\nimport numpy as np\n\nimport torch\nfrom torch.utils.data import DataLoader\nfrom tqdm import tqdm\n"
  },
  {
    "path": "experiments/it3/predict_checkpoint_size.py",
    "chars": 1109,
    "preview": "import torch\n\nfrom hooks.transformer.vit import ViTAttHookHolder\nfrom model import model_library\nfrom utils import exp_s"
  },
  {
    "path": "experiments/it3/vis.sh",
    "chars": 328,
    "preview": "python visualize.py -l 0\npython visualize.py -l 1\npython visualize.py -l 2\npython visualize.py -l 3\npython visualize.py "
  },
  {
    "path": "experiments/it4/debug.py",
    "chars": 1369,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter\nfrom hooks.transformer.vit import ViTAttHookHolder\nfrom inversi"
  },
  {
    "path": "experiments/it4/patches.sh",
    "chars": 29080,
    "preview": "python tile.py -l 0 -s -1 -m in_feat -n 34 -p 16\npython tile.py -l 0 -s -1 -m in_feat -n 34 -p 32\npython tile.py -l 0 -s"
  },
  {
    "path": "experiments/it4/patches2.sh",
    "chars": 14690,
    "preview": "python tile.py -l 0 -s -1 -m in_feat -n 34 -p 16\npython tile.py -l 0 -s -1 -m in_feat -n 34 -p 32\npython tile.py -l 0 -s"
  },
  {
    "path": "experiments/it4/tile.py",
    "chars": 1350,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter\nfrom hooks.transformer.vit import ViTAttHookHolder\nfrom inversi"
  },
  {
    "path": "experiments/it4/visualize.py",
    "chars": 3910,
    "preview": "import pdb\nimport pickle\nimport numpy as np\n\nimport torch\nfrom torch.utils.data import DataLoader\nfrom tqdm import tqdm\n"
  },
  {
    "path": "experiments/it5/best.py",
    "chars": 1690,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it5/make.sh",
    "chars": 170,
    "preview": "#!/bin/bash\nfor l in $(seq 0 11); do\n  for f in $(seq 0 5); do\n    for g in 10. 1. 0.1 0.01 ; do\n      echo \"python best"
  },
  {
    "path": "experiments/it5/make2.sh",
    "chars": 119,
    "preview": "#!/bin/bash\nfor l in $(seq 0 11); do\n  for f in $(seq 0 5); do\n    echo \"python stitch.py -l ${l} -f ${f}\"\n  done\ndone\n"
  },
  {
    "path": "experiments/it5/st.sh",
    "chars": 1956,
    "preview": "python stitch.py -l 0 -f 0\npython stitch.py -l 0 -f 1\npython stitch.py -l 0 -f 2\npython stitch.py -l 0 -f 3\npython stitc"
  },
  {
    "path": "experiments/it5/stitch.py",
    "chars": 1572,
    "preview": "from torch.utils.data import DataLoader\nfrom tqdm import tqdm\nfrom cam.base import Stitcher, SniperStitcher\nfrom cam.mod"
  },
  {
    "path": "experiments/it5/tv.sh",
    "chars": 9264,
    "preview": "python best.py -l 0 -f 0 -g 10.\npython best.py -l 0 -f 0 -g 1.\npython best.py -l 0 -f 0 -g 0.1\npython best.py -l 0 -f 0 "
  },
  {
    "path": "experiments/it6/ahead.sh",
    "chars": 4278,
    "preview": "python head.py -l 1 -f 0 -m in_feat\npython head.py -l 1 -f 0 -m keys\npython head.py -l 1 -f 0 -m queries\npython head.py "
  },
  {
    "path": "experiments/it6/ascore.sh",
    "chars": 1884,
    "preview": "python score.py -l 0 -f 0\npython score.py -l 0 -f 1\npython score.py -l 0 -f 2\npython score.py -l 0 -f 3\npython score.py "
  },
  {
    "path": "experiments/it6/ascore.sh.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "experiments/it6/best.py",
    "chars": 1695,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it6/class.py",
    "chars": 990,
    "preview": "import os\nimport pdb\n\nimport torchvision\nfrom torchvision.datasets.folder import default_loader\n\nfrom inversion import I"
  },
  {
    "path": "experiments/it6/glr.sh",
    "chars": 2992,
    "preview": "python lr_rate.py -l 0 -g 10. -r 0.01\npython lr_rate.py -l 0 -g 1. -r 0.01\npython lr_rate.py -l 0 -g 0.1 -r 0.01\npython "
  },
  {
    "path": "experiments/it6/head.py",
    "chars": 1575,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it6/lr_rate.py",
    "chars": 1591,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it6/make.sh",
    "chars": 187,
    "preview": "#!/bin/bash\nfor l in $(seq 0 3 11); do\n  for r in 0.01 0.03 0.1 0.3 1.0 ; do\n    for g in 10. 1. 0.1 0.01 ; do\n      ech"
  },
  {
    "path": "experiments/it6/make2.sh",
    "chars": 193,
    "preview": "#!/bin/bash\nfor l in $(seq 1 3 11); do\n  for f in $(seq 0 5); do\n    for m in in_feat keys queries values out_feat ; do\n"
  },
  {
    "path": "experiments/it6/make3.sh",
    "chars": 118,
    "preview": "#!/bin/bash\nfor l in $(seq 0 11); do\n  for f in $(seq 0 5); do\n    echo \"python score.py -l ${l} -f ${f}\"\n  done\ndone\n"
  },
  {
    "path": "experiments/it6/score.py",
    "chars": 1594,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it6/slowscore.sh",
    "chars": 6500,
    "preview": "echo \"Launching 4xjobs : 0\"\nCUDA_VISIBLE_DEVICES=0 python score.py -l 0 -f 0 >> ascore.sh.txt &\np0=$!\nCUDA_VISIBLE_DEVIC"
  },
  {
    "path": "experiments/it7/lh_pass.py",
    "chars": 3007,
    "preview": "import pdb\n\nimport torchvision.utils\nfrom torch.utils.data import DataLoader\nfrom datasets import weird_image_net\nfrom m"
  },
  {
    "path": "experiments/it7/no_pos.py",
    "chars": 2091,
    "preview": "import pdb\n\nimport torchvision.utils\nfrom torch.utils.data import DataLoader\nfrom datasets import weird_image_net\nfrom m"
  },
  {
    "path": "experiments/it8/a_std.sh",
    "chars": 700,
    "preview": "python cj_std.py -l 0 -g 10.\npython cj_std.py -l 0 -g 1.\npython cj_std.py -l 0 -g 0.1\npython cj_std.py -l 0 -g 0.01\npyth"
  },
  {
    "path": "experiments/it8/a_std.sh.txt",
    "chars": 39077,
    "preview": "Trying to load config file configs/cj_std.toml but it doesnt exist\n{'toml': 'configs/cj_std.toml', 'experiment': None, '"
  },
  {
    "path": "experiments/it8/a_std2.sh",
    "chars": 820,
    "preview": "python cj_std.py -l 0 -g 10. -f 1\npython cj_std.py -l 0 -g 1. -f 1\npython cj_std.py -l 0 -g 0.1 -f 1\npython cj_std.py -l"
  },
  {
    "path": "experiments/it8/a_std2.sh.txt",
    "chars": 38810,
    "preview": "Trying to load config file configs/cj_std.toml but it doesnt exist\n{'toml': 'configs/cj_std.toml', 'experiment': None, '"
  },
  {
    "path": "experiments/it8/all_gauss.sh",
    "chars": 2929,
    "preview": "echo \"Launching 4xjobs : 0\"\nCUDA_VISIBLE_DEVICES=0 python gaus.py -l 0 -g 100. >> g_gauss.sh.txt &\np0=$!\nCUDA_VISIBLE_DE"
  },
  {
    "path": "experiments/it8/all_high.sh",
    "chars": 7902,
    "preview": "echo \"Launching 4xjobs : 0\"\nCUDA_VISIBLE_DEVICES=0 python high.py -l 2 -g 10. -r 0.01 >> t_high.sh.txt &\np0=$!\nCUDA_VISI"
  },
  {
    "path": "experiments/it8/all_std.sh",
    "chars": 2212,
    "preview": "echo \"Launching 4xjobs : 0\"\nCUDA_VISIBLE_DEVICES=0 python cj_std.py -l 0 -g 10. >> a_std.sh.txt &\np0=$!\nCUDA_VISIBLE_DEV"
  },
  {
    "path": "experiments/it8/all_std2.sh",
    "chars": 2356,
    "preview": "echo \"Launching 4xjobs : 0\"\nCUDA_VISIBLE_DEVICES=0 python cj_std.py -l 0 -g 10. -f 1 >> a_std2.sh.txt &\np0=$!\nCUDA_VISIB"
  },
  {
    "path": "experiments/it8/cj_std.py",
    "chars": 1723,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it8/g_gauss.sh",
    "chars": 821,
    "preview": "python gaus.py -l 0 -g 100.\npython gaus.py -l 0 -g 10.\npython gaus.py -l 0 -g 1.\npython gaus.py -l 0 -g 0.1\npython gaus."
  },
  {
    "path": "experiments/it8/g_gauss.sh.txt",
    "chars": 72834,
    "preview": "Trying to load config file configs/gaus.toml but it doesnt exist\n{'toml': 'configs/gaus.toml', 'experiment': None, 'laye"
  },
  {
    "path": "experiments/it8/gaus.py",
    "chars": 1704,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it8/glr.sh",
    "chars": 2243,
    "preview": "python lr_rate.py -l 3 -g 10. -r 0.01\npython lr_rate.py -l 3 -g 1. -r 0.01\npython lr_rate.py -l 3 -g 0.1 -r 0.01\npython "
  },
  {
    "path": "experiments/it8/glr.sh.txt",
    "chars": 99352,
    "preview": "Trying to load config file configs/lr_rate.toml but it doesnt exist\n{'toml': 'configs/lr_rate.toml', 'experiment': None,"
  },
  {
    "path": "experiments/it8/high.py",
    "chars": 1602,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it8/lr_rate.py",
    "chars": 1591,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it8/make.sh",
    "chars": 134,
    "preview": "#!/bin/bash\nfor l in $(seq 0 2 11); do\n    for g in 100. 10. 1. 0.1 0.01 ; do\n      echo \"python gaus.py -l ${l} -g ${g}"
  },
  {
    "path": "experiments/it8/make2.sh",
    "chars": 136,
    "preview": "#!/bin/bash\nfor l in $(seq 0 2 11); do\n    for g in 10. 1. 0.1 0.01 ; do\n      echo \"python cj_std.py -l ${l} -g ${g} -f"
  },
  {
    "path": "experiments/it8/make3.sh",
    "chars": 184,
    "preview": "#!/bin/bash\nfor l in $(seq 2 3 11); do\n  for r in 0.01 0.03 0.1 0.3 1.0 ; do\n    for g in 10. 1. 0.1 0.01 ; do\n      ech"
  },
  {
    "path": "experiments/it8/runglr.sh",
    "chars": 5909,
    "preview": "echo \"Launching 4xjobs : 0\"\nCUDA_VISIBLE_DEVICES=0 python lr_rate.py -l 3 -g 10. -r 0.01 >> glr.sh.txt &\np0=$!\nCUDA_VISI"
  },
  {
    "path": "experiments/it8/score.py",
    "chars": 1594,
    "preview": "import torch\nfrom augmentation import Clip, Tile, Jitter, RepeatBatch, ColorJitter\nfrom augmentation.pre import Gaussian"
  },
  {
    "path": "experiments/it8/t_high.sh",
    "chars": 2772,
    "preview": "python high.py -l 2 -g 10. -r 0.01\npython high.py -l 2 -g 1. -r 0.01\npython high.py -l 2 -g 0.1 -r 0.01\npython high.py -"
  },
  {
    "path": "experiments/it8/t_high.sh.txt",
    "chars": 147883,
    "preview": "Trying to load config file configs/high.toml but it doesnt exist\n{'toml': 'configs/high.toml', 'experiment': None, 'laye"
  },
  {
    "path": "experiments/it9/all_vis.sh",
    "chars": 8382,
    "preview": "echo \"Launching 4xjobs : 0\"\nCUDA_VISIBLE_DEVICES=0 python vis.py -l 0 -f 0 >> t_vis.sh.txt &\np0=$!\nCUDA_VISIBLE_DEVICES="
  },
  {
    "path": "experiments/it9/best_eval.py",
    "chars": 1074,
    "preview": "from torch.utils.data import DataLoader\nfrom datasets import weird_image_net\nfrom hooks.transformer.vit import SimpleViT"
  },
  {
    "path": "experiments/it9/best_train.py",
    "chars": 1011,
    "preview": "from torch.utils.data import DataLoader\nfrom datasets import weird_image_net\nfrom hooks.transformer.vit import SimpleViT"
  }
]

// ... and 100 more files (download for full content)

About this extraction

This page contains the full source code of the hamidkazemi22/vit-visualization GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 300 files (98.4 MB), approximately 7.7M tokens, and a symbol index with 626 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!