Problem Solving with Algorithms

728x90
반응형

Julia 프로그래밍 언어

줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필요 사항을 만족시키면서 일반 목적 프로그래밍에도 효과적으로 사용될 수 있도록 설계된 고급 동적 프로그래밍 언어입니다. - 출처: 위키백과

 

조금 더 자세한 한국어 정보는 나무위키(https://namu.wiki/w/Julia)에서 볼수있고,

자세한 영문 정보는 (https://en.wikipedia.org/wiki/Julia_(programming_language)) 여기에서 볼 수 있습니다.

 

Julia 프로그래밍 언어

 

 

2025년 현재 TIOBE에서 줄리아의 순위는 30위 이며, 2022년 보다는 순위가 낮아졌습니다.

2025년 현재 파이썬이 독보적인 1위이다.

 

 

간단하게는 MIT에서 만든 언어이며, 현재 아래의 대학들에서 가르치고 있다고 합니다.

 

대학명 과목명 혹은 분야 비고
AGH University of Science and Technology (폴란드) Medical Signal Processing 공학 분야
Arizona State University (미국) Numerical Analysis 수치해석
Azad University (이란) Modeling and Evaluation 공학
Brown University (미국) Computational Molecular Biology 생명정보학
Czech Technical University (체코) Engineering Mathematics 공학
EPFL (스위스) Decision-Aid Methodologies in Transportation 교통 및 산업공학
City University of New York (미국) Calculus Computer Laboratory 수학 교육

 

 

 

 

Julia 교재

Julia를 배우기 위해서 많은 교재들이 있지만, 이 중에 독일에 있는 TU Berlin(베를린 공대)의 튜토리얼을 추천합니다.

 

https://juml-tub.github.io/julia-ml-course/

 

4주만에 줄리아 프로그래밍을 배울 수  있도록 설계되어 있습니다.

 

저의 경우에는 주말동안 1주차씩 공부 해서, 한달 걸렸습니다.

 

 

강의 콘텐츠
1 0 일반 정보, 설치 및 도움말 받기
  1 기본 1: 유형, 제어 흐름 및 다중 디스패치
2 2 기본 2: 배열, 선형대수
  3 플로팅 및 데이터 프레임
3 4 기본 3: 데이터 구조 및 사용자 정의 유형
  5 고전적인 머신 러닝
4 6 자동 미분
  7 딥러닝
5 프로젝트 워크플로: 스크립트, 실험 및 패키지
  프로젝트 프로파일링 및 디버깅

 

처음 3주는 Julia 프로그래밍 언어의 기본을 가르치는 데 중점을 둡니다. 이 기간 동안 긴 강의가 이어지고, 이어서 플로팅, 데이터 프레임, 고전적인 머신러닝 알고리즘을 포함한 Julia 생태계에 대한 짧은 "가이드 투어"가 진행됩니다.

 

4주차는 딥 러닝에 관한 내용입니다. 자동 미분(AD)에 대한 포괄적인 강의를 통해 Julia의 다양한 AD 패키지 간의 차이점을 살펴본 후, Flux의 딥 러닝 생태계에 대한 간략한 개요를 제공합니다.

 

마지막으로, 5주차에는 Julia 프로젝트를 직접 시작하고, Julia 패키지의 구조와 재현 가능한 머신 러닝 연구를 위한 다양한 워크플로를 살펴보는 시간을 갖습니다. 이어서 Julia의 디버깅 및 프로파일링 유틸리티를 시연합니다.

 

 

패키지 강의 설명 파이썬 동등물
LinearAlgebra.jl 2 선형대수학(표준 라이브러리) numpy
Plots.jl 3 플로팅 및 시각화 matplotlib
DataFrames.jl 3 표 형식 데이터 작업 및 처리 pandas
MLJ.jl 5 고전적인 머신 러닝 방법 scikit-learn
ChainRules.jl 6 자동 미분을 위한 정방향 및 역방향 규칙  
Zygote.jl 6 역모드 자동 미분 JAX, PyTorch
Enzyme.jl 6 정방향 및 역방향 모드 자동 미분 JAX
ForwardDiff.jl 6 순방향 모드 자동 미분  
FiniteDiff.jl 6 유한차분  
FiniteDifferences.jl 6 유한차분  
Flux.jl 7 딥러닝 추상화 PyTorch, Keras
MLDatasets.jl 7 데이터셋 로더  
PkgTemplates.jl 프로젝트 패키지 템플릿  
DrWatson.jl 프로젝트 과학 프로젝트를 위한 워크플로  
Debugger.jl 프로젝트 디버거  
Infiltrator.jl 프로젝트 디버거  
ProfileView.jl 프로젝트 프로파일러  
Cthulhu.jl 프로젝트 유형 추론 디버거  

 

 

 

강의 내용 정리

0강

[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - Julia 설치

 

Julia 프로그래밍 - Julia 설치

이전 글[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필

inner-game.tistory.com

 

1강

[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 유형, 제어 흐름, 함수 및 다중 디스패치

 

Julia 프로그래밍 - 유형, 제어 흐름, 함수 및 다중 디스패치

[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필요 사항

inner-game.tistory.com

 

2강

[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 배열 및 선형 대수

 

Julia 프로그래밍 - 배열 및 선형 대수

[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필요 사항

inner-game.tistory.com

 

3강

[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 플롯과 데이터 프레임

 

Julia 프로그래밍 - 플롯과 데이터 프레임

[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필요 사항

inner-game.tistory.com

 

 

4강

[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 사전, 세트 및 사용자 정의 유형

 

Julia 프로그래밍 - 사전, 세트 및 사용자 정의 유형

[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필요 사항

inner-game.tistory.com

 

 

 

5강

[AI 인공지능 머신러닝 딥러닝/머신러닝] - Julia 프로그래밍 - 머신 러닝을 위한 Julia

 

Julia 프로그래밍 - 머신 러닝을 위한 Julia

[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필요 사항

inner-game.tistory.com

 

 

 

 

6강

[AI 인공지능 머신러닝 딥러닝/Julia] - 줄리아 프로그래밍 - 자동 미분 Automatic differentiation | Forward- & Reverse-Mode AD

 

줄리아 프로그래밍 - 자동 미분 Automatic differentiation | Forward- & Reverse-Mode AD

첫 강의: [AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필

inner-game.tistory.com

 

 

 

 

 

7강

[AI 인공지능 머신러닝 딥러닝/Julia] - 줄리아 프로그래밍 - 딥러닝, Deep Learning

 

줄리아 프로그래밍 - 딥러닝, Deep Learning

첫 강의: [AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필

inner-game.tistory.com

 

 

 

자주 묻는 질문

왜 줄리아를 배워야 하나요?
Julia는 공식 웹사이트의 내용을 다음과 같이 요약했습니다 .

- 빠름: 고성능 컴퓨팅을 위해 설계되었으며 LLVM으로 컴파일됩니다.
- 동적: 동적으로 입력되는 대화형 REPL
- 재현 가능: 뛰어난 패키지 관리자, 재현 가능한 환경 및 사전 빌드된 바이너리
- 구성 가능: 여러 디스패치를 ​​사용합니다.
- 일반: 비동기 I/O, 메타프로그래밍 등을 허용합니다.
- 오픈 소스: 개방형 개발, 관대한 MIT 라이선스 사용

만약 이러한 특징들이 당신에게 매력적으로 들린다면, 줄리아를 배워보세요!



노트북을 어떻게 실행할 수 있나요?
실행 노트북은 설치 노트북 의 "개강 및 숙제" 섹션에 설명되어 있습니다 .

또는 "이 노트북 편집 또는 실행"을 클릭하여 Binder에서 노트북을 열 수 있습니다 . 하지만 Binder는 로딩 시간이 매우 오래 걸릴 수 있습니다. Pluto 노트북은 "Binder에서 실행" 버튼 위에 예상 로딩 시간을 표시합니다 .

Git에 익숙하시다면 이 강의의 GitHub 저장소를 복제하실 수도 있습니다 . 그런 다음 Pluto에서 강의 및 과제의 로컬 복사본을 열 수 있습니다. 강의 복사본을 최신 상태로 유지하려면 정기적으로 가져오기를 수행하세요.

 

 

⁽⁺⁾일부 슬라이드 제목에 있는 기호는 무엇을 의미합니까?

이 기호는 건너뛸 수 있는 선택 사항(대개 더 고급) 콘텐츠를 나타냅니다.

 

 

감사의 말

이 웹사이트의 형식과 이 과정의 내용은 다음 강의의 영향을 받았습니다.

많은 감사합니다

 

 

이 블로그의 관련 글

[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 무료 강의 추천 - Datacamp

 

Julia 프로그래밍 무료 강의 추천 - Datacamp

데이터캠프 datacamp.com 라는 사이트를 추천드립니다. Coursera나 edX 처럼 무료 교육으로 아주 유명한 사이트입니다. 사이트주소 : datacamp.com 간단히 구글계정으로 로그인 하시면 됩니다. 지원되는 언

inner-game.tistory.com

 

 

 

 

[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - Julia 설치

 

Julia 프로그래밍 - Julia 설치

이전 글[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필

inner-game.tistory.com

 

 

[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 유형, 제어 흐름, 함수 및 다중 디스패치

 

Julia 프로그래밍 - 유형, 제어 흐름, 함수 및 다중 디스패치

목차 - 머신 러닝을 위한 Julia 줄리아 소개안녕하세요 세상변수기본 연산자산술 연산자숫자 비교부울 연산자비트 연산자 ⁽⁺⁾운영자 업데이트유형 시스템유형기타 일반적인 숫자 유형--무리

inner-game.tistory.com

 

728x90
반응형
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
250x250