[인공지능] 인공지능 라이브러리 정리

2023. 8. 24. 11:47·연구 Research/인공지능 Artificial Intelligent

 

MATLAB을 제외하고 인공지능 툴을 쓸 수 있는 환경은 대부분 파이썬이다. 그런데 파이썬만 있다고 끝나는 것이 아니라 인공지능 라이브러리를 동반해야 한다.

 

나는 Tensorflow2, Keras, PyTorch, JAX 까지 다 써보고 현재는 Julia도 고려하는 중이다. (Tensorflow1은 써봤는데 불편하기도 하고 그 때는 2가 막 활발해지던 시점이라서 그냥 넘겼다.)

 

철저히 개인적인 경험을 바탕으로 작성하는 것이라서 연구 쪽에 초점이 맞춰져있고, 그걸 감안하고 보면 될 것이다.

혹시 실무를 하시는 분들이 있으면 본인의 경험을 공유해주시면 정말 좋을 것 같다.

 

아래가 내용을 정리한 표

 


Tensorflow Keras PyTorch JAX Julia
특징 Google에서 시작 프랑소와 숄레가 창시한 언어 객체지향형 프로그래밍 방식
페이스북에서 시작
Google에서 시작한 함수형 프로그래밍 방식 MIT에서 만든 함수형 프로그래밍 언어
장점
-(version2로 넘어오면서) 구현 난이도가 낮아 쉽게 인공지능 구현 가능
-이용자가 많아 자료도 많음 (여러 교육자료에서 대부분 쓰이는 라이브러리)
-수많은 함수를 제공해줌으로써 구현 난이도가 낮아 쉽게 인공지능 구현 가능
-Keras와 Tensorflow가 서로 연동되면서 구현하기가 훨씬 좋아짐
-객체지향 프로그래밍 덕분에 자율성이 높아 연구 코드에 많이 활용됨
-다른 연구자들도 많이 사용하는 방식이어서 깃헙에서 가져와 쓰기 좋음
-압도적으로 빠른 학습 속도
-Numpy와 바로 호환되므로 번거롭지 않음
-직접 만든 알고리즘을 테스트하기 좋음
-아직 안 써봐서 모름
단점 - 케라스와 마찬가지로 직접 만든 알고리즘을 구현하기에는 아쉬움이 있음 - 본인이 직접 알고리즘을 만들어서 구현하기가 까다로운 편
-tensor라는 데이터 형식을 사용하기 때문에 numpy array와 전환할 때 따로 처리해야함
-객체지향 프로그래밍이 익숙하지 않으면 구현 난이도가 높음
-Linux에서만 제공함 (2023.08 기준) / 윈도우에서 쓰려면 우회방법을 사용
-새로운 코드 방식이므로 구현할 때 어려움
-빠른 속도를 위해 GPU 메모리를 모두 잡아먹음
-아직 안 써봐서 모름
-이용자가 적어서 자료가 적음
책 / 공부자료 머신러닝 교과서 with 파이썬, 사이킷런, 텐서플로 케라스 창시자에게 배우는 딥러닝, 프랑소와 숄레 지음, 길벗 출판사 PyTorch 공식홈페이지 tutorial JAX 공식 문서 tutorial 권창현 교수님의 책

 

 

저작자표시 비영리 변경금지 (새창열림)

'연구 Research > 인공지능 Artificial Intelligent' 카테고리의 다른 글

[인공지능] Learning에서 scaling이 중요한가  (0) 2023.09.20
[JAX] vmap과 jit의 속도  (0) 2023.09.20
[JAX] JAX에서 gradient 추척을 멈추는 방법  (0) 2023.08.22
[PyTorch] 인공지능 재현성을 위한 설정과 주의할 점  (0) 2023.08.11
Neural networks의 convergence, convexity에 대한 논문  (0) 2023.07.31
'연구 Research/인공지능 Artificial Intelligent' 카테고리의 다른 글
  • [인공지능] Learning에서 scaling이 중요한가
  • [JAX] vmap과 jit의 속도
  • [JAX] JAX에서 gradient 추척을 멈추는 방법
  • [PyTorch] 인공지능 재현성을 위한 설정과 주의할 점
보통의공대생
보통의공대생
수학,프로그래밍,기계항공우주 등 공부하는 기록들을 남깁니다.
  • 보통의공대생
    뛰는 놈 위에 나는 공대생
    보통의공대생
  • 전체
    오늘
    어제
    • 분류 전체보기 (468)
      • 공지 (1)
      • 영어 공부 English Study (40)
        • 텝스 TEPS (7)
        • 글 Article (21)
        • 영상 Video (10)
      • 연구 Research (99)
        • 최적화 Optimization (3)
        • 데이터과학 Data Science (7)
        • 인공지능 Artificial Intelligent (40)
        • 제어 Control (45)
      • 프로그래밍 Programming (103)
        • 매트랩 MATLAB (25)
        • 파이썬 Python (33)
        • 줄리아 Julia (2)
        • C++ (3)
        • 리눅스 우분투 Ubuntu (6)
      • 항공우주 Aeronautical engineeri.. (21)
        • 항법 Navigation (0)
        • 유도 Guidance (0)
      • 기계공학 Mechanical engineering (13)
        • 열역학 Thermodynamics (0)
        • 고체역학 Statics & Solid mechan.. (10)
        • 동역학 Dynamics (1)
        • 유체역학 Fluid Dynamics (0)
      • 수학 Mathematics (34)
        • 선형대수학 Linear Algebra (18)
        • 미분방정식 Differential Equation (3)
        • 확률및통계 Probability & Sta.. (2)
        • 미적분학 Calculus (1)
        • 복소해석학 Complex Analysis (5)
        • 실해석학 Real Analysis (0)
      • 수치해석 Numerical Analysis (27)
      • 확률 및 랜덤프로세스 Random process (2)
      • 추론 & 추정 이론 Estimation (3)
      • 기타 (26)
        • 설계 프로젝트 System Design (8)
        • 논문작성 Writing (55)
        • 세미나 Seminar (2)
        • 생산성 Productivity (3)
      • 실험 Experiment (1)
      • 유학 생활 Daily (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    IEEE
    논문작성법
    수치해석
    에러기록
    옵시디언
    JAX
    텝스공부
    고체역학
    matplotlib
    LaTeX
    obsidian
    생산성
    텝스
    논문작성
    ChatGPT
    인공지능
    Python
    서버
    Numerical Analysis
    pytorch
    Dear abby
    teps
    WOX
    Statics
    우분투
    Julia
    Zotero
    딥러닝
    MATLAB
    Linear algebra
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
보통의공대생
[인공지능] 인공지능 라이브러리 정리
상단으로

티스토리툴바