올해 2분기에 텐서플로2.0이 정식 출시될 예정입니다. 앞자리가 바뀌는 큰 버전업인 만큼, 많은 부분이 변경되었습니다.
첫 번째는 케라스의 위상이 엄청나게 높아졌습니다. 기존 텐서플로는 tf.nn의 로우레벨API와 tf.layers, tf.estimator, tf.keras같은 하이레벨API로 구분되었습니다. 2.0에서는 layers와 estimator가 없어지고 keras로 통일되었습니다.
텐서플로 공식 튜토리얼을 봐도 tf.nn이 아니라 모두 케라스 코드로 되어 있습니다. 앞으로 텐서플로 쓴다고 말하면 케라스 사용하는구나라고 생각할 만큼 케라스가 더 중요해질 것 같습니다.
두 번째는 텐서플로 실행방법이 완전 변했습니다. 원래는 그래프를 만들고 placeholder로 입력을 설정합니다. 그다음 session을 생성하고 run(feed_dict=)처럼 입력값을 placeholder의 위치로 넣어서 실행합니다.
이제 즉시 실행(eager execution)이 적용되어 placeholder, session, feed_dict가 없어졌습니다. 대신 function이란 개념이 생기고, function_name(input)처럼 함수처럼 만들어 실행이 가능합니다. 아래 페이지를 보면 2.0으로 컨버팅하는 방법이 자세히 나와있습니다.
https://www.tensorflow.org/alpha/guide/migration_guide
이제 텐서플로2.0이 나오면 관련 책들은 모두 개정판을 내야될지도 모르겠습니다. 모든 소스코드들을 거기에 맞게 수정해야 되니까요. 대신 케라스 책들은 그대로 사용할 수 있기 때문에 더 인기를 끌지 않을까 생각됩니다.
어려운 내용들을 쉽게 설명해주는 사이트..감사합니다.