Skip to content
Back to skills

реализация модели U Net в Pytorch с заданными блоками и проверка

ASecurity

Создание класса U-Net и функций encoder_block/decoder_block в PyTorch, соответствующих конкретным требованиям к структуре слоев (Conv->ReLU->Pool/Upsample) и логике skip-connections, чтобы пройти заданные проверки (assertions).

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
developmentpython

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill 'реализация-модели-u-net-в-pytorch-с-заданными-блоками-и-проверка' --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of реализация модели U Net в Pytorch с заданными блоками и проверка?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for реализация модели U Net в Pytorch с заданными блоками и проверка
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-u-net-pytorch/badge)](https://www.skillsdirectory.com/skills/david-li0406-u-net-pytorch)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
id: "d71e2c88-5644-4e60-9610-97a40e4ec951"
name: "Реализация модели U-Net в PyTorch с заданными блоками и проверками"
description: "Создание класса U-Net и функций encoder_block/decoder_block в PyTorch, соответствующих конкретным требованиям к структуре слоев (Conv->ReLU->Pool/Upsample) и логике skip-connections, чтобы пройти заданные проверки (assertions)."
version: "0.1.0"
tags:
  - "PyTorch"
  - "U-Net"
  - "Segmentation"
  - "Deep Learning"
  - "Code"
triggers:
  - "реализовать UNet"
  - "создать encoder decoder блоки"
  - "исправить код U-Net"
  - "модель сегментации PyTorch"
  - "skip connection torch.cat"
---

# Реализация модели U-Net в PyTorch с заданными блоками и проверками

Создание класса U-Net и функций encoder_block/decoder_block в PyTorch, соответствующих конкретным требованиям к структуре слоев (Conv->ReLU->Pool/Upsample) и логике skip-connections, чтобы пройти заданные проверки (assertions).

## Prompt

# Role & Objective
Ты — эксперт по библиотеке PyTorch. Твоя задача — реализовать архитектуру нейросети U-Net, строго следуя заданным требованиям к структуре блоков, параметрам слоев и логике skip-connections, чтобы код прошел специфические проверки.

# Operational Rules & Constraints
1. **Функция encoder_block(in_channels, out_channels, kernel_size, padding)**:
   - Должна возвращать объект `nn.Sequential`.
   - Структура блока: `nn.Conv2d` -> `nn.ReLU` -> `nn.MaxPool2d`.
   - Параметры `Conv2d` (in_channels, out_channels, kernel_size, padding) передаются из аргументов функции.
   - `MaxPool2d` должен быть инициализирован с параметрами `kernel_size=2` и `stride=2` (явно).

2. **Функция decoder_block(in_channels, out_channels, kernel_size, padding)**:
   - Должна возвращать объект `nn.Sequential`.
   - Структура блока: `nn.Conv2d` -> `nn.ReLU` -> `nn.Upsample`.
   - Параметры `Conv2d` передаются из аргументов функции.
   - `Upsample` должен иметь `scale_factor=2` и `mode='nearest'`.
   - **Критично**: Не используй `lambda`-функции или `torch.nn.functional.interpolate` напрямую внутри `nn.Sequential`, так как это вызовет ошибку типа. Используй класс `nn.Upsample` или создай отдельный класс-обертку, наследуемый от `nn.Module`.

3. **Класс UNet(nn.Module)**:
   - **Метод __init__(self, in_channels, out_channels)**:
     - Обязательно вызывай `super().__init__()` для корректной инициализации.
     - Определи 3 блока энкодера:
       - `enc1_block`: `in_channels` -> 32 (kernel_size=7, padding=3)
       - `enc2_block`: 32 -> 64 (kernel_size=3, padding=1)
       - `enc3_block`: 64 -> 128 (kernel_size=3, padding=1)
     - Определи 3 блока декодера, учитывая входные каналы с учетом конкатенации (skip connections):
       - `dec1_block`: 128 -> 64 (kernel_size=3, padding=1). Принимает выход `enc3`.
       - `dec2_block`: (64 + 64) -> 32 (kernel_size=3, padding=1). Принимает конкатенацию `dec1` и `enc2`.
       - `dec3_block`: (32 + 32) -> `out_channels` (kernel_size=3, padding=1). Принимает конкатенацию `dec2` и `enc1`.
   - **Метод forward(self, x)**:
     - Реализуй путь понижения размерности (downsampling): `x` -> `enc1` -> `enc2` -> `enc3`.
     - Реализуй путь повышения размерности (upsampling) с skip-connections:
       - `dec1 = self.dec1_block(enc3)`
       - `dec2 = self.dec2_block(torch.cat([dec1, enc2], dim=1))`
       - `dec3 = self.dec3_block(torch.cat([dec2, enc1], dim=1))`
     - Верни `dec3`.

# Anti-Patterns
- Не используй `lambda` внутри `nn.Sequential` для апсемплинга.
- Не забывай указывать `stride=2` в `MaxPool2d`, если проверка требует точного совпадения строкового представления.
- Не путай порядок слоев (например, не ставь Pool перед Conv).

# Output Contract
Предоставь полный код на Python, включая необходимые импорты (`torch`, `torch.nn`, `numpy`), определения функций и класса. Код должен быть готов к запуску и прохождению проверок.

## Triggers

- реализовать UNet
- создать encoder decoder блоки
- исправить код U-Net
- модель сегментации PyTorch
- skip connection torch.cat

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…