(msg_len, sdir)
| 140 | return (1. - err) * 100 |
| 141 | |
| 142 | def load_decoder_and_message(msg_len, sdir): |
| 143 | sdict = torch.load(os.path.join(sdir, f'CLIP-MsgDecoder-{msg_len}.pkl'), map_location='cpu', weights_only=True) |
| 144 | model = CLIPWatermarker(msg_len=msg_len) |
| 145 | model.load_state_dict(sdict.pop('model')) |
| 146 | for k, v in model.named_parameters(): |
| 147 | v.requires_grad = False |
| 148 | message = random.choice(sdict['data'])[1] |
| 149 | return model.cuda(), message.cuda() |
no test coverage detected