Installs into .claude/skills of the current project.
Are you the author of Model Summary Usage?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-model-summary-usage)
---
name: model-summary-usage
description: "Use torchsummary.summary and torchsummary.summary_string to
inspect PyTorch nn.Module shapes, parameter counts, devices, dtypes, and
memory estimates."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# model-summary-usage
Use this sub-skill when a task needs to call `torchsummary.summary` or
`torchsummary.summary_string` for a PyTorch `nn.Module` without reopening the
source repository.
## Read this when
- You need a Keras-style printed summary table for a PyTorch model.
- You need programmatic total/trainable parameter counts from `summary_string`.
- The model has one input, multiple inputs, or per-input dtype requirements.
- A summary run is failing because of CPU/CUDA placement, dtype, input-size, or
shape issues.
- You need to decide whether this lightweight package is enough or whether to
use `torchinfo` for a newer or more advanced model-inspection task.
## Do not use this for
- Editing package source, changing tests, packaging metadata, or release work;
route those tasks to [repo-maintenance](../repo-maintenance/SKILL.md).
- General PyTorch debugging unrelated to this package's summary calls.
- Precise memory profiling or complex input/output model introspection; prefer
`torchinfo` or a PyTorch profiler workflow for those cases.
## Start here
1. Confirm the runtime has `torchsummary`, `torch`, and `numpy` available.
2. Import only the public API:
```python
from torchsummary import summary, summary_string
```
3. For CPU-safe usage, pass the device explicitly and move the model yourself:
```python
import torch
device = torch.device("cpu")
model = model.to(device)
summary(model, input_size=(channels, height, width), device=device)
```
4. Use the bundled smoke helper from this sub-skill directory when you need a
quick verification of the installed package:
```bash
python scripts/smoke_summary.py --help
python scripts/smoke_summary.py --case all --device cpu
```
From the root generated skill directory, use:
```bash
python sub-skills/model-summary-usage/scripts/smoke_summary.py --case all --device cpu
```
## References
- [API reference](references/api-reference.md): exact signatures, return values,
`input_size`, `batch_size`, device, dtype, hook, and memory-estimate semantics.
- [Workflows](references/workflows.md): single-input, multiple-input, dtype,
device, `summary_string`, and output-interpretation recipes.
- [Troubleshooting](references/troubleshooting.md): workflow-specific failures
and fixes.
- [Root shared troubleshooting](../../references/troubleshooting.md): package
install/import and cross-cutting backend issues shared with other sub-skills.
## Key facts to preserve
- Distribution/package name: `torchsummary`; version evidenced for this skill:
`1.5.1`.
- Public exports: `summary` and `summary_string` from `torchsummary`.
- `summary(...)` prints the formatted table and returns the parameter-info tuple
produced by `summary_string(...)`.
- `summary_string(...)` returns `(summary_str, (total_params, trainable_params))`.
- `input_size` excludes the batch dimension. A tuple means one input; a list of
tuples means multiple inputs.
- The default device is CUDA (`cuda:0`), so CPU-only calls should pass
`device="cpu"` or `torch.device("cpu")`.