티스토리 뷰

What are Jupyter notebooks?

 - Jupyter(주피터)는 텍스트, 수학 방정식, 코드 등의 시각화를 모두 가능하게 해줌

 - 공유 가능한 문서 형태로 작업이 가능한 웹 어플리케이션. 

 - 예를 들어, LIGO 실험(https://www.ligo.caltech.edu/news/ligo20160211)에서 감지 된, 

 - 충돌하는 두 개의 블랙홀에서의 중력파를 감지하는 코드를 직접 실행시켜 분석할 수 있다.

 - 데이터를 다운로드하고, 노트북에서 코드를 실행하기만 하면 실제로 중력파를 개인이 감지할 수 있다.

 - https://losc.ligo.org/s/events/GW150914/GW150914_tutorial.html


 - 주피터 노트북은 데이터 정리 및 탐색, 시각화, 머신러닝 및 빅데이터 분석에 사용된다. 

 - https://github.com/mcleonard/blog_posts/blob/master/body_fat_percentage.ipynb

 - 위의 블로그를 들어가보면, 주피터 노트북으로 코드는 물론, 텍스트, 도표, 수학적 공식 등의 표현이 가능함을 확인할 수 있다.

 - 주피터 노트북은 GitHub에서 자동으로 렌더링되게도 가능하다. 

 - 또한 http://nbviewer.jupyter.org/에서 GitHub repo 또는 다른 곳에 저장된 주피터 노트북에서 노트를 렌더링하는것이 가능하다.






How notebooks work

 - Jupyter 노트북은 Fernando Perez가 시작한 IPython 프로젝트에서 개발됨. 

 - IPython은 일반적인 파이썬 쉘과 비슷하지만 구문 강조 및 자동 코드 완성과 같은 기능을 가진 대화식 쉘.

 - 원래 주피터 노트북은 웹 어플리케이션 (브라우저에 표시되는 노트)에서 

 - IPython 커널 (백그라운드에서 실행되는 IPython 응용 프로그램)로 메시지를 보내는 방식으로 작동하였음. 

 - 커널은 코드를 실행 한 다음 다시 주피터 노트북으로 보낸다. 


# 주피터 노트북 작동 원리 / 출처 : Jupyter documentation


 - 주피터 노트북 서버를 중심으로 작동한다.

 - 브라우저(엣지, 크롬 등..)를 통해 주피터 서버에 접속하게 되면, 주피터 노트북이 렌더링되는 개념

 - 웹에 작성한 코드는 서버를 통해 주피터 노트북 커널로 보내진다.

 - 커널은 코드를 실행하고 서버로 다시 재전송한다. 그리고 그 코드에 상응하는 output이 브라우저로 렌더링된다.

 - 주피터 노트북상에서 작성한 파일을 저장할 경우, JSON 파일과 .ipynb확장자의 파일을 통해 서버에 기록된다.


 - 이 아키텍쳐의 장점은 커널이 파이썬을 돌릴 필요가 없다는 것이다.

 - 주피터 노트북 서버와 커널이 분리되어있어, 어떤 언어로건 코드를 전송할 수 있다.

 - 예를들어 R언어로 작성된 코드는 R커널로 전송된다.

 - 따라서 주피터 노트북은 언어에 구애를 받지 않는다고 볼 수 있다.

 - 지원되는 커널 목록 : https://github.com/jupyter/jupyter/wiki/Jupyter-kernels

 - 또한 인터넷을 통해 액세스 하기때문에, 서버가 실행되는 한 어디서든 접근이 가능하다.







Installing Jupyter Notebook


 - Jupyter를 설치하는 가장 쉬운방법은 Anaconda이다.

 - 주피터 노트북은 자동으로 Anaconda 배포판과 함께 설치된다.

 - 그러므로 디폴트 환경에서 주피터 노트북을 사용할 수 있다.


#> conda install jupyter notebook 명령으로 주피터를 설치할 수 있다.

#> pip install jupyter notebook 명령으로 pip로도 설치가 가능하다.



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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 31
글 보관함