Connie-Wild commited on
Commit
e6f82bd
·
1 Parent(s): cc0bc9b
Files changed (1) hide show
  1. app.py +29 -2
app.py CHANGED
@@ -5,8 +5,8 @@ import requests
5
  # 定数定義
6
  API_BASE_URL = "https://huggingface.co/api/models/"
7
  MULTIPLIERS = {
8
- "U8": 1,
9
  "I8": 1,
 
10
  "F8_E5M2": 1,
11
  "F8_E4M3": 1,
12
  "I16": 2,
@@ -16,11 +16,27 @@ MULTIPLIERS = {
16
  "I32": 4,
17
  "U32": 4,
18
  "F32": 4,
19
- "F64": 8,
20
  "I64": 8,
21
  "U64": 8,
 
22
  }
23
  PRECISION_KEYS = list(MULTIPLIERS.keys())
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
 
25
  def get_model_api_info(model_name: str) -> dict:
26
  """
@@ -92,7 +108,13 @@ def estimate_gpu_memory(model_name: str) -> str:
92
  result_lines.append(f"モデル '{model_name}' のsafetensors情報より、各パラメータ数は")
93
 
94
  # 各精度ごとのパラメータ数の出力
 
 
95
  for precision in PRECISION_KEYS:
 
 
 
 
96
  if precision in parameters:
97
  result_lines.append(f"【{precision}】 {parameters[precision]:,}")
98
 
@@ -103,6 +125,11 @@ def estimate_gpu_memory(model_name: str) -> str:
103
  result_lines.append(f"【トレーニング】約 {estimated_gb * 4:.2f} GB")
104
  result_lines.append("となります。")
105
 
 
 
 
 
 
106
  if usedStorage_gb is not None:
107
  result_lines.append("")
108
  result_lines.append(f"参考: 該当リポジトリのファイルサイズは合計 {usedStorage_gb:.2f} GB")
 
5
  # 定数定義
6
  API_BASE_URL = "https://huggingface.co/api/models/"
7
  MULTIPLIERS = {
 
8
  "I8": 1,
9
+ "U8": 1,
10
  "F8_E5M2": 1,
11
  "F8_E4M3": 1,
12
  "I16": 2,
 
16
  "I32": 4,
17
  "U32": 4,
18
  "F32": 4,
 
19
  "I64": 8,
20
  "U64": 8,
21
+ "F64": 8,
22
  }
23
  PRECISION_KEYS = list(MULTIPLIERS.keys())
24
+ COMMENT = {
25
+ "I8": "整数なのでGPUでの処理に向いてないかもしれません。",
26
+ "U8": "整数なのでGPUでの処理に向いてないかもしれません。",
27
+ "F8_E5M2": "FP8の処理能力が高いGPUを選定してください。",
28
+ "F8_E4M3": "FP8の処理能力が高いGPUを選定してください。",
29
+ "I16": "整数なのでGPUでの処理に向いてないかもしれません。",
30
+ "U16": "整数なのでGPUでの処理に向いてないかもしれません。",
31
+ "F16": "FP16の処理能力が高いGPUを選定してください。",
32
+ "BF16": "BF16の処理能力が高いGPUを選定してください。",
33
+ "I32": "整数なのでGPUでの処理に向いてないかもしれません。",
34
+ "U32": "整数なのでGPUでの処理に向いてないかもしれません。",
35
+ "F32": "FP32の処理能力が高いGPUを選定してください。",
36
+ "I64": "整数なのでGPUでの処理に向いてないかもしれません。",
37
+ "U64": "整数なのでGPUでの処理に向いてないかもしれません。",
38
+ "F64": "FP64の処理能力が高いGPUを選定してください。",
39
+ }
40
 
41
  def get_model_api_info(model_name: str) -> dict:
42
  """
 
108
  result_lines.append(f"モデル '{model_name}' のsafetensors情報より、各パラメータ数は")
109
 
110
  # 各精度ごとのパラメータ数の出力
111
+ max_precision = None
112
+ max_count = 0
113
  for precision in PRECISION_KEYS:
114
+ count = parameters.get(precision, 0)
115
+ if count > max_count:
116
+ max_precision = precision
117
+ max_count = count
118
  if precision in parameters:
119
  result_lines.append(f"【{precision}】 {parameters[precision]:,}")
120
 
 
125
  result_lines.append(f"【トレーニング】約 {estimated_gb * 4:.2f} GB")
126
  result_lines.append("となります。")
127
 
128
+ # GPU選定のコメント
129
+ if max_precision is not None:
130
+ comment_message = COMMENT.get(max_precision, "")
131
+ result_lines.append(comment_message)
132
+
133
  if usedStorage_gb is not None:
134
  result_lines.append("")
135
  result_lines.append(f"参考: 該当リポジトリのファイルサイズは合計 {usedStorage_gb:.2f} GB")