Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 고체역학
- 논문작성법
- 텝스공부
- IEEE
- 논문작성
- Julia
- JAX
- WOX
- ChatGPT
- 수치해석
- 인공지능
- teps
- Dear abby
- obsidian
- 우분투
- 생산성
- matplotlib
- 텝스
- MATLAB
- Zotero
- 딥러닝
- 에러기록
- LaTeX
- Linear algebra
- Numerical Analysis
- Python
- 옵시디언
- Statics
- 수식삽입
- pytorch
Archives
- Today
- Total
뛰는 놈 위에 나는 공대생
[인공지능] 인공지능 라이브러리 정리 본문
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 |
Comments