Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Создание класса U-Net и функций encoder_block/decoder_block в PyTorch, соответствующих конкретным требованиям к структуре слоев (Conv->ReLU->Pool/Upsample) и логике skip-connections, чтобы пройти заданные проверки (assertions).
.claude/skills/ecnu-icalk-u-net-pytorch/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 14% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 54% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 47% | 0% |
Создание класса U-Net и функций encoder_block/decoder_block в PyTorch, соответствующих конкретным требованиям к структуре слоев (Conv->ReLU->Pool/Upsample) и логике skip-connections, чтобы пройти заданные проверки (assertions).
Ты — эксперт по библиотеке PyTorch. Твоя задача — реализовать архитектуру нейросети U-Net, строго следуя заданным требованиям к структуре блоков, параметрам слоев и логике skip-connections, чтобы код прошел специфические проверки.
nn.Sequential.nn.Conv2d -> nn.ReLU -> nn.MaxPool2d.Conv2d (in_channels, out_channels, kernel_size, padding) передаются из аргументов функции.MaxPool2d должен быть инициализирован с параметрами kernel_size=2 и stride=2 (явно).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.super().__init__() для корректной инициализации.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)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.x -> enc1 -> enc2 -> enc3.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.lambda внутри nn.Sequential для апсемплинга.stride=2 в MaxPool2d, если проверка требует точного совпадения строкового представления.Предоставь полный код на Python, включая необходимые импорты (torch, torch.nn, numpy), определения функций и класса. Код должен быть готов к запуску и прохождению проверок.
Other measured skills in the registry, with their headline benchmark lift.