dev_AI_framework

계산 그래프

명징직조지훈 2024. 8. 28. 19:40

Keras의 계산 그래프는 TensorFlow나 다른 백엔드에서 실행될 수 있는 딥러닝 모델의 연산을 정의하는 그래프 구조입니다. 계산 그래프는 노드와 엣지로 구성되며, 노드는 연산(Operation)이나 변수(Variable)를 나타내고, 엣지는 노드 간의 데이터 흐름을 나타냅니다.

Keras에서의 계산 그래프 개념

  1. 연산(Operation) 노드:
    • 각 레이어는 하나의 연산 노드에 해당합니다. 예를 들어, Dense 레이어는 입력에 가중치 곱셈과 활성화 함수를 적용하는 연산을 수행합니다.
    • Keras에서 Layer 클래스의 call 메서드는 이러한 연산을 정의합니다.
  2. 텐서(Tensor)와 엣지:
    • 텐서는 계산 그래프에서 데이터를 나타내는 객체입니다. 일반적으로 N차원의 배열이나 행렬로 볼 수 있습니다.
    • 엣지는 연산 노드 간의 데이터 흐름을 나타내며, 텐서는 이러한 엣지를 통해 그래프 내에서 이동합니다.
  3. 입력(Input)과 출력(Output):
    • 계산 그래프의 시작점은 입력 텐서이고, 종점은 출력 텐서입니다.
    • keras.Input 함수는 입력 텐서를 정의하며, 이는 계산 그래프에서 데이터가 들어오는 시작점을 나타냅니다.
    • 모델의 최종 출력은 그래프의 끝 노드에서 나온 텐서로, 모델의 예측값에 해당합니다.
  4. Functional API:
    • Keras의 Functional API를 사용하면 명시적으로 계산 그래프를 정의할 수 있습니다. 예를 들어, 다음과 같은 코드는 입력 텐서에서 시작하여 여러 레이어를 거쳐 출력 텐서로 연결되는 계산 그래프를 만듭니다.

 

계산 그래프를 어떻게 정의하고 전달할지에 대한 고민도 해보자...