본문 바로가기

Biusiness Insight/Data Science

[구글 클라우드] 텐서플로우를 활용한 머신러닝 예제

반응형

 

(source : GCP qiwklabs)

 

AI Platform Notebooks 생성

 

1. Navigation Menu > AI Platform > Notebooks 클릭

 

2. 인스턴스 생성 : NEW INSTANCE 클릭 

- Tensorflow Enterprise 1.15 > Without GPUs 선택

 

3. 팝업창이 뜨면 딥러닝 VM 이름을 입력/확인 하고 Create 클릭

 

(VM 생성까지 2~3분 정도 소요될 수 있음)

 

4. Open JupyterLab 클릭 > JupyterLab Window가 새창으로 열림

 

Datalab instance에 학습용 repo 복제

- training-data-analyst 를 내 JupyterLab 인스턴스에 복제

 

1. JupyterLab 에서 터미널 아이콘(Terminal icon) 클릭하여 새 터미널 창을 오픈

 

2. 커맨드라인에서 아래 명령어를 입력하고 Enter

git clone https://github.com/GoogleCloudPlatform/training-data-analyst

 

실행 결과 : 

 

3. training-data-anlyst 디렉토리를 더블 클릭하여 컨텐츠가 제대로 복제되었는지 확인

 

 

 

기본적인 TensorFlow 활용 예제

 

1. 데이터셋 탐색

- notebook 인터페이스에서 training-data-analyst > courses > machine_learning > deepdive > 06_structured > 1_explore.ipynb 선택

1_explore.html
0.36MB

 

 

2. 샘플 데이터셋 생성

- notebook 인터페이스에서 training-data-analyst > courses > machine_learning > deepdive > 06_structured > 2_sample.ipynb 선택

2_sample.html
0.29MB

 

 

3. 텐서플로우 모델 생성

- notebook 인터페이스에서 training-data-analyst > courses > machine_learning > deepdive > 06_structured > 3_tensorflow_dnn.ipynb & 3_tensorflow_wd.ipynb 선택

3_tensorflow_dnn.html
0.29MB
3_tensorflow_wd.html
0.29MB

 

4. 데이터 전처리 (Preprocessing)

- notebook 인터페이스에서 training-data-analyst > courses > machine_learning > deepdive > 06_structured > 4_preproc.ipynb 선택

4_preproc.html
0.29MB

 

 

5. Cloud AI Platform 에서 Machine Learning 모델 학습하기 (Training)

- notebook 인터페이스에서 training-data-analyst > courses > machine_learning > deepdive > 06_structured > 5_train.ipynb 선택

5_train.html
0.32MB

 

 

6. Cloud AI Platform 에서 모델 배포 (Deploying)

- notebook 인터페이스에서 training-data-analyst > courses > machine_learning > deepdive > 06_structured > 6_deploy.ipynb 선택

6_deploy.html
0.28MB

 

 

 

이미지 분석

 

7. MNIST 이미지 분석 - 선형 모델(Linear model)

- training-data-analyst > courses > machine_learning > deepdive > 08_image > mnist_linear.ipynb 선택

mnist_linear.html
0.30MB

 

 

8. MNIST 이미지 분석 (Image Classification) - CNN & DNN(Deep Neural Network model)

- training-data-analyst > courses > machine_learning > deepdive > 08_image > mnistmodel > trainer > model.py 선택

- training-data-analyst > courses > machine_learning > deepdive > 08_image > mnist_models.ipynb 선택

mnist_models.html
0.30MB
model.py
0.01MB

 

※ 드랍아웃(Dropout)을 사용하려면 모델 타입 MODEL_TYPE 을 dnn_dropout 으로 변경

※ CNN을 사용하려면 모델 타입 MODEL_TYPEcnn 으로 변경

 

 

9. 꽃 이미지 분석 (Flowers Image Classification) - 이미지 오그멘테이션 (Image Augmentation)

- training-data-analyst > courses > machine_learning > deepdive > 08_image > flowersmodel > model.py

- training-data-analyst > courses > machine_learning > deepdive > 08_image > flowers_fromscratch.ipynb

flowers_fromscratch.html
0.29MB
model.py
0.01MB

 

 

 

시계열 데이터 분석

 

10. 시계열 데이터 분석 (Time Series Prediction) 

- training-data-analyst > courses > machine_learning > deepdive > 09_sequence > sinemodel > model.py

- training-data-analyst > courses > machine_learning > deepdive > 09_sequence > sinewaves.ipynb

sinewaves.html
0.28MB
model.py
0.01MB

 

※ 모델 옵션

 - 선형 모델 (Linear Model) : --model = linear (defuault 값은 linear 모델)

 - DNN 모델 (Deep Neural Netowrk Model) : --model = dnn

 - CNN 모델 (Convolutional Neural Network Model) : --model = cnn

 - RNN 모델 (Recurrent Neural Network Model) : --model = rnn

 - 2-layer RNN 모델 (Two-Layer Recurrent Neural Network Model) : --model = rnn2

 

 

11. 날씨/온도 시계열 데이터 분석 (Time Series Prediction)

- training-data-analyst > courses > machine_learning > deepdive > 09_sequence > temperatures.ipynb

temperatures.html
1.32MB

 

 

 

텍스트 분석

 

12. 텍스트 분석 (Text Classification)

- training-data-analyst > courses > machine_learning > deepdive > 09_sequence > txtclsmodel > trainer > model.py

- training-data-analyst > courses > machine_learning > deepdive > 09_sequence > text_classification.ipynb

text_classification.html
0.30MB
model.py
0.01MB

 

 

13. 학습 모델 평가 (Evaluating a Pre-trained embeddings)

- training-data-analyst > courses > machine_learning > deepdive > 09_sequence > reusable-embeddings.ipynb

reusable-embeddings.html
0.34MB

 

 

14. 텍스트 제너레이션 (Text generation) - tensor2tensor 활용

- training-data-analyst > courses > machine_learning > deepdive > 09_sequence > poetry.ipynb

poetry.html
0.35MB

 

 

 

추천 시스템

 

15. 컨텐츠 기반 추천 시스템 (Content-based Recommendation System)

- training-data-analyst > courses > machine_learning > deepdive > 10_recommend > content_based_by_hand.ipynb

content_based_by_hand.html
0.29MB

 

- training-data-analyst > courses > machine_learning > deepdive > 10_recommend > content_based_preproc.ipynb

content_based_preproc.html
0.29MB

 

- training-data-analyst > courses > machine_learning > deepdive > 10_recommend > content_based_using_neural_networks.ipynb

content_based_using_neural_networks.html
0.37MB

 

 

16. 구글 애널리틱스 데이터 - 추천 시스템 : 협업 필터링 (Collaborative Filtering Recommendation System)

- training-data-analyst > courses > machine_learning > deepdive > 10_recommend > wals.ipynb

wals.html
0.49MB

 

 

17. 영화 MovieLens 데이터 - 하이브리드 추천 (Hybrid Recommendations)

- training-data-analyst > courses > machine_learning > deepdive2 > recommendation_systems > solutions > als_bqml_hybrid.ipynb

als_bqml_hybrid.html
0.28MB

 

 

18. 엔드 투 엔드 추천 시스템 (End-to-End Recommendation System)

- training-data-analyst > courses > machine_learning > deepdive > 10_recommend > endtoend > endtoend.ipynb 선택

endtoend.html
0.35MB

 

※ 18번 예제 노트북 실행 전, 아래 사항 체크

 1) 버킷 생성

 2) 주피터 노트북 (Jupyterlabs) 실행

 3) 클라우드 컴포저 인스턴스 생성 (Cloud Composer instance)

   - Navigation menu > Composer > Create (인스턴스 네임 = mlcomposer )  * 최초 실행시 15~20분 정도 소요됨

 4) 구글 앱 엔진 인스턴스 생성 (Google App Engine instance)

   - Cloud Shell 에서 아래 명령어를 순서대로 실행 (Region은 가까운 곳 선택)

gcloud app regions list
gcloud app create --region <REGION>
gcloud app update --no-split-health-checks

 

 

 

 

반응형