Реализация модели U-Net в PyTorch с заданными блоками и проверками — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Реализация модели U-Net в PyTorch с заданными блоками и проверками (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Создание класса 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), определения функций и класса. Код должен быть готов к запуску и прохождению проверок.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.