Introduction # 딥러닝에서의 행렬 - 딥러닝에서는 행렬 연산 및 행렬 표현식을 매우 많이 필요로 함 - 신경망 구축 전에 적어도 기본적 행렬 표현은 반드시 이해해야한다. - NumPy 라이브러리를 사용하여 파이썬에서의 행렬을 효율적으로 사용하기 위한 방법을 알아보자 Data Dimensions - Neural network는 수많은 데이터를 토대로 수많은 수학적 연산을 한다. - 가장 먼저 이해해야할 부분은 데이터를 어떻게 나타낼 것인지에 관한것이다. - 특히 데이터가 가질 수 있는 모양(생김새)에 대해서 먼저 알아보자. - 예를들어 우리는 사람에 대한 데이터를 숫자로 표현 할 수 있다. - 키가 180cm, 무게가 80kg, 나이가 25살 등.. - 또한 특정 인물에 대한 사진을 찍었을때 이..
Converting notebooks - 주피터 노트북 파일은 .ipynb확장자를 가진, 용량이 큰 JSON파일에 불과함. - JSON으로 작성되기 때문에 다른 포맷으로 변환이 용이 - 주피터는 nbconvert 를 제공하는데 HTML, Markdown, slideshows 등으로의 변환을 가능케 해준다. - 예를들어, 주피터 노트북 파일을 HTML파일로 변환하려면 콘솔에서 다음과 같이 입력하면 된다.# nbconvert 사용 예시 - HTML로의 변환은 주피터 노트북을 사용하지 않는 사람과의 공유에 유용하다. - Markdown은 Markdown 포맷을 지원하는 블로그나 기타 텍스트 에디터에 유용함 nbconvert 에 대한 더 많은 내용 Creating a slideshow - 주피터 노트북을 이용하..
Keyboard Shortcuts - 주피터 노트북엔 키보드를 사용하여 셀을 제어할 수 있는 단축키가 존재 - 작업속도 향상의 지름길 · 편집(Edit)모드와 명령(Command)모드의 전환 - 편집모드 : 셀에 입력 가능한 모드. 셀 추가 및 command palette를 열 수 있다. - 셀을 선택했을 때 셀의 좌측 색깔을 통해 현재의 상태를 알 수 있다. - 편집모드에서는 초록, 명령모드에서는 파랑을 띈다. - 또한 편집모드에 있을때는, 마우스 커서도 보인다. - 셀을 생성 또는 다른 셀로 이동하였을 즉시엔 명령모드이다. - 그 상태에서 엔터(Enter)키를 눌러주면 편집(Edit)모드로 전환된다. - 편집모드에서 다시 명령모드로 전환할 땐 뒤로가기(Escape = ESC)를 눌러준다. - 명령모드..
Code cells - 대부분의 작업이 실행되는곳 - 코드를 작성하고 실행, 변수에 값을 할당, 함수 및 클래스 정의, 패키지 import 등등 - 한 셀에서 실행되는 코드는 다른 모든 셀에서 사용 가능 - 셀을 실행시킬때 Shift + Enter 또한 셀을 실행(Run) 시킴 - Shift + Enter로 특정 셀을 지정 후 셀을 실행시키면 다음 셀로 넘어가던지, 새로운 셀을 생성한다. - 선택된 셀을 변경하지 않고 셀을 실행시키려면 Ctrl + Enter 를 누르면 된다. - Shift + Tap은 해당 함수 및 변수에 대한 설명을 볼 수 있다. - Shift + Tap을 두번 누르면 더 자세한 설명을 볼 수 있다. # 해당 파일을 주피터 노트북에서 열면 된다. anaconda cmd창의 경로를 해당..
Notebook Interface # 처음 노트북을 생성시 나타나는 화면 - 초록창 : 셀, 코드를 입력할 수 있다 - 위아래 화살표 버튼으로 셀을 이동시킬 수 있다. - Run : 말그대로 입력한 코드 실행 - Code, Markdown 등 모드를 변경 가능 # Code로 두고 입력한 것과 Markdown으로 두고 입력한 경우의 차이점 - 또한 셀들이 좌측에 넘버링되는 것을 알 수 있다(In [2] : ) The tool bar 도구의 좌측부터 설명하면Save : 저장, 플로피 디스켓 모양으로 노트북 저장할 때 사용Add : +, 셀 추가 즉, 새로운 셀 생성Cut : 잘라내기Copy : 복사Paste : 붙혀넣기 Command palette 다양한 명령을 검색 할 수 있는 검색창 패널이 나타나는데, ..
Launching the notebook server - 콘솔창에 jupyter notebook을 입력하여 시작할 수 있는데, 이렇게하면 - 명령을 실행한 디렉토리에서 주피터 서버가 시작됨 - 즉, 모든 주피터 노트북 파일이 해당 명령을 실행한 디렉토리에 저장된다. - 일반적으로 주피터 노트북이 설치된곳에서 서버를 실행하고자 할텐데, 파일 시스템을 통해 그 위치를 찾아갈 수 있다. #> jupyter notebook 입력시 브라우저에 주피터 노트북 창이 뜬다. - 디폴트 주피터 서버는 http://localhost:8888 - localhost는 컴퓨터, 8888은 서버가 통신하는 포트를 의미함. - 서버가 실행 중일 경우 언제든 localhost:8888 로 돌아올 수 있다. - 다른 서버를 실행하려 ..
What are Jupyter notebooks? - Jupyter(주피터)는 텍스트, 수학 방정식, 코드 등의 시각화를 모두 가능하게 해줌 - 공유 가능한 문서 형태로 작업이 가능한 웹 어플리케이션. - 예를 들어, LIGO 실험(https://www.ligo.caltech.edu/news/ligo20160211)에서 감지 된, - 충돌하는 두 개의 블랙홀에서의 중력파를 감지하는 코드를 직접 실행시켜 분석할 수 있다. - 데이터를 다운로드하고, 노트북에서 코드를 실행하기만 하면 실제로 중력파를 개인이 감지할 수 있다. - https://losc.ligo.org/s/events/GW150914/GW150914_tutorial.html - 주피터 노트북은 데이터 정리 및 탐색, 시각화, 머신러닝 및 빅데이..
Saving and loading environments - 타인과 작업시 내가 작업한 environment를 그대로 전달할 수 있어야, 내가 작성한 코드가 정상실행 된다. - conda env export > [environment].yaml 을 입력하면, 패키지를 YAML파일로 저장이 가능하다. - conda env export 까지만 입력하면 해당 env내의 모든 패키지(해당 파이썬의 버전 포함)를 추출 가능하다. # 해당 환경 추출 완료 - 위의 추출된 내용을 보면 모든 dependencies들이 같이 포함(버전도 포함)됨 - 추가적으로 > [name].yaml 을 입력하면 해당 YAML파일의 이름을 지정가능 - 이와같은 방법으로 YAML파일을 공유하여 다른 사용자도 해당 프로젝트의 environ..
Managing environments - 앞서 언급하였듯, conda는 프로젝트별 environment를 생성할 수 있다. - environment를 생성하려면, conda create -n [env_name] [list of packages] 과 같이 입력해주면 된다. - -n [env_name] 에서 생성하고자 하는 environment의 이름을 설정(-n : name을 의미) - 예를들어 my_env 라는 이름의 numpy environment를 설치하고 싶은 경우 - conda create -n my_env numpy # numpy environment를 생성하는 명령어 - environment를 생성시 설치할 파이썬의 버전을 지정해줄 수 있다. - 이는 2.x대 버전의 파이썬과 3.x대 버전의..
Managing Packages - 이미 Anaconda를 설치한 경우, 패키지를 관리 및 설치하는것은 매우 간단하다 - 패키지를 설치하려면 콘솔창에 conda install [package_name] 을 입력하면 된다 - 예를들어 numpy를 설치하려면 conda install numpy - 한큐에 여러 패키지들을 설치 할 수도 있다. 예를들어 conda install numpy scipy pandas - 특정 버전의 패키지를 설치하고자 하는경우 conda install numpy=1.10 과 같이 명시해주면 된다. - conda는 자동으로 하위 종속 패키지(dependencies)를 설치한다. - 예를 들어 scipy는 numpy를 필요로 하기 때문에, scipy 만 설치하면 (conda instal..