joonmyung 1.5.5__tar.gz → 1.5.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {joonmyung-1.5.5 → joonmyung-1.5.7}/PKG-INFO +1 -1
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/data.py +2 -2
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/draw.py +2 -1
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/file.py +0 -1
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/log.py +1 -2
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/script.py +23 -2
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/status.py +0 -1
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung.egg-info/PKG-INFO +1 -1
- {joonmyung-1.5.5 → joonmyung-1.5.7}/setup.py +1 -1
- {joonmyung-1.5.5 → joonmyung-1.5.7}/LICENSE.txt +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/README.md +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/__init__.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/analysis/__init__.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/analysis/analysis.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/analysis/dataset.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/analysis/hook.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/analysis/metric.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/analysis/model.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/analysis/utils.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/app.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/dummy.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/gradcam.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/meta_data/__init__.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/meta_data/label.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/meta_data/utils.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/metric.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/models/__init__.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/models/tome.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung/utils.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung.egg-info/SOURCES.txt +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung.egg-info/dependency_links.txt +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung.egg-info/not-zip-safe +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/joonmyung.egg-info/top_level.txt +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/models/SA/MHSA.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/models/SA/PVTSA.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/models/SA/TMSA.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/models/SA/__init__.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/models/__init__.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/models/deit.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/models/evit.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/models/modules/PE.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/models/modules/__init__.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/models/modules/blocks.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/models/pvt.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/models/pvt_v2.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/models/tome.py +0 -0
- {joonmyung-1.5.5 → joonmyung-1.5.7}/setup.cfg +0 -0
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from torchvision.transforms import InterpolationMode
|
|
2
|
+
from torchvision import transforms
|
|
1
3
|
import torch
|
|
2
4
|
|
|
3
5
|
def rangeBlock(block, vmin=0, vmax=5):
|
|
@@ -26,8 +28,6 @@ def normalization(t, type = 0):
|
|
|
26
28
|
elif type == 1:
|
|
27
29
|
return t / t.min()
|
|
28
30
|
|
|
29
|
-
from torchvision import transforms
|
|
30
|
-
from torchvision.transforms import InterpolationMode
|
|
31
31
|
|
|
32
32
|
def getTransform(train = False, totensor = False, resize=True):
|
|
33
33
|
|
|
@@ -13,10 +13,12 @@ import pandas as pd
|
|
|
13
13
|
import numpy as np
|
|
14
14
|
import torch.optim
|
|
15
15
|
import torch
|
|
16
|
+
import copy
|
|
16
17
|
import cv2
|
|
17
18
|
import PIL
|
|
18
19
|
import os
|
|
19
20
|
|
|
21
|
+
|
|
20
22
|
def drawHeatmap(matrixes, col=1, title=[], fmt=1, p=False,
|
|
21
23
|
vmin=None, vmax=None, xticklabels=False, yticklabels=False,
|
|
22
24
|
linecolor=None, linewidths=0.1, fontsize=30, r=[1,1],
|
|
@@ -341,7 +343,6 @@ def overlay(imgs, attnsL, dataset="imagenet"):
|
|
|
341
343
|
results.append(result)
|
|
342
344
|
return results
|
|
343
345
|
|
|
344
|
-
import copy
|
|
345
346
|
def unNormalize(image, dataset="imagenet"):
|
|
346
347
|
# images : (B, C, H, W)
|
|
347
348
|
if dataset == "imagenet":
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import pickle
|
|
2
|
-
|
|
3
1
|
from joonmyung.utils import is_dist_avail_and_initialized
|
|
4
2
|
from collections import defaultdict, deque
|
|
5
3
|
from joonmyung.draw import data2PIL
|
|
6
4
|
from joonmyung.utils import to_np
|
|
7
5
|
import torch.distributed as dist
|
|
8
6
|
import datetime
|
|
7
|
+
import pickle
|
|
9
8
|
import wandb
|
|
10
9
|
import torch
|
|
11
10
|
import time
|
|
@@ -3,6 +3,7 @@ from tqdm import tqdm
|
|
|
3
3
|
import subprocess
|
|
4
4
|
import time
|
|
5
5
|
import pynvml
|
|
6
|
+
import requests
|
|
6
7
|
import datetime
|
|
7
8
|
|
|
8
9
|
class GPU_Worker():
|
|
@@ -86,8 +87,25 @@ class GPU_Worker():
|
|
|
86
87
|
for gpu in gpus.split(','):
|
|
87
88
|
self.runGPUs[int(gpu)] = p
|
|
88
89
|
|
|
90
|
+
def waitForEnd(self):
|
|
91
|
+
count = 0
|
|
92
|
+
while self.check_process():
|
|
93
|
+
if self.p:
|
|
94
|
+
count += 1
|
|
95
|
+
print(f"{count} | CURRENT RUNNING GPUS : {list(self.runGPUs.keys())}")
|
|
96
|
+
time.sleep(self.waitTime)
|
|
97
|
+
return
|
|
89
98
|
|
|
90
|
-
def
|
|
99
|
+
def message(self, text):
|
|
100
|
+
url = "https://hooks.slack.com/services/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"
|
|
101
|
+
payload = {"text": text}
|
|
102
|
+
headers = {'Content-type': 'application/json'}
|
|
103
|
+
|
|
104
|
+
response = requests.post(url, json=payload, headers=headers)
|
|
105
|
+
|
|
106
|
+
return response
|
|
107
|
+
|
|
108
|
+
def Process_Worker(processes, gpuWorker, id = "", p = True):
|
|
91
109
|
# TODO : 실험이 완전히 끝난 시간 체크할 필요가 존재함
|
|
92
110
|
start = time.localtime()
|
|
93
111
|
print("------ Start Running!! : {} ------".format(time2str(start)))
|
|
@@ -100,11 +118,14 @@ def Process_Worker(processes, gpuWorker, p = True):
|
|
|
100
118
|
p = subprocess.Popen(prefix + process + suffix, shell=True)
|
|
101
119
|
gpuWorker.register_process(gpus, p)
|
|
102
120
|
gpuWorker.waitForEnd()
|
|
103
|
-
|
|
104
121
|
end = time.localtime()
|
|
105
122
|
print("------ End Running!! : {} ------".format(time2str(end)))
|
|
106
123
|
training_time = datetime.timedelta(seconds=time.mktime(end) - time.mktime(start))
|
|
107
124
|
print(f"Time 1/all : {training_time}/{training_time / len(processes)} ------")
|
|
125
|
+
gpuWorker.message(f"Experiments Finished"
|
|
126
|
+
f"{id} : "
|
|
127
|
+
f"Time 1/all : {training_time}/{training_time / len(processes)}"
|
|
128
|
+
)
|
|
108
129
|
|
|
109
130
|
|
|
110
131
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|