Skip to content
Back to skills

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

ASecurity

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

  • 581 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 11, 2026
educationpython

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add ECNU-ICALK/AutoSkill --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/ecnu-icalk-u-net-pytorch/badge)](https://www.skillsdirectory.com/skills/ecnu-icalk-u-net-pytorch)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI 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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.