joonmyung 1.5.23__tar.gz → 1.6.1__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.
Files changed (46) hide show
  1. {joonmyung-1.5.23 → joonmyung-1.6.1}/PKG-INFO +1 -1
  2. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/analysis/dataset.py +4 -4
  3. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/script.py +24 -13
  4. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung.egg-info/PKG-INFO +1 -1
  5. {joonmyung-1.5.23 → joonmyung-1.6.1}/setup.py +1 -1
  6. {joonmyung-1.5.23 → joonmyung-1.6.1}/LICENSE.txt +0 -0
  7. {joonmyung-1.5.23 → joonmyung-1.6.1}/README.md +0 -0
  8. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/__init__.py +0 -0
  9. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/analysis/__init__.py +0 -0
  10. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/analysis/analysis.py +0 -0
  11. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/analysis/analysis_bak.py +0 -0
  12. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/analysis/analysis_/343/205/240/343/205/217.py" +0 -0
  13. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/analysis/evaluate.py +0 -0
  14. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/analysis/hook.py +0 -0
  15. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/analysis/model.py +0 -0
  16. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/analysis/utils.py +0 -0
  17. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/app.py +0 -0
  18. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/clip/__init__.py +0 -0
  19. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/clip/clip.py +0 -0
  20. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/clip/model.py +0 -0
  21. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/clip/simple_tokenizer.py +0 -0
  22. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/compression/__init__.py +0 -0
  23. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/compression/apply.py +0 -0
  24. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/compression/compression.py +0 -0
  25. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/data.py +0 -0
  26. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/draw.py +0 -0
  27. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/dummy.py +0 -0
  28. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/file.py +0 -0
  29. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/gradcam.py +0 -0
  30. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/log.py +0 -0
  31. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/meta_data/__init__.py +0 -0
  32. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/meta_data/label.py +0 -0
  33. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/meta_data/utils.py +0 -0
  34. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/metric.py +0 -0
  35. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/model/__init__.py +0 -0
  36. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/model/compression.py +0 -0
  37. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/model.py +0 -0
  38. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/models/__init__.py +0 -0
  39. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/models/tome.py +0 -0
  40. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/status.py +0 -0
  41. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung/utils.py +0 -0
  42. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung.egg-info/SOURCES.txt +0 -0
  43. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung.egg-info/dependency_links.txt +0 -0
  44. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung.egg-info/not-zip-safe +0 -0
  45. {joonmyung-1.5.23 → joonmyung-1.6.1}/joonmyung.egg-info/top_level.txt +0 -0
  46. {joonmyung-1.5.23 → joonmyung-1.6.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: joonmyung
3
- Version: 1.5.23
3
+ Version: 1.6.1
4
4
  Summary: JoonMyung's Library
5
5
  Home-page: https://github.com/pizard/JoonMyung.git
6
6
  Author: JoonMyung Choi
@@ -21,8 +21,8 @@ class JDataset():
21
21
  "num_classes" : 1000,
22
22
  "data_types" : ["val", "train"],
23
23
  "label_name" : imnet_label,
24
- # "distributions" : {"mean": [0.485, 0.456, 0.406], "std": [0.229, 0.224, 0.225]},
25
- "distributions" : {"mean": [0.48145466, 0.4578275, 0.40821073], "std": [0.26862954, 0.26130258, 0.27577711]},
24
+ "distributions" : {"mean": [0.485, 0.456, 0.406], "std": [0.229, 0.224, 0.225]}, # DEIT PAPER
25
+ # "distributions" : {"mean": [0.48145466, 0.4578275, 0.40821073], "std": [0.26862954, 0.26130258, 0.27577711]}, # CLIP
26
26
  "size": (224, 224)
27
27
  },
28
28
  "cifar100" : {
@@ -45,8 +45,8 @@ class JDataset():
45
45
  size = size if size else setting["size"]
46
46
 
47
47
  self.transform = [
48
- transforms.Compose([transforms.Resize((256, 256), interpolation=InterpolationMode.BICUBIC), transforms.CenterCrop(size), transforms.ToTensor(), transforms.Normalize(self.distribution["mean"], self.distribution["std"])]),
49
- transforms.Compose([transforms.Resize((256, 256), interpolation=InterpolationMode.BICUBIC), transforms.CenterCrop(size), transforms.ToTensor()]),
48
+ transforms.Compose([transforms.Resize(256, interpolation=InterpolationMode.BICUBIC), transforms.CenterCrop(size), transforms.ToTensor(), transforms.Normalize(self.distribution["mean"], self.distribution["std"])]), # DEIT PAPER
49
+ transforms.Compose([transforms.Resize(256, interpolation=InterpolationMode.BICUBIC), transforms.CenterCrop(size), transforms.ToTensor()]),
50
50
  transforms.Compose([transforms.Resize(224, interpolation=InterpolationMode.BICUBIC), transforms.CenterCrop(size), transforms.ToTensor(), transforms.Normalize(self.distribution["mean"], self.distribution["std"])]),
51
51
  transforms.Compose([transforms.Resize(224, interpolation=InterpolationMode.BICUBIC), transforms.CenterCrop(size), transforms.ToTensor()]),
52
52
  transforms.Compose([transforms.ToTensor()])
@@ -60,6 +60,7 @@ class GPU_Worker():
60
60
  if len(availGPUs) < self.need_gpu:
61
61
  if self.p:
62
62
  print(f"{count} | AVAIL/NEED/RUNNING GPUS : {list(availGPUs)}/{self.need_gpu}/{list(self.runGPUs.keys())}")
63
+ # print(f"{count} | DONE/REMAIN GPUS : ")
63
64
  time.sleep(self.waitTime)
64
65
  else:
65
66
  break
@@ -88,16 +89,20 @@ class GPU_Worker():
88
89
  self.runGPUs[int(gpu)] = p
89
90
 
90
91
  def waitForEnd(self):
92
+ time.sleep(self.waitTimeInit)
93
+
91
94
  count = 0
92
- while self.check_process():
95
+ while True:
96
+ self.check_process()
93
97
  if self.p:
94
98
  count += 1
95
99
  print(f"{count} | CURRENT RUNNING GPUS : {list(self.runGPUs.keys())}")
96
100
  time.sleep(self.waitTime)
101
+ if not len(self.runGPUs):
102
+ break
97
103
  return
98
104
 
99
- def message(self, text):
100
- url = "https://hooks.slack.com/services/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"
105
+ def message(self, text, url):
101
106
  payload = {"text": text}
102
107
  headers = {'Content-type': 'application/json'}
103
108
 
@@ -105,17 +110,22 @@ class GPU_Worker():
105
110
 
106
111
  return response
107
112
 
108
- def Process_Worker(processes, gpuWorker, m = None, p = False):
109
- # TODO : 실험이 완전히 끝난 시간 체크할 필요가 존재함
113
+ def Process_Worker(processes, gpuWorker, s = 0, url = None, server = None):
110
114
  start = time.localtime()
111
115
  print("------ Start Running!! : {} ------".format(time2str(start)))
116
+ if url:
117
+ gpuWorker.message(f"Experiments Start \n"
118
+ f"Server {server} \n",
119
+ url = url)
112
120
 
113
121
  for i, process in enumerate(tqdm(processes)):
122
+ if type(process) == list:
123
+ process = " && ".join(process)
114
124
  gpus = gpuWorker.getGPU()
115
- prefix = f"CUDA_VISIBLE_DEVICES={gpus} nohup sh -c \'"
116
- suffix = f"\' > {i+1}:gpu{gpus}.log 2>&1 "
117
- if p:
118
- print("------ {}:GPU{} {} ------".format(i + 1, gpus, prefix + process + suffix))
125
+ prefix = f"CUDA_VISIBLE_DEVICES={gpus} nohup bash -c '"
126
+ suffix = f"' > {s+i+1}:gpu{gpus}.log 2>&1 "
127
+
128
+ print(f"{i + 1}/{len(processes)} : GPU{gpus} {prefix + process + suffix}")
119
129
  session = subprocess.Popen(prefix + process + suffix, shell=True)
120
130
  gpuWorker.register_process(gpus, session)
121
131
  gpuWorker.waitForEnd()
@@ -124,10 +134,11 @@ def Process_Worker(processes, gpuWorker, m = None, p = False):
124
134
  print("------ End Running!! : {} ------".format(time2str(end)))
125
135
  training_time = datetime.timedelta(seconds=time.mktime(end) - time.mktime(start))
126
136
  print(f"Time 1/all : {training_time}/{training_time / len(processes)} ------")
127
- if m:
128
- gpuWorker.message(f"Experiments Finished {m} : "
129
- f"Time 1/all : {training_time}/{training_time / len(processes)}"
130
- )
137
+ if url:
138
+ gpuWorker.message(f"Experiments Finished \n"
139
+ f"Server {server} \n"
140
+ f"Time 1/all : {training_time / len(processes)} / {training_time}",
141
+ url = url)
131
142
 
132
143
 
133
144
  if __name__ == '__main__':
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: joonmyung
3
- Version: 1.5.23
3
+ Version: 1.6.1
4
4
  Summary: JoonMyung's Library
5
5
  Home-page: https://github.com/pizard/JoonMyung.git
6
6
  Author: JoonMyung Choi
@@ -7,7 +7,7 @@ def fetch_requirements(filename):
7
7
 
8
8
  setuptools.setup(
9
9
  name="joonmyung",
10
- version="1.5.23",
10
+ version="1.6.1",
11
11
  author="JoonMyung Choi",
12
12
  author_email="pizard@korea.ac.kr",
13
13
  description="JoonMyung's Library",
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