Entrenamiento
param-lens
Cuenta los parámetros de un modelo PyTorch desde el editor, sin ejecutar código.
Instalación
Todavía no hay listing en el Marketplace; se instala el .vsix empaquetado de un release:
code --install-extension param-lens-0.1.0.vsixQué hace
Se apunta a una selección o a un fichero entero: busca asignaciones que llaman a una capa nn.* reconocida —Linear, Conv2d, Embedding, LayerNorm, MultiheadAttention, LSTM, GRU— o a otra clase definida en el mismo fichero, calcula el número de parámetros a partir de los argumentos de cada llamada y muestra un desglose agrupado por clase. Es un lector heurístico, mitad regex y mitad AST ligero, no un intérprete de Python: nunca importa ni ejecuta el fichero, y cuando un argumento no se puede resolver a un número literal la línea queda listada como no resuelta en vez de adivinarse.
En acción
Param Lens: Count parameters in selection/file (test/fixtures/nanogpt.py)
Total: 59,328 parameters
CausalSelfAttention (nn.Module) [used by: Block] — 4,224 params — line 19
c_attn nn.Linear 32x96 + 96 (bias) = 3,168
c_proj nn.Linear 32x32 + 32 (bias) = 1,056
GPT (nn.Module) [root] — 59,328 params — line 53
wte nn.Embedding 100x32 = 3,200
wpe nn.Embedding 64x32 = 2,048
h Block Block() = 12,704 params/instance = 50,816 x4
ln_f nn.LayerNorm 32 (weight) + 32 (bias) = 64
lm_head nn.Linear 32x100 (bias=False) = 3,200Características
- —Reconoce nn.Linear, Conv2d, Embedding, LayerNorm, MultiheadAttention, LSTM y GRU.
- —Sigue ModuleList([...]) y bucles for con append() para multiplicar capas repetidas.
- —Resuelve identificadores contra los valores literales del fichero, incluso config.n_embd.
- —Un CodeLens opcional muestra ~N params sobre cada class X(nn.Module).