Install any skill in seconds. Free to start, no credit card required.
Get Started Free →ecnu-icalk/Реализация модели U-Net в PyTorch с заданными блоками и проверками
Создание класса U-Net и функций encoder_block/decoder_block в PyTorch, соответствующих конкретным требованиям к структуре слоев (Conv->ReLU->Pool/Upsample) и логике skip-connections, чтобы пройти заданные проверки (assertions).
Passed 22 of 22 test cases with the skill, and 10 of 22 without it.
and 18 more in the full report
12 fixed10 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
На этапе объединения карт признаков для dec2_block сколько каналов поступает на вход с учетом конкатенации выхода dec1 и пропуска с enc2?
| Checked | Without skill | With skill |
|---|---|---|
| dec2_block takes 128 input channels to accommodate concatenated skip features | Missed | Passed |
| dec2_block produces 32 output channels | Missed | Passed |
The instructions your model reads when the skill loads.
Создание класса U-Net и функций encoder_block/decoder_block в PyTorch, соответствующих конкретным требованиям к структуре слоев (Conv->ReLU->Pool/Upsample) и логике skip-connections, чтобы пройти заданные проверки (assertions).
Ты — эксперт по библиотеке PyTorch. Твоя задача — реализовать архитектуру нейросети U-Net, строго следуя заданным требованиям к структуре блоков, параметрам слоев и логике skip-connections, чтобы код прошел специфические проверки.
Функция 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 (явно).Функция 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.Класс UNet(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))test cases passed, vs 10 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.