Development/Tensorflow

[tf.cond()] tensor flow v1 if문 대신 tf.cond() 사용해서 branch 나누기

위풍당당 가리비 2023. 6. 11. 10:07
반응형

반응형

상황

  • Tensorflow v1을 사용할 때 네트워크가 특정 조건에 따라 다른 동작을 하도록 만들어야 하는데 if문으로는 작동하지 않는다.
  • 왜냐하면 Tensorflow v1은 static하게 동작하기 때문에 처음에 computational graph를 다 만들어 놓은 다음에 동작을 하게 된다. pytorch로 치면 network 선언과 forward 동작을 한꺼번에 코딩해줘야 하는 느낌과 비슷하다.

Solution

  • 그래서 Tensorflow v1을 사용해서 네트워크를 만들 때 동적으로 branch가 갈리도록 하고 싶으면 if문이 아니라 tf.cond()함수를 사용해야 한다.


Reference

  • Tensorflow v1.15 official document : link
반응형