연구 생태계와 바로 이어진다
PyTorch 2.1.0 이상을 백엔드로 고르면 연구 현장에서 널리 쓰는 생태계에 Keras를 그대로 연결할 수 있어. Hugging Face Transformers, torchvision, torchaudio뿐 아니라 새 사전 학습 모델도 PyTorch를 먼저 지원하는 경우가 많아. 즉시 실행 방식이 기본이라 중단점을 걸고 텐서를 확인하는 평범한 Python 디버깅도 자연스러워.
Keras 모델이 실제 torch.nn.Module이 된다
이 백엔드에서는 Keras 레이어와 모델이 실제 torch.nn.Module 인스턴스가 돼(코드 블록 참고). 겉을 감싼 모형이 아니라 실제 타입이므로 Keras 모델을 직접 작성한 PyTorch 학습 루프에 넣거나 부모 nn.Module에 등록할 수 있어. 매개변수를 torch.optim 옵티마이저에 넘기는 것도 가능하지. 평소에는 compile과 fit의 편의를 누리고, 필요한 순간에는 torch.autograd 수준으로 내려갈 수 있다는 뜻이야.
다만 KERAS_BACKEND=torch일 때 모델의 입력과 출력은 PyTorch 텐서야. TensorFlow 텐서처럼 다른 백엔드 객체를 같은 계산에 섞으면 자료형 오류가 나. 백엔드와 무관한 코드는 keras.ops로 작성해야 해.