IT 관련/Tensorflow

tensorflow(Windows) -jupyter notebook 설치

nullzone 2017. 12. 19.
반응형


Tensorflow(Windows) -jupyter notebook 설치


기본적으로 아래의 환경이 준비되었다고 가정한다.

  • Windows10
  • anaconda(Python 3.5+Tensorflow) - name tf35
  • anaconda(Python 2.7+Tensorflow) - name tf27


기존 설치와 관련된 내용은 

tensorflow(Linux) 설치 (http://cirius.tistory.com/1131) 참고

tensorflow(Windows) 설치 (http://cirius.tistory.com/1132) 참고


Deep learning 을 공부 하기 위해서 tensorflow + Python 를 선택했다면 

Python Code를 직접 에디터등을 통해서 작성 할 수 있지만, 

간혹 Jupyter Notebook을 통하여 작성된 코드를 살펴보거나 혹은 Jupyter 를 통해서 작성 해야 할 경우들이 있다. 



1. windows 환경에서 Jupyter Notebook 설치 하기 


기본적으로 anaconda 환경이 설치 되었다면, jupyter notebook 이 설치되어 있을겁니다. 

혹시 jupyter 가 설치되어 있지 않다면 Dos Prompt 에서 activate 명령을 이용하여 tensorflow + Python 이 구축된  환경으로 들어 가서 Jupyter를 설치 합니다. 



이후 , pip install jupyter 명령을 통해 Jupyter Notebook을 설치 할수 있습니다.



설치가 올바르게 되면 jupyter notebook 으로 실행이 되며,

바로 브라우저가 실행되고 jupyter 를 볼 수 있습니다.  

기본 경로는 localhost:8888/tree 입니다.




* Jupyter Notebook를 실행한 Prompt 창을 닫거나 Jupyter Notebook Process를 죽이면 Jupyter도 같이 죽게 되니

Jupyter를 이용하는 경우 해당창은 항상 켜놔야 합니다.


설치와 Jupyter Notebook 이 성공적으로 실행되었다면

Jupyter를 실행한 prompt 창에서 CTRL+C 를 이용해 Jupyter 를 멈춥니다. 


2. Jupyter 설정하기 (멀티 커널 설정)

이 글은 anacona을 이용해서 가상 환경을 구축하였을 것을 전제로 하므로 conda 기준으로 설명 할것이다. 



많은 분들이 혼돈스러워 하는 부분이 jupyter와 ipython응 혼돈하는데 

아이파이썬 노트북(IPython Notebook)은 현재 python의 GUI 확장 및 웹 기반의 클라이언트(IPython)를 분리하기 위해서 도입되었으며, Python 외의 언어를 지원할수도 있지만 문제는 여러개의 인터프리터 kernel을 지원하지 못한다.(쉽게 말해서 Python 2.7 와  Python3.5 동시에 지원하지 못하고 새로운 IPython Notebook 을 띄워야 한다)

이런 단점을 극복하고 Python 외의 다른 언어를 지원하기 위해서 Jupyter notebook이 나오게 된 것이다.

쉽게 말해 Jupyter notebook 은 IPython의 upgrade 된 버전(?)이라고 보면 된다.

 



간혹, Jupyter 설정시 IPython 설정 파일을 사용하라고 언급되는 인터넷 문서를 마주 하게 되는데

이글에서는 IPython이 아닌 Jupyter 설정 파일을 수정하도록 한다.

* 인터넷을 검색하다 보면 ipython 등의 명령어를 사용해서 커널을 추가 해주는 내용들을 보게 되는데 최신 버전을 설치 했다면 ipython kernelspec list 등의 명령들은 실행은되지만 deprecate 되었다고 나올 것이다. 이럴 경우  ipython 명령어 대신 jupyter로 변경하면 될 것이다. 



* 이글의 목적은 Tensorflow 를 배우고자 하는 것인데

아쉽게도 Tensorflow는 Windows 상에서 Python2.7을 더 이상지원하지 않으므로 windows 상에서 jupyter를 이용하여 다중 커널을 지원할 필요가 없지만 이해를 돕기 위해서 멀티 커널 지원을 할 수 있도록 설명 할 것이다. 


2-1. 일단 activate 명령으로 python 3.5+tensorflow 가 설치된 환경으로 들어가자 (여기서는 tf35)

conda 명령을 이용하여 nb_conda 설치 하자



2-2. 설치가 완료 되면 python 2.7 가 설치된 환경(여기서는 tf27)에서 동일하게 

conda install nb_conda 명령을 실행 하여 준다. 



2-3. 모두 완료 되었다면 jupyter notebook 명령으로 jupyter를 실행해 보자

아래처럼 conda메뉴와 함께 이용 할 수 있는 Python kernel이 4개가 보일 것이다. 



  • Python  [conda env:27]  : Python2.7 환경
  • Python  [conda env:35]  : Python3.5 + tensorflow 환경
  • Python  [conda root]  : anaconda 설치시 설치된 Python 환경
  • Python  [default]  : jupyter notebook 실행시 Python 환경

tf35에서 실행했다면 default는 Python3.5 ,   tf27에서 실행했다면 default는 Python2.7 된다.


실제 아래 처럼 python file를 만들때 커널을 선택하고 Python 버전을 확인해보면된다. 

 

Python  [conda env:27]  --> Python version : 2.7


Python  [conda env:35]  : -->Python version: 3.5


아울러 conda 메뉴를 통해서 각 환경에 설치된 패키지들도 확인 가능하다.





3. Jupyter config설정하기 

C:\Users\{User}\.jupyter\ 폴더에 jupyter_notebook_config.py 파일이 존재 할 것이다.

만일 존재 하지 않는다면 Prompt 상에서 jupyter notebook --generate-config 명령으로 jupyter_notebook_config.py 파일을 생성 할 수 있다.


해당 파일을 열어 필요한 부분만 수정하도록 하자.(실제 windows에서는 설정할 부분이 많지 않다.)



c.NotebookApp.notebook_dir = 'D:\\workspace' //Jupyter notebook 의 루트 디렉토리 개개인마다 특정 폴더를 지정하자
c.NotebookApp.port = 8888 //8888포트가 사용중이라면 사용가능한 Port를 지정
c.NotebookApp.password = u'sha1:1f43da28405f:8694d92513dd8bbc879a87d67b2e695fc647b19b


만일 windows의 jupyter notebook server를 외부에서 접속 하고자 하는 경우는 password를 입력해야 한다.

이 경우 prompt 상에서 ipython 을 이용하여 암호의 hash값을 얻을수 있고 이를 이용해 jupyter_notebook_config.py 파일에 설정 할 수 있다.



c:\....>ipython
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'


더 jupyter_notebook_config.py 자세한 설명은

http://jupyter-notebook.readthedocs.io/en/stable/notebook.html 를 참조 하자.



4. Jupyter Theme 변경 하기(옵션)

아무래도 Jupyter는 웹 브라우저를 이용하므로 편리한점이 있는 반면, 단점도 있다.

개인적으로 subLime Text 혹은 VSCode 등의 에디터에 익숙하다 보니 비록 웹 브라우저를 통해 사용되는 jupyter 의 Theme 를 변경 하려는 사용자 들이 있다.


이런 욕구를 jupyter Theme 를 이용하여 조금이나마 만족시켜줄수 있을 것이다.

https://github.com/dunovank/jupyter-themes 에서는 제공되는 jupyter theme를 적용해보자.



C:\Users\Administrator
   activate tf35 

C:\Users\Administrator
(tf35)

# install jupyterthemes
C:\Users\Administrator
(tf35) pip install jupyterthemes

# upgrade to latest version
C:\Users\Administrator
(tf35) pip install --upgrade jupyterthemes


jupyterThemes를 설치하고서 제공되는 테마를 적용해 보자


C:\Users\Administrator
(tf35) $ jt -l
Available Themes:
chesterish
grade3
gruvboxd
gruvboxl
monokai
oceans16
onedork
solarizedd
solarizedl

C:\Users\Administrator
(tf35) $ jt -t chesterish -T -N

C:\Users\Administrator
(tf35) $ jupyter notebook


chesterish Themes를 적용한 Jupyter









반응형

'IT 관련 > Tensorflow' 카테고리의 다른 글

AI 활용사례  (0) 2018.05.14
Tensorflow 공부를 위한 Tool 및 기타 세팅  (0) 2017.12.21
Tensorflow(Linux) -jupyter notebook 설치  (0) 2017.12.21
tensorflow(Windows) 설치  (0) 2017.12.16
tensorflow(Linux) 설치  (0) 2017.12.16

댓글