<텐서플로 vs 파이토치 vs 케라스 장단점 비교>
커리어리 친구들, 우연찮게 제 페북의 타임라인에 많이 공유되어 여기에 인공지능 및 머신러닝/딥러닝 장단점 비교를 한 내용을 핵심만 정리해서 공유합니다. 🕹️ 텐서플로 - 데이터 플로우 그래프를 통한 풍부한 표현이 가능함 - 계산 구조와 목표 함수만 정의 면 자동으로 미분 계산을 처리함 - 텐서보드를 통해서 파라미터 변화 양상 및 DNN 구조를 알 수 있음 - 메모리를 효율적으로 사용하지 못하고 있음 - Symbolic Loop 기능이 유연하지 못하며, 함수가 있어도 텐서 타입으로만 적용해야 함 🕹️ 파이토치 - 익히기 쉽고 간결하며 구현이 빠르게 됨 - 비교적 빠른 최적화가 가능함 - 그래프를 만들면서 동시에 값을 할당하는 define by run 방식으로 코드를 깔끔하게 작성할 수 있음 - 텐서플로우에 비해 학습에 필요한 예제를 구하기 쉽지 않음 - 텐서플로우보다 디테일한 모델링이 불가능함 🕹️ 케라스 - 사용자 친화성, 모듈성, 확장성이있어서 일관되고 간결한 API를 제공함 - 배우기 쉽고 모델 구축이 쉬움 - 컨볼루션 신경망, 순환 신경망, -그리고 둘의 조합까지 모두 지원 - 어떤 오류가 발생했을 때 케라스자체의 문제인지, 백엔드 언어의 문제인지 특정하기 어려움 - 문서화가 제대로 되어 있지 않고이용자 수가 적어 참고할 곳이 부족함 저의 경험은, 텐서 플로 v1 나올 때 많이 사용했는 데, 버전2가 늦게 나오고 v1 에서 v2 마이그레이션이 너무 어려워서 그 당시 미국의 박사들로 부터 추천 받는 서서히 인기있었던 파이토치를 사용하게 되었습니다. 여러분들은 어떠신가요?? https://fastcampus.co.kr/story_article_framework?utm_source=facebook&utm_medium=viral&utm_campaign=prd%5E220401%5E206331&utm_content=fcchannel%5Eframework%5E206331