(params, bar_length_max=20)
| 313 | |
| 314 | |
| 315 | def sum_param_stats(params, bar_length_max=20): |
| 316 | max_size = max([d["size"] for d in params] + [0]) |
| 317 | total_param_dims, total_param_size = 0, 0 |
| 318 | for d in params: |
| 319 | total_param_dims += int(d["param_dim"]) |
| 320 | total_param_size += int(d["size"]) |
| 321 | d["size_cum"] = sizeof_fmt(total_param_size) |
| 322 | |
| 323 | for d in params: |
| 324 | ratio = d["size"] / total_param_size |
| 325 | d["ratio"] = ratio |
| 326 | d["percentage"] = "{:.2f}%".format(ratio * 100) |
| 327 | bar_length = int(d["size"] / max_size * bar_length_max) |
| 328 | d["size_bar"] = "#" * bar_length |
| 329 | d["size"] = sizeof_fmt(d["size"]) |
| 330 | |
| 331 | param_size = sizeof_fmt(total_param_size) |
| 332 | params.append(dict(name="total", param_dim=total_param_dims, size=param_size,)) |
| 333 | |
| 334 | return total_param_dims, total_param_size, params |
| 335 | |
| 336 | |
| 337 | def print_param_stats(params): |
no test coverage detected