주피터 노트북이란?

    주피터 노트북이란 무엇일까요

    파이썬으로 프로그래밍을 할 때 주피터 노트북을 사용하는 경우가 많습니다. 특히 딥러닝을 실습할 때 많이 사용해보셨을 겁니다. 이번 글에서 도대체 주피터 노트북이 무엇인지 자세히 알아보고 왜 특히 딥러닝에 관련된 코드를 실습할 때 주피터 노트북을 사용하는지 알아보도록 하겠습니다. 간단하게 요약해서 말하면 주피터 노트북은 데이터 분석을 절차대로 실행하면서 확인이 가능합니다. 때문에 특정 단계에서의 결과를 봐가면서 순차적인 확인이 가능하다는 뜻이죠. 주피터 노트북은 아나콘다로 파이썬을 설치하면 자동으로 설치됩니다. 아나콘다의 홈페이지로 이동하시고 파이선 버전을 선택해서 받으시면 됩니다. 그러면 기본적으로 주피터 노트북 또한 설치됩니다. 설치를 완료하셨다면, 시작 프로그램에서 Anaconda3 폴더에 주피터 노트북이 추가된 것을 확인할 수 있습니다. 클릭해서 실행해줍니다. 실행을 하게 되면 인터넷 브라우저가 열리며 로컬 호스트 8888번 포트로 접속이 되면서 창이 하나 뜹니다. 사용방법은 작업할 폴더를 선택하시고 new python3을 클릭해서 추가할 수 있습니다. 편집기에 표시된 셀에 파이썬 코드를 작성할 수 있으며, Run 버튼을 통해서 결과를 빠르게 확인할 수도 있습니다. 따라서 간단하게 코드를 추가하고 실행하는 환경을 얻으신 겁니다. 이에 더해서 마크다운 형식도 지원하여, 문서화 작업을 할 때 유용하게 사용하실 수 있습니다. 모드를 Code에서 Markdown으로 바꾸고 마크다운 형식으로 입력하면 됩니다. 마크다운 형식은 간단하기 때문에 구글에 검색하셔서 잠깐 확인하면 바로 사용할 수 있을 정도이니 궁금하신 분들은 참고하세요. Jupyter Notebook이 머신러닝에 자주 사용되는 이유는 시각화에 유용하고 다양한 프로그래밍 언어를 지원하기 때문입니다. 파이썬 말고도 R이나 스칼라 등의 언어를 지원하며 총 40개가 넘는 개발언어를 지원합니다. 간단한 단축키를 아는 것만으로도 여러 동작을 간편하게 사용하실 수 있습니다. 가장 강력한 특징은 기존의 컴파일러는 코드를 중간에 보여주는 것이 아니라 단지 결과물만 내어주고 개발자가 확인하는 구조였다면 주피터 노트북은 개발 중간에 바로바로 코드를 실행해서 확인할 수도 있고 시각화할 수가 있는 것이다. 또 기본적으로 에디터 프로그램이 아니라 웹 브라우저에서 실행되기 때문에 간결한 사용이 가능하고 원격 서버에도 호스팅이 가능하다는 장점이 있다. 아까 말씀드렸듯이 시각화가 가장 큰 강점이기 때문에 시각화 기능이 많이 요구되고 있는 데이터 사이언스 분야에서 유용하게 사용되고 있다. 하지만 단점 또한 존재했으니, 바로 주피터 노트북을 사용하기 위해서는 모든 라이브러리들이 포함된 환경이 요구되기 때문에 주피터 노트북 런타임이 잘 구비되어있지 않은 경우에는 실행이 어렵다는 것이다. 가장 간편히 주피터 환경을 만들 수 있는 방법은 아까도 말했듯이 아나콘다를 설치하면서 환경을 만드는 것이다. 또 주피터 노트북에서 사용했던 코드를 다른 주피터 환경에서 열어서 작업을 한다면 이전에 작업했던 환경을 불러오는 것이 어렵다. 세션 상태가 기존의 노트북에 종속되기 때문이다. 이는 한 가지 작업환경이 아닌 여러 곳에서 작업하는 개발자들에게는 다소 불편함을 유발할 수 있다. 또 대화형 디버깅 등의 기능 또한 없어서 그렇게 완벽한 개발환경은 아니라는 것이다. 이 점을 유의해서 사용하는 편이 좋겠다. 그런데 사실 사용하는데 이런 기능이 없다고 해서 큰 문제가 되지는 않는다. 이미 웹 브라우저를 통해서 구동된다는 것 자체가 그렇게 무겁지 않은 기능들로 이루어져 있다는 것이기 때문에 사실 그렇게 큰 기대를 한다는 것 자체가 무리일 수 있다. 다음은 케라스와 텐서 플로입니다. 거의 핵심 라이브러리라고 할 수 있죠. 제 블로그에서 많이 언급을 드린 것 같으니 이 두 개에 대해서는 생략하도록 하겠습니다. 아나콘다에서도 이 2개를 설치할 수 있습니다. Anaconda Prompt를 사용해서 pip 명령으로 텐서 플로우와 케라스를 설치하시면 됩니다. 파이썬 개발환경으로 사실 가장 많이 사용되고 있는 IDE는 파이 참이다. 젯 브레인사에서 개발한 통합 개발 환경으로 그렇게 가볍지는 않지만 무겁지도 않은 IDE라고 생각하시면 되겠습니다. 사실 좀 무거운 감이 없지 않아 있습니다. 그래서 비주얼 스튜디오 코드를 때때로 사용하기도 합니다. 그런데 비주얼 스튜디오 코드로 파이썬 개발이 가능하기는 하지만 정식적인 파이썬 개발환경이 아니라서 그런지 자동완성 기능이 약간 부족한 것도 있는 것 같더군요. 그리고 pep8 규약을 어기면 표시해주는 것이 파이 참에서는 잘 동작하는데 비주얼 스튜디오 코드에서는 따로 지적해주는 기능을 찾지 못했습니다. 코드 전체를 한 번에 검사해서 변형시켜주는 것은 있는 것 같은데 말이죠. 아시는 분은 덧글로 공유해주시면 감사하겠습니다. 아무튼 그래서 주피너 노트북으로 다시 돌아와 보면 처음 실행 시 비밀번호 같은 것을 입력하라고 할 수 있습니다. 토큰 번호를 입력해야 하는 상황인데요? 이럴 경우에는 cmd창을 확인하시면 token을 확인할 수 있습니다. 이것을 그대로 복사해서 입력하시면 해결할 수 있습니다. 이후에 로그인을 하면 정장적으로 로그인이 가능합니다. 여기까지 주피터 노트북이 무엇인지 알아보고 여러 IDE와의 차이점과 장단점 그리고 설치방법을 알아보았습니다. 글 하나에서 여러 개를 동시에 다뤄서 이 글 하나만 보시면 어느 정도 감이 오실 거라고 판단되네요. 혹시라도 부족했던 점이 있다면 피드백 부탁드리며 저는 이만 물러나도록 하겠습니다. 감사합니다.

    위 글을 모두 읽으시면 주피터 노트북에 대한 대략적인 사용방법은 아실 수 있을 텐데요? 그렇게 어렵지 않은 것을 느끼셨을 겁니다. 사실 그냥 설명을 안본다고 하더라도 무난히 사용 가능하기 때문에 바로 부딪혀 보는 것도 좋습니다.

    Leave a Comment