torch.load의 weights_only 인자값을 강제로 False로 지정하기

보안 이슈로 torch 2.6인가 2.7부터는 torch.load의 weights_only 인자값이 기본적으로 True로 지정된다고 한다. 이것으로 인해 문제가 발생하는 상황인데.. 이 경우 해결에 대한 정석은 문제가 발생하는 클래스를 torch.serialization.add_safe_globals를 통해 추가하라고 되어 있다. 예를들어 아래처럼..

import torch
from pyannote.audio.core.task import Specifications
torch.serialization.add_safe_globals([Specifications])

그러나 안된다. 그럼 torch.load에 대한 weights_only 인자값을 False로 지정하면 되는데 해당 코드가 깊숙이 감춰져 있다. 결국 위험하지만 torch.load의 weights_only 인자값을 강제로 False로 지정하는 방안이다. 아래처럼..

_original_torch_load = torch.load

def _trusted_load(*args, **kwargs):
    kwargs['weights_only'] = False
    return _original_torch_load(*args, **kwargs)

torch.load = _trusted_load

결국 이렇게 해서 진행함.. 그런데 이 방법은 절대로 추천할 수 없다. 급할 때만 사용할 것.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다