더 이상 tistory 블로그를 운영하지 않습니다. glanceyes.github.io에서 새롭게 시작합니다.

새소식

AI/AI 기본

딥 러닝에서 주로 사용하는 프레임워크(Framework)

  • -

 

2022년 1월 24일(월)부터 28일(금)까지 네이버 부스트캠프(boostcamp) AI Tech 강의를 들으면서 개인적으로 중요하다고 생각되거나 짚고 넘어가야 할 핵심 내용들만 간단하게 메모한 내용입니다. 틀리거나 설명이 부족한 내용이 있을 수 있으며, 이는 학습을 진행하면서 꾸준히 내용을 수정하거나 추가해 나갈 예정입니다.

 

 

Deep Learning의 프레임워크

 

프레임워크와 라이브러리의 차이

요약하자면, 제어의 흐름에 대한 틀이 짜여져 있으면 프레임워크, coder 자신이 작성한 코드가 직접 제어의 흐름을 담당하면 라이브러리라고 할 수 있다.

https://youtu.be/t9ccIykXTCM

 

Keras

  • wrapper
  • TensorFlow와 Pytorch를 사용자가 보다 편하게 사용할 수 있게 감싼 high-level API다.
  • 최근에 Tensorflow와 통합되었다고 봐도 무방하다.

 

 

TensorFlow v.s. PyTorch

  • Tensorflow와 Pytorch의 가장 큰 차이는 Computational graph로 정적 그래프를 사용하느냐(Tensorflow) 동적 그래프를 사용하느냐(Pytorch)다.
  • TensorFlow는 먼저 그래프를 정의하는 코드를 작성하고, 실행 시점에 데이터를 넣어주는 Define and Run 방식을 사용한다.
  • TensorFlow는 다음과 같은 장점을 지닌다.
    • Production과 Scalability
    • Cloud 연결과 Multi GPU
  • PyTorch는 실행을 하면서 그래프를 생성하는 Define by Run 방식을 사용하여 즉시 확인이 가능하다. (pythonic code)
  • PyTorch의 장점은 다음과 같다.
    • 쉬운 Debugging
    • 논문 아이디어 구현의 용이함
  • Computational graph는 연산 과정을 그래프로 표현한 것으로, 학습이 진행되며 그래프가 그려지는 Dynamic computation의 경우 더 편리하고 debuging에 강점이 있다. 이는 최근 Pytorch가 더 인기 있는 이유이다.

 

아래는 PyTorch가 최근(2022년 2월 기준) 딥러닝의 프레임워크로서 더 인기를 얻고 있다는 것을 보여준다.

https://paperswithcode.com/trends

 

Papers with Code - Papers With Code : Trends

Papers With Code highlights trending Machine Learning research and the code to implement it.

paperswithcode.com

 

Contents

글 주소를 복사했습니다

부족한 글 끝까지 읽어주셔서 감사합니다.
보충할 내용이 있으면 언제든지 댓글 남겨주세요.