딥 러닝 (Pytorch) -ND101 V7
이 저장소에는 Udacity의 딥 러닝 V7 Nanodegree 프로그램과 관련된 자료가 포함되어 있습니다. 다양한 딥 러닝 주제를위한 튜토리얼 노트북으로 구성됩니다. 대부분의 경우 노트북은 Convolutional Networks, Reburrent Networks 및 Gans와 같은 모델을 구현함으로써 귀하를 이끌어냅니다. 무게 초기화 및 배치 정규화와 같은 다른 주제가 있습니다.
Nanodegree 프로그램의 프로젝트로 사용되는 노트도 있습니다. 이 프로그램 자체에서 프로젝트는 Real People (Udacity Reviewers)에 의해 검토되지만 시작 코드도 여기에서 사용할 수 있습니다.
목차
튜토리얼
신경망 소개
- 신경망 소개 : 그라디언트 하강을 구현하고 학생 입학 데이터의 패턴 예측에 적용하는 방법을 배우십시오.
- Numpy의 감정 분석 : Andrew Trask는 감정 분석 모델을 구축하여 일부 텍스트가 양수인지 부정적인지 예측합니다.
- Pytorch 소개 : Pytorch에서 신경망을 구축하고 최첨단 이미지 분류기에 미리 훈련 된 네트워크를 사용하는 방법을 배우십시오.
컨볼 루션 신경 네트워크
- Convolutional Neural Networks : CNN을 구성하는 층의 출력을 시각화합니다. 기계 및 딥 러닝 분야에서 악명 높은 필기 숫자 데이터베이스 인 MNIST 데이터를 분류하기 위해 CNN을 정의하고 훈련시키는 방법을 알아보십시오. 또한 CIFAR10 데이터 세트에서 이미지를 분류하기 위해 CNN을 정의하고 교육하십시오.
- 전송 학습. 실제로 대부분의 사람들은 거대한 데이터 세트에서 자신의 네트워크를 훈련시키지 않습니다. 그들은 vggnet과 같은 미리 훈련 된 네트워크를 사용합니다. 여기서는 vggnet을 사용하여 처음부터 엔드 투 엔드 네트워크를 처음부터 훈련시키지 않고 꽃 이미지를 분류 할 수 있습니다.
- 무게 초기화 : 네트워크 가중치 초기화가 성능에 어떤 영향을 미치는지 탐구하십시오.
- Autoencoders : Pytorch의 피드 포워드 및 컨볼 루션 네트워크를 사용하여 이미지 압축 및 비 노이즈를위한 모델을 구축합니다.
- 스타일 전송 : 미리 훈련 된 네트워크를 사용하여 이미지에서 스타일 및 컨텐츠 기능을 추출합니다. 종이에 따라 스타일 전송, Gatys et. 알. 자신의 디자인의 대상, 스타일 트랜스퍼 리더 이미지를 반복적으로 생성하기위한 적절한 손실을 정의하십시오!
재발 성 신경망
- 재발 된 네트워크 (시계열 및 문자 수준 RNN) : 재발 성 신경망은 텍스트의 문자 순서와 같은 데이터 순서에 대한 정보를 사용할 수 있습니다. 다양한 작업을 위해 Pytorch에서이를 구현하는 방법을 알아보십시오.
- Embeddings (Word2Vec) : Word2Vec 모델을 구현하여 자연어 처리에 사용하기위한 단어의 의미 론적 표현을 찾으십시오.
- 감정 분석 RNN : Moview Review의 텍스트가 긍정적이거나 부정적인지 예측할 수있는 재발 성 신경망을 구현하십시오.
- 주의 :주의를 기울이고 주석 벡터에 적용하십시오.
생성 적대적 네트워크
- MNIST의 생성 적대 네트워크 : MNIST 데이터 세트에서 간단한 생성 적대 네트워크를 훈련시킵니다.
- 배치 정규화 : 배치 정규화로 교육 속도와 네트워크 안정성을 향상시키는 방법을 배우십시오.
- DCGAN (Deep Convolutional Gan) : SVHN (Street View House Numbers) 데이터 세트를 기반으로 새로운 이미지를 생성하기 위해 DCGAN을 구현합니다.
- Cyclegan : 짝을 이루지 않고 표지되지 않은 데이터에서 배우도록 설계된 Cyclegan을 구현합니다. 숙련 된 발전기를 사용하여 여름부터 겨울까지 이미지를 변환하고 그 반대도 마찬가지입니다.
모델 배포 (AWS SAGEMAKER 포함)
- 모델 배포에 대한 수업에 대한 모든 운동 및 프로젝트 노트북은 링크 된 Github Repo에서 찾을 수 있습니다. AWS SAGEMAKER를 사용하여 미리 훈련 된 모델을 배포하는 법을 배웁니다.
프로젝트
- 자전거 공유 패턴 예측 : 자전거 임대를 예측하기 위해 Numpy로 신경망을 구현합니다.
- 개 품종 분류기 : Pytorch와 함께 컨볼 루션 신경망을 구축하여 특정 개 품종으로 이미지 (얼굴 이미지)를 분류하십시오.
- TV 스크립트 생성 : 반복 신경 네트워크를 훈련하여 Seinfeld의 대화 스타일로 스크립트를 생성합니다.
- 얼굴 생성 : Celeba 데이터 세트에서 DCGAN을 사용하여 새롭고 사실적인 인간 얼굴의 이미지를 생성하십시오.
선택적 자료
- 텐서 플로우에 대한 소개 : Tensorflow로 신경망 구축을 시작합니다.
- Keras : Keras와 함께 신경망과 Convolutional Neural Network를 구축하는 법을 배우십시오.
의존성
Anaconda로 환경을 구성하고 관리하십시오
아나콘다 문서에 따라 :
Conda는 여러 버전의 소프트웨어 패키지 및 종속성을 설치하고 쉽게 전환하기위한 오픈 소스 패키지 관리 시스템 및 환경 관리 시스템입니다. Linux, OS X 및 Windows에서 작동하며 Python 프로그램 용으로 만들어졌지만 모든 소프트웨어를 패키지 및 배포 할 수 있습니다.
개요
Anaconda 사용은 다음으로 구성됩니다.
- 운영 체제의 최신 Python 버전을 선택하여 컴퓨터에
miniconda 설치하십시오. 이미 conda 또는 miniconda 설치되어 있다면이 단계를 건너 뛰고 2 단계로 넘어갈 수 있어야합니다. - 새로운
conda 환경을 만들고 활성화하십시오.
* 모든 운동 작업을 원할 때마다 conda 환경을 활성화하십시오!
1. 설치
시스템과 일치하는 최신 miniconda 버전을 다운로드하십시오 .
| 리눅스 | 스코틀랜드 사람 | 창 |
|---|
| 64 비트 | 64 비트 (bash installer) | 64 비트 (bash installer) | 64 비트 (EXE 설치 프로그램) |
| 32 비트 | 32 비트 (Bash Installer) | | 32 비트 (EXE 설치 프로그램) |
컴퓨터에 미니콘다를 설치하십시오 . 자세한 지침 :
- Linux : https://conda.io/projects/conda/en/latest/user-guide/install/linux.html
- Mac : https://conda.io/projects/conda/en/latest/user-guide/install/macos.html
- Windows : https://conda.io/projects/conda/en/latest/user-guide/install/windows.html
2. 환경을 만들고 활성화하십시오
Windows 사용자의 경우 Windows 터미널 창과는 달리 Anaconda 프롬프트 에서 이러한 다음 명령을 실행해야합니다. Mac의 경우 일반 단자 창이 작동합니다.
git 및 버전 제어
이 지침은 또한 터미널 창에서 Github로 작업하기 위해 git 설치했다고 가정하지만 그렇지 않은 경우 명령으로 먼저 다운로드 할 수 있습니다.
버전 컨트롤에 대해 더 많이 배우고 명령 줄에서 git 사용하려면 GIT를 사용한 무료 코스 : 버전 컨트롤을 살펴보십시오.
이제 우리는 지역 환경을 만들 준비가되었습니다!
- 저장소를 복제하고 다운로드 된 폴더로 이동하십시오. 포함 된 이미지 데이터로 인해 복제하는 데 1 ~ 2 분이 걸릴 수 있습니다.
git clone https://github.com/udacity/deep-learning-v2-pytorch.git
cd deep-learning-v2-pytorch
Python 3.6으로 deep-learning 이라는 새로운 환경을 만들고 활성화하십시오. 설치를 진행하라는 메시지가 표시되면 (Proceed [y]/n) 유형 y.
conda create -n deep-learning python=3.6
source activate deep-learning
conda create --name deep-learning python=3.6
activate deep-learning
이 시점에서 명령 줄은 (deep-learning) <User>:deep-learning-v2-pytorch <user>$ 과 같이 보일 것입니다. (deep-learning) 는 환경이 활성화되었음을 나타내며 추가 패키지 설치를 진행할 수 있습니다.
Pytorch 및 Torchvision을 설치하십시오. 최신 버전의 Pytorch를 설치해야합니다.
conda install pytorch torchvision -c pytorch
conda install pytorch -c pytorch
pip install torchvision
요구 사항 텍스트 파일 (OPENCV 포함)에 지정된 몇 가지 필요한 PIP 패키지를 설치하십시오.
pip install -r requirements.txt
- 그게 다야!
이제 대부분의 deep-learning 라이브러리를 사용할 수 있습니다. 예를 들어 텐서 플로 및 케라를 사용하려면 추가 요구 사항 파일이있는 저장소가있는 경우가 있습니다. 이 경우 다른 라이브러리를 기존 환경에 설치하거나 특정 프로젝트를위한 새로운 환경을 조성하는 것이 좋습니다.
이제 deep-learning 환경이 여전히 활성화되었다고 가정하면 기본 리포로 이동하여 노트북을 살펴볼 수 있습니다.
cd
cd deep-learning-v2-pytorch
jupyter notebook
작업 세션을 완료했을 때 환경을 종료하려면 터미널 창을 닫으십시오.