joonmyung 1.4.0__tar.gz → 1.4.2__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 (24) hide show
  1. {joonmyung-1.4.0 → joonmyung-1.4.2}/PKG-INFO +1 -1
  2. {joonmyung-1.4.0 → joonmyung-1.4.2}/README.md +6 -0
  3. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/draw.py +0 -2
  4. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/log.py +26 -15
  5. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/utils.py +1 -1
  6. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung.egg-info/PKG-INFO +1 -1
  7. {joonmyung-1.4.0 → joonmyung-1.4.2}/setup.py +1 -1
  8. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/__init__.py +0 -0
  9. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/app.py +0 -0
  10. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/data.py +0 -0
  11. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/dummy.py +0 -0
  12. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/file.py +0 -0
  13. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/gradcam.py +0 -0
  14. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/meta_data/__init__.py +0 -0
  15. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/meta_data/label.py +0 -0
  16. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/meta_data/utils.py +0 -0
  17. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/metric.py +0 -0
  18. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/script.py +0 -0
  19. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung/status.py +0 -0
  20. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung.egg-info/SOURCES.txt +0 -0
  21. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung.egg-info/dependency_links.txt +0 -0
  22. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung.egg-info/not-zip-safe +0 -0
  23. {joonmyung-1.4.0 → joonmyung-1.4.2}/joonmyung.egg-info/top_level.txt +0 -0
  24. {joonmyung-1.4.0 → joonmyung-1.4.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: joonmyung
3
- Version: 1.4.0
3
+ Version: 1.4.2
4
4
  Summary: JoonMyung's Library
5
5
  Home-page: https://github.com/pizard/JoonMyung.git
6
6
  Author: JoonMyung Choi
@@ -14,6 +14,12 @@ JoonMyung Choi's Package
14
14
 
15
15
 
16
16
  # 3. Previous
17
+ ## Version 1.4.1
18
+ 1. joonmyung/log
19
+ - [X] wandb table 저장 오류 수정
20
+ 2. joonmyung/utils
21
+ - [X] str2list 띄어쓰기 오류 수정
22
+
17
23
  ## Version 1.4.0
18
24
  1. joonmyung/app.py
19
25
  - [X] 실험 도중 스크립트 추가 기능
@@ -168,8 +168,6 @@ def rollout(attentions=None, gradients=None, head_fusion="mean", discard_ratios
168
168
  attentions = attentions.min(axis=2)[0]
169
169
  elif head_fusion == "median":
170
170
  attentions = attentions.median(axis=2)[0]
171
- else:
172
- raise "Attention head fusion type Not supported"
173
171
 
174
172
  if bs is not None:
175
173
  attentions = attentions[:, bs]
@@ -72,21 +72,31 @@ class Logger():
72
72
  def resetLog(self):
73
73
  self.loggers = {k:AverageMeter() if type(v) == AverageMeter else v for k, v in self.loggers.items()}
74
74
 
75
- def addLog(self, datas:dict, epoch=None, mae_task_type = None, bs = 1):
76
- for k, v in datas.items():
77
- data_type = v[0]
78
- if data_type == 0: # Values
79
- self.loggers[k] = v[1]
80
- elif data_type == 1: # AverageMeter
81
- if k not in self.loggers.keys():
82
- self.loggers[k] = AverageMeter()
83
- self.loggers[k].update(v[1], bs)
84
- elif data_type == 2: # Table
85
- columns = list(v[1].keys())
86
- data_num = len(list(v[1].values())[0])
87
- self.loggers[k] = wandb.Table(columns=["epoch", "MTT"] + columns)
88
- for idx in range(data_num):
89
- self.loggers[k].add_data(str(epoch), str(mae_task_type), *[wandb.Image(to_np(data2PIL(v[1][k][idx]))) if len(v[1][k].shape) == 4 else to_np(v[1][k])[idx] for k in columns])
75
+ def addLog(self, datas:dict, epoch=None, bs = 1):
76
+ if self.validation():
77
+ for k, v in datas.items():
78
+ data_type = v[0]
79
+ if data_type == 0: # Values
80
+ self.loggers[k] = v[1]
81
+ elif data_type == 1: # AverageMeter
82
+ if k not in self.loggers.keys():
83
+ self.loggers[k] = AverageMeter()
84
+ self.loggers[k].update(v[1], bs)
85
+ elif data_type == 2: # Table
86
+ columns = list(v[1].keys())
87
+ data_num = len(list(v[1].values())[0])
88
+ self.loggers[k] = wandb.Table(columns=["epoch"] + columns)
89
+ for idx in range(data_num):
90
+ results = []
91
+ for c in columns:
92
+ if type(v[1][c]) == torch.Tensor:
93
+ result = wandb.Image(to_np(data2PIL(v[1][c][idx]))) if len(v[1][c].shape) == 4 else to_np(v[1][c])[idx]
94
+ elif type(v[1][c]) == list:
95
+ result = v[1][c][idx]
96
+ else:
97
+ raise ValueError
98
+ results.append(result)
99
+ self.loggers[k].add_data(str(epoch), *results)
90
100
  return True
91
101
 
92
102
  def getPath(self):
@@ -109,6 +119,7 @@ class Logger():
109
119
  def validation(self):
110
120
  return True if self.use_wandb else False
111
121
 
122
+
112
123
  if __name__ == "__main__":
113
124
  from playground.analysis.lib_import import *
114
125
  dataset_name, server, device = "imagenet", "148", "cuda"
@@ -24,7 +24,7 @@ def to_tensor(vs):
24
24
 
25
25
 
26
26
  def str2list(s):
27
- v = ast.literal_eval(s.replace(" ", ",").replace(",,", ","))
27
+ v = ast.literal_eval(s.replace(" ", ""))
28
28
  if type(v) is not list:
29
29
  raise argparse.ArgumentTypeError("Argument \"%s\" is not a list" % (s))
30
30
  return v
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: joonmyung
3
- Version: 1.4.0
3
+ Version: 1.4.2
4
4
  Summary: JoonMyung's Library
5
5
  Home-page: https://github.com/pizard/JoonMyung.git
6
6
  Author: JoonMyung Choi
@@ -2,7 +2,7 @@ import setuptools
2
2
  from setuptools import find_packages
3
3
  setuptools.setup(
4
4
  name="joonmyung",
5
- version="1.4.0",
5
+ version="1.4.2",
6
6
  author="JoonMyung Choi",
7
7
  author_email="pizard@korea.ac.kr",
8
8
  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