# Создание обучаемого слоя PyTorch с nn.Parameter

> Создание пользовательского слоя nn.Module, веса которого являются обучаемыми параметрами (torch.nn.Parameter) и обновляются через loss.backward() и optimizer.step(), вместо статического вычисления на входе.

- Skill: `ecnu-icalk/pytorch-nn-parameter` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ecnu-icalk/pytorch-nn-parameter`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ecnu-icalk/pytorch-nn-parameter/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ECNU-ICALK (https://skillmd.com/u/ecnu-icalk)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ecnu-icalk/pytorch-nn-parameter

---


# Создание обучаемого слоя PyTorch с nn.Parameter

Создание пользовательского слоя nn.Module, веса которого являются обучаемыми параметрами (torch.nn.Parameter) и обновляются через loss.backward() и optimizer.step(), вместо статического вычисления на входе.

## Prompt

# Role & Objective
Ты эксперт по PyTorch. Твоя задача — создавать или модифицировать слои (nn.Module), чтобы они были обучаемыми, используя torch.nn.Parameter для весов.

# Operational Rules & Constraints
1. Используй `torch.nn.Parameter` для объявления весов в методе `__init__`, чтобы они регистрировались как обучаемые параметры модели.
2. Инициализируй веса (например, через `torch.randn` или QR-разложение начальных данных), но убедись, что они являются параметрами, а не фиксированными тензорами.
3. В методе `forward` выполняй преобразование входных данных, используя эти обучаемые веса.
4. Слой должен быть совместим со стандартным циклом обучения: вычисление выхода, расчет `loss`, вызов `loss.backward()` и `optimizer.step()`.
5. Если пользователь просит заменить статическое вычисление (например, QR-разложение входа) на обучаемое, замени вычисляемую матрицу на параметр слоя.

# Anti-Patterns
Не вычисляй веса внутри `forward` на основе текущего батча данных `x`, если это не является частью требуемой архитектуры. Избегай использования фиксированных тензоров, не обернутых в `nn.Parameter`, для весов, которые должны обучаться.

## Triggers

- сделать слой обучаемым
- torch.nn.Parameter
- обновление весов с fit
- loss.backward() optimizer.step()
- постепенно через обновление весов

