AI 프레임워크 (파이토치,텐서플로우) (2) 썸네일형 리스트형 TF - eager execution , JIT (@tf.function , jax) 텐서플로우는 기본적으로 static graph 를 구축한다. // tf.session() TF2.0 에서는 eager execution 모드를 지원하는데, 이를 통해 파이썬 처럼 늘여놓고, 그래프를 생성하지 않아도 텐서를 만들고 값을 계산할 수 있게 해준다. 이런 eager execution 은 성능에 영향을 주기 때문에, 일반 연산을 그래프 연산으로 변환할 수 있다. // @tf.function 을 붙인다. @tf.function 은 JIT 컴파일을 지원하여서, 런타임시에 특정코드를 기계어로 번역해준다. XLA(Accelerated Linear Algebra) 기능도 포함한다. XLA = 선형대수학용 컴파일러 - 내부에서 그래프를 최적화함. 여러 연산을 하나의 커널로 만들어 풀이하기 때문에, 이 때문에.. JIT / Torch Script : 1. TRACE MODE , 2. SCRIPT MODE PyTorch JIT 은 Pytorch 의 IR(중간표현)이다. 이 중간 표현을 Torch Script 라고 부르는데, Pytorch 의 '그래프' 표현이다. 파이토치는 텐서플로우와 다르게 동적 그래프를 이용하기 때문에, 따로 그래프 표현을 해주어야 한다. 사용하는 이유 : Python 언어에 의존하지 않고, 불러낼 수 있음. -> 최적화가 가능하고, 다른 언어에서 사용이 가능한 형태. 파이토치 모델을 IR(Torch Script) 으로 바꾸는 방법. 1. 추적 모드 : 실행되지 않은 제어흐름 (EX) if문) 을 캡처할 수 없음. 코드를 실행하고 발생하는 작업을 기록하며 정확하게 수행하는 스크립트 모듈을 구성함. - 제어흐름은 지워짐. => input과 같은 shape 를 갖춘 random input .. 이전 1 다음