Deep Learning (DL) Framework의 동작방식을 비교하는 용어.
DL Model의 구축과 실행이 어떻게 이루어지는지로 구분됨.
Define and Run
DL Model을 구축 (= Computational Graph)이 먼저 이루어지고,
이후 input tesnsor를 정의된 모델에 입력하여 실행(or 연산)이 이루어짐.
대표적으로 TensorFlow 1.x 에서 채택한 방식임.
- DL Model의 구조 (~ Computational Graph의 구조)가 먼저 완전하게 정의되고 나서 실행이 이루어짐.
- DL Model의 최적화 등을 보다 쉽게 할 수 있음 (compiler language에서와 유사한 최적화 가능)
- DL Model의 변경이 쉽지않음.
- 개발 과정에서 디버깅에서 불편함.
Define by Run
DL Model의 구조가 입력에 해당하는 tensor로부터 실행이 시작되는 시점에 정의됨.
대표적으로 PyTorch와 TensorFlow의 Eager mode에서 채택한 방식임.
- DL Model의 구조 정의가 실행과 함게 이루어짐.
- DL Model의 구조를 쉽게 변경가능하여 복잡한 구조 구현에 유리하지만,
- DL Model의 최적화가 효율적으로 이루어지기 어려움 (interpreter language에서의 경우와 유사)
'Python' 카테고리의 다른 글
[Python] pathlib.Path 사용하기. (0) | 2024.03.31 |
---|---|
[DL] Tensor: Random Tensor 만들기 (NumPy, PyTorch) (0) | 2024.03.29 |
[DL] Tensor에서 maximum, minimum 찾기 (0) | 2024.03.28 |
[Python] Enum (열거형, Enumeration Type) (0) | 2024.03.24 |
[OOP] Example: MObject, Point, and Class (0) | 2024.03.23 |