딥마인드가 새로운 텐서플로우 래퍼 라이브러리 소네트Sonnet를 오픈소스로 공개했습니다. 이로써 텐서플로우 래퍼 라이브러리가 또 하나 늘었네요. 소네트는 객체지향(OOP) 스타일을 따르고 있어 파이토치와 같이 개발의 편의와 재미를 줄 수 있을 것 같습니다. 소네트의 핵심은 텐서플로우의 그래프 정의를 파이썬 오브젝트화시킨 모듈입니다. 소네트의 모듈을 이용해 파이썬 오브젝트를 만들어 계산 그래프 정의 부분을 객체화시킨 효과를 가집니다. 그리고 자신만의 모듈을 정의해서 사용할 수도 있습니다. 자세한 내막은 다르겠으나 겉 모양새는 씨아노의 래퍼인 라자냐lasagne와 흡사해 보입니다.
아직은 초기 버전이라 직접 컴파일하여 설치해야 하고 맥/리눅스의 파이썬 2.7 만 지원합니다(구글 내부에서는 아직 파이썬 2.7의 레거시가 상당하다는 소문입니다). 소네트도 배워야할지 아직 잘 모르겠습니다. 딥마인드가 단발성의 릴리즈는 아니라고 하는 것을 보아서는 제대로된 릴리즈를 계획하고 있을 것 같습니다. pip 설치나 파이썬 3.5, 윈도우즈 지원등이 된다면 케라스Keras와 자주 비교될 것 같습니다. 가장 인기있는 텐서플로우 래퍼 라이브러리인 케라스를 만든 구글의 프랑소와 숄레는 소네트에 대해 아직 아무런 반응을 보이진 않고 있습니다. 🙂