├── Course 1 | End-to-End Machine Learning with TensorFlow on GCP ├── Week01 │ └── Lab1 │ │ ├── [Lab01] Solution │ │ └── 1_explore.ipynb │ │ └── [Lab01] [ML on GCP C6] Explore dataset _ Qwiklabs + googlecoursera-run.pdf ├── Week02 │ ├── Lab2 │ │ ├── [Lab02] Solution │ │ │ └── 2_sample.ipynb │ │ └── [Lab02] [ML on GCP C6] Create a sample dataset _ Qwiklabs + googlecoursera-run.pdf │ └── Lab3 │ │ ├── [Lab03] Solution │ │ ├── 3_tensorflow.ipynb │ │ ├── TensorBoard1.png │ │ └── TensorBoard2.png │ │ └── [Lab03] [ML on GCP C6] Create TensorFlow model _ Qwiklabs + googlecoursera-run.pdf └── Week03 │ ├── Lab4 │ ├── [Lab04] Solution │ │ └── 4_preproc.ipynb │ └── [Lab04] [ML on GCP C6] Preprocessing using Dataflow _ Qwiklabs + googlecoursera-run.pdf │ ├── Lab5 │ ├── [Lab05] Solution │ │ └── 5_train.ipynb │ └── [Lab05] [ML on GCP C6] Training on Cloud ML Engine _ Qwiklabs + googlecoursera-run.pdf │ └── Lab6 │ ├── [Lab06] Solution │ ├── 6_deploy.ipynb │ ├── Call from POSTMAN 2.png │ └── Call from POSTMAN.png │ └── [Lab06] [ML on GCP C6] Deploying and predicting with Cloud ML Engine _ Qwiklabs + googlecoursera-run.pdf ├── Course 2 | Production Machine Learning Systems ├── Week01 │ └── Lab01 │ │ ├── Quiz4 │ │ ├── Quiz4 - 100% correct.png │ │ └── Quiz4.png │ │ ├── Quiz5 │ │ └── Quiz5 - 100%.png │ │ ├── [Lab01] Solution │ │ ├── form.html │ │ └── main.py │ │ └── [Lab01] [ML on GCP C7] Serving on Cloud MLE _ Qwiklabs + googlecoursera-run.pdf └── Week02 │ └── Lab01 │ ├── Lab Intro - Serving ML Prediction in Batch and RealTime.png │ ├── [Lab01] Solution │ ├── AddPrediction.java │ ├── BabyweightMLService.java │ ├── PubSubBigQuery.java │ └── TextInputOutput.java │ └── [Lab01] [ML on GCP C7] Serving ML Predictions in batch and real-time _ Qwiklabs + googlecoursera-run.pdf ├── Course 3 | Image Understanding with TensorFlow on GCP ├── Additional Resources.txt ├── Week01 │ ├── Lab01 │ │ ├── [Lab01 ][ML on GCP C8] Image Classification with a Linear Model _ Qwiklabs + googlecoursera-run.pdf │ │ └── [Lab01] Solution │ │ │ └── mnist_linear.ipynb │ ├── Lab02 │ │ ├── [Lab02] Solution │ │ │ ├── mnist_models.ipynb │ │ │ └── model.py │ │ └── [Lab02] [ML on GCP C8] Image Classification with a Deep Neural Network Model _ Qwiklabs + googlecoursera-run.pdf │ ├── Lab03 │ │ ├── [Lab03] Solution │ │ │ ├── mnist_models.ipynb │ │ │ ├── mnist_models.pdf │ │ │ ├── mnist_models.py │ │ │ └── model.py │ │ └── [Lab03] [ML on GCP C8] Image Classification with a DNN Model with Dropout _ Qwiklabs + googlecoursera-run.pdf │ ├── Lab04 │ │ ├── [Lab04] Solution │ │ │ ├── mnist_models.html │ │ │ ├── mnist_models.ipynb │ │ │ ├── mnist_models_files │ │ │ │ ├── MathJax.js │ │ │ │ ├── custom.css │ │ │ │ ├── jquery.min.js │ │ │ │ └── require.min.js │ │ │ └── model.py │ │ └── [Lab04] [ML on GCP C8] Image Classification with a CNN Model _ Qwiklabs + googlecoursera-run.pdf │ ├── Quiz - CNNs.pdf │ ├── Quiz - CNNs.png │ ├── Quiz - Images as Visual Data.pdf │ └── Quiz - Linear and DNN Models.pdf └── Week02 │ ├── Lab01 │ ├── [Lab01] Image Augmentation in TensorFlow _ Qwiklabs + googlecoursera-run.pdf │ └── [Lab01] Solution │ │ ├── flowers_fromscratch.html │ │ ├── flowers_fromscratch.ipynb │ │ ├── flowers_fromscratch_files │ │ ├── 1022552002_2b93faf9e7_n.jpg │ │ ├── MathJax.js │ │ ├── custom.css │ │ ├── jquery.min.js │ │ └── require.min.js │ │ └── model.py │ ├── Lab02 │ ├── [Lab02] Solution │ │ └── Prediction screenshot.png │ └── [Lab02] [ML on GCP C8] Image Classification Transfer Learning with Inception v3 _ Qwiklabs + googlecoursera-run.pdf │ ├── Lab04 │ ├── [Lab04] Solution] │ │ ├── API_KEY Screenshot.png │ │ ├── AutoML Vision │ │ │ ├── Calling REST │ │ │ │ ├── Calling shell.txt │ │ │ │ └── request.json │ │ │ └── test images │ │ │ │ ├── image1.jpg │ │ │ │ └── image2.jpg │ │ └── Vision API │ │ │ ├── call-service-shell.txt │ │ │ ├── cirrus.jpg │ │ │ └── request.json │ └── [Lab04] [ML on GCP C8] Training with Pre-built ML Models using Cloud Vision API and AutoML _ Qwiklabs + googlecoursera-run.pdf │ ├── Quiz - Dealing with Data Scarcity.png │ ├── Quiz - Going Deeper, Faster - Results.pdf │ ├── Quiz - Going Deeper, Faster.png │ ├── Quiz - Pre-built Models - Results.png │ └── Screenshot from 2019-04-08 12-44-40.png ├── Course 4 | Sequence Models for Time Series and Natural Language Processing ├── Week01 │ ├── Lab01 │ │ ├── [Lab01] Solution │ │ │ ├── model.py │ │ │ ├── sinewaves.html │ │ │ ├── sinewaves.ipynb │ │ │ ├── sinewaves_files │ │ │ │ ├── MathJax.js │ │ │ │ ├── custom.css │ │ │ │ ├── jquery.min.js │ │ │ │ └── require.min.js │ │ │ └── task.py │ │ └── [Lab01] [ML on GCP C9] Time Series Prediction with a Linear Model _ Qwiklabs + googlecoursera-run.pdf │ ├── Lab02 │ │ ├── Lab02 │ │ │ ├── [Lab02] Solution │ │ │ │ ├── model.py │ │ │ │ ├── sinewaves.html │ │ │ │ ├── sinewaves.ipynb │ │ │ │ ├── sinewaves_files │ │ │ │ │ ├── MathJax.js │ │ │ │ │ ├── custom.css │ │ │ │ │ ├── jquery.min.js │ │ │ │ │ └── require.min.js │ │ │ │ └── task.py │ │ │ └── [lab02] [ML on GCP C9] Time Series Prediction with a DNN Model _ Qwiklabs + googlecoursera-run.pdf │ │ ├── [Lab02] Solution │ │ │ ├── model.py │ │ │ ├── sinewaves.html │ │ │ ├── sinewaves.ipynb │ │ │ ├── sinewaves_files │ │ │ │ ├── MathJax.js │ │ │ │ ├── custom.css │ │ │ │ ├── jquery.min.js │ │ │ │ └── require.min.js │ │ │ └── task.py │ │ └── [lab02] [ML on GCP C9] Time Series Prediction with a DNN Model _ Qwiklabs + googlecoursera-run.pdf │ ├── Lab03 │ │ ├── [Lab03] Solution │ │ │ ├── model.py │ │ │ ├── sinewaves.html │ │ │ ├── sinewaves.ipynb │ │ │ ├── sinewaves_files │ │ │ │ ├── MathJax.js │ │ │ │ ├── custom.css │ │ │ │ ├── jquery.min.js │ │ │ │ └── require.min.js │ │ │ └── task.py │ │ └── [Lab03] [ML on GCP C9] Time Series Prediction with a CNN Model _ Qwiklabs + googlecoursera-run.pdf │ ├── Lab04 │ │ ├── [Lab04] Solution │ │ │ ├── model.py │ │ │ ├── sinewaves.html │ │ │ ├── sinewaves.ipynb │ │ │ ├── sinewaves_files │ │ │ │ ├── MathJax.js │ │ │ │ ├── custom.css │ │ │ │ ├── jquery.min.js │ │ │ │ └── require.min.js │ │ │ └── task.py │ │ └── [Lab04] [ML on GCP C9] Time Series Prediction with a RNN Model _ Qwiklabs + googlecoursera-run.pdf │ ├── Lab05 │ │ ├── [Lab05] Solution │ │ │ ├── model.py │ │ │ ├── sinewaves.html │ │ │ ├── sinewaves.ipynb │ │ │ ├── sinewaves_files │ │ │ │ ├── MathJax.js │ │ │ │ ├── custom.css │ │ │ │ ├── jquery.min.js │ │ │ │ └── require.min.js │ │ │ └── task.py │ │ └── [Lab05] [ML on GCP C9] Time Series Prediction with a Two-Layer RNN Model _ Qwiklabs + googlecoursera-run.pdf │ ├── Lab06 │ │ ├── [Lab06] Solution │ │ │ ├── temperatures.html │ │ │ ├── temperatures.ipynb │ │ │ └── temperatures_files │ │ │ │ ├── MathJax.js │ │ │ │ ├── RNN2.svg │ │ │ │ ├── batching.svg │ │ │ │ ├── custom.css │ │ │ │ ├── jquery.min.js │ │ │ │ └── require.min.js │ │ └── [Lab06] [ML on GCP C9] An RNN Model for Temperature Data _ Qwiklabs + googlecoursera-run.pdf │ ├── Quiz - Dealing with Longer Sequences - Results.png │ ├── Quiz - Dealing with Longer Sequences.png │ ├── Quiz - Recurrent Neural Networks - Results.png │ ├── Quiz - Recurrent Neural Networks.png │ ├── Quiz - Working with Sequences - Results.png │ └── Quiz - Working with Sequences.png └── Week02 │ ├── Lab01 │ ├── [Lab01] Solution │ │ ├── model.py │ │ ├── task.py │ │ ├── text_classification.html │ │ ├── text_classification.ipynb │ │ └── text_classification_files │ │ │ ├── MathJax.js │ │ │ ├── custom.css │ │ │ ├── jquery.min.js │ │ │ └── require.min.js │ └── [ML on GCP C9] Text Classification using TensorFlow_Keras on Cloud ML Engine _ Qwiklabs + googlecoursera-run.pdf │ ├── Lab02 │ ├── [Lab02] Solution │ │ ├── reusable-embeddings.html │ │ ├── reusable-embeddings.ipynb │ │ └── reusable-embeddings_files │ │ │ ├── MathJax.js │ │ │ ├── custom.css │ │ │ ├── jquery.min.js │ │ │ └── require.min.js │ └── [Lab02] [ML on GCP C9] Using pre-trained embeddings with TensorFlow Hub _ Qwiklabs + googlecoursera-run.pdf │ ├── Lab03 │ ├── [Lab03] Solution │ │ └── poetry.ipynb.txt │ └── [Lab03] [ML on GCP C9] Text generation using tensor2tensor on Cloud ML Engine _ Qwiklabs + googlecoursera-run.pdf │ ├── Lab04 │ └── [Lab04] [ML on GCP C9] Getting Started with Dialogflow _ Qwiklabs + googlecoursera-run.pdf │ ├── Quiz - Encoder Decoder Models - Results.png │ ├── Quiz - Encoder Decoder Models.png │ ├── Quiz - Reusable Embedings.png │ └── Quiz - Text classification.png ├── Course 5 | Recommendation Systems with TensorFlow on GCP ├── Quiz - Cloud Composer Module.png ├── Quiz - Collaborative Filtering.png ├── Quiz - Content-Based Recommendation Systems - Results.png ├── Quiz - Neural Networks for Recommendations - Results.png ├── Quiz - Neural Networks for Recommendations.png ├── Quiz - Recommendation Systems Overview - Results.png ├── Quiz - Recommendation Systems Overview.png ├── Week01 │ ├── Lab01 │ │ ├── [Lab01] Solution │ │ │ ├── content_based_by_hand.html │ │ │ ├── content_based_by_hand.ipynb │ │ │ └── content_based_by_hand_files │ │ │ │ ├── MathJax.js │ │ │ │ ├── custom.css │ │ │ │ ├── jquery.min.js │ │ │ │ └── require.min.js │ │ └── [Lab01] [ML on GCP C10] Content-Based Filtering by Hand _ Qwiklabs + googlecoursera-run.pdf │ ├── Lab02 │ │ ├── [Lab02] Solution │ │ │ ├── content_based_preproc.html │ │ │ ├── content_based_preproc.ipynb │ │ │ ├── content_based_preproc_files │ │ │ │ ├── MathJax.js │ │ │ │ ├── custom.css │ │ │ │ ├── jquery.min.js │ │ │ │ └── require.min.js │ │ │ ├── content_based_using_neural_networks.html │ │ │ ├── content_based_using_neural_networks.ipynb │ │ │ └── content_based_using_neural_networks_files │ │ │ │ ├── MathJax.js │ │ │ │ ├── custom.css │ │ │ │ ├── jquery.min.js │ │ │ │ └── require.min.js │ │ └── [Lab02] [ML on GCP C10] Content-Based Filtering using Neural Networks _ Qwiklabs + googlecoursera-run.pdf │ └── Lab03 │ │ ├── [Lab03] Solution │ │ ├── wals.html │ │ ├── wals.ipynb │ │ └── wals_files │ │ │ ├── MathJax.js │ │ │ ├── custom.css │ │ │ ├── jquery.min.js │ │ │ └── require.min.js │ │ └── [ML on GCP C10] Collaborative Filtering on Google Analytics data _ Qwiklabs + googlecoursera-run.pdf └── Week02 │ ├── Lab01 │ ├── [Lab01] Solution │ │ ├── hybrid_recommendations.html │ │ ├── hybrid_recommendations.ipynb │ │ └── hybrid_recommendations_files │ │ │ ├── MathJax.js │ │ │ ├── custom.css │ │ │ ├── jquery.min.js │ │ │ └── require.min.js │ └── [Lab01] [ML on GCP C10] Neural network hybrid recommendation system on Google Analytics _ Qwiklabs + googlecoursera-run.pdf │ └── Lab02 │ ├── [Lab02] Solution │ ├── endtoend.html │ ├── endtoend.ipynb │ └── endtoend_files │ │ ├── MathJax.js │ │ ├── airflow_successful_run.jpg │ │ ├── airflow_viewing_logs.jpg │ │ ├── custom.css │ │ ├── jquery.min.js │ │ └── require.min.js │ └── [ML on GCP C10] End to End Recommendation System _ Qwiklabs + googlecoursera-run.pdf └── README.md /Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week01/Lab1/[Lab01] [ML on GCP C6] Explore dataset _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week01/Lab1/[Lab01] [ML on GCP C6] Explore dataset _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week02/Lab2/[Lab02] [ML on GCP C6] Create a sample dataset _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week02/Lab2/[Lab02] [ML on GCP C6] Create a sample dataset _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week02/Lab3/[Lab03] Solution/TensorBoard1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week02/Lab3/[Lab03] Solution/TensorBoard1.png -------------------------------------------------------------------------------- /Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week02/Lab3/[Lab03] Solution/TensorBoard2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week02/Lab3/[Lab03] Solution/TensorBoard2.png -------------------------------------------------------------------------------- /Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week02/Lab3/[Lab03] [ML on GCP C6] Create TensorFlow model _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week02/Lab3/[Lab03] [ML on GCP C6] Create TensorFlow model _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week03/Lab4/[Lab04] [ML on GCP C6] Preprocessing using Dataflow _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week03/Lab4/[Lab04] [ML on GCP C6] Preprocessing using Dataflow _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week03/Lab5/[Lab05] [ML on GCP C6] Training on Cloud ML Engine _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week03/Lab5/[Lab05] [ML on GCP C6] Training on Cloud ML Engine _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week03/Lab6/[Lab06] Solution/Call from POSTMAN 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week03/Lab6/[Lab06] Solution/Call from POSTMAN 2.png -------------------------------------------------------------------------------- /Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week03/Lab6/[Lab06] Solution/Call from POSTMAN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week03/Lab6/[Lab06] Solution/Call from POSTMAN.png -------------------------------------------------------------------------------- /Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week03/Lab6/[Lab06] [ML on GCP C6] Deploying and predicting with Cloud ML Engine _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 1 | End-to-End Machine Learning with TensorFlow on GCP/Week03/Lab6/[Lab06] [ML on GCP C6] Deploying and predicting with Cloud ML Engine _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 2 | Production Machine Learning Systems/Week01/Lab01/Quiz4/Quiz4 - 100% correct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 2 | Production Machine Learning Systems/Week01/Lab01/Quiz4/Quiz4 - 100% correct.png -------------------------------------------------------------------------------- /Course 2 | Production Machine Learning Systems/Week01/Lab01/Quiz4/Quiz4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 2 | Production Machine Learning Systems/Week01/Lab01/Quiz4/Quiz4.png -------------------------------------------------------------------------------- /Course 2 | Production Machine Learning Systems/Week01/Lab01/Quiz5/Quiz5 - 100%.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 2 | Production Machine Learning Systems/Week01/Lab01/Quiz5/Quiz5 - 100%.png -------------------------------------------------------------------------------- /Course 2 | Production Machine Learning Systems/Week01/Lab01/[Lab01] Solution/form.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Baby Weight Predictor 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | Baby weight predictor 15 |
16 |
17 | 18 | 19 | 20 |

Example application to predict a baby's weight.

21 |
22 |
23 | 24 | 25 |
26 | Mother's age 27 | 28 | {: data.mother_age :}  29 | 31 | 32 | 33 |
34 | 35 |
36 | Gestation weeks 37 | 38 | {: data.gestation_weeks :}  39 | 41 | 42 | 43 |
44 | 45 |
46 | Plurality 47 | 48 | Single 49 | Twins 50 | Triplets 51 | 52 | 53 |
54 | 55 |
56 | Baby's gender 57 | 58 | Male 59 | Female 60 | Unknown 61 | 62 |
63 |
64 | 65 | Predict 66 | 67 |
68 | 69 | 70 |
71 | Prediction 72 | {: result :} 73 |
74 |
75 |
76 |
77 | 78 | 79 | 80 | 81 | 82 | 83 | 112 | 113 | 114 | -------------------------------------------------------------------------------- /Course 2 | Production Machine Learning Systems/Week01/Lab01/[Lab01] Solution/main.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | # Copyright 2017 Google Inc. 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | 18 | import json 19 | import os 20 | 21 | from flask import Flask 22 | from flask import jsonify 23 | from flask import render_template 24 | from flask import request 25 | from flask import url_for 26 | from googleapiclient import discovery 27 | from oauth2client.client import GoogleCredentials 28 | 29 | from google.appengine.api import app_identity 30 | 31 | # authenticate 32 | credentials = GoogleCredentials.get_application_default() 33 | api = discovery.build('ml', 'v1', credentials=credentials) 34 | 35 | project = app_identity.get_application_id() 36 | model_name = os.getenv('MODEL_NAME', 'babyweight') 37 | version_name = os.getenv('VERSION_NAME', 'ml_on_gcp') 38 | 39 | 40 | app = Flask(__name__) 41 | 42 | 43 | def get_prediction(features): 44 | input_data = {'instances': [features]} 45 | parent = 'projects/%s/models/%s' % (project, model_name) 46 | prediction = api.projects().predict(body=input_data, name=parent).execute() 47 | return prediction['predictions'][0]['predictions'][0] 48 | 49 | 50 | @app.route('/') 51 | def index(): 52 | return render_template('index.html') 53 | 54 | 55 | @app.route('/form') 56 | def input_form(): 57 | return render_template('form.html') 58 | 59 | 60 | @app.route('/api/predict', methods=['POST']) 61 | def predict(): 62 | def gender2str(val): 63 | genders = {'unknown': 'Unknown', 'male': 'True', 'female': 'False'} 64 | return genders[val] 65 | 66 | def plurality2str(val): 67 | pluralities = {'1': 'Single(1)', '2': 'Twins(2)', '3': 'Triplets(3)'} 68 | if features['is_male'] == 'Unknown' and int(val) > 1: 69 | return 'Multiple(2+)' 70 | return pluralities[val] 71 | 72 | data = json.loads(request.data.decode()) 73 | mandatory_items = ['baby_gender', 'mother_age', 74 | 'plurality', 'gestation_weeks'] 75 | for item in mandatory_items: 76 | if item not in data.keys(): 77 | return jsonify({'result': 'Set all items.'}) 78 | 79 | features = {} 80 | features['key'] = 'nokey' 81 | features['is_male'] = gender2str(data['baby_gender']) 82 | features['mother_age'] = float(data['mother_age']) 83 | features['plurality'] = plurality2str(data['plurality']) 84 | features['gestation_weeks'] = float(data['gestation_weeks']) 85 | 86 | prediction = get_prediction(features) 87 | return jsonify({'result': '{:.2f} lbs.'.format(prediction)}) 88 | 89 | -------------------------------------------------------------------------------- /Course 2 | Production Machine Learning Systems/Week01/Lab01/[Lab01] [ML on GCP C7] Serving on Cloud MLE _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 2 | Production Machine Learning Systems/Week01/Lab01/[Lab01] [ML on GCP C7] Serving on Cloud MLE _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 2 | Production Machine Learning Systems/Week02/Lab01/Lab Intro - Serving ML Prediction in Batch and RealTime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 2 | Production Machine Learning Systems/Week02/Lab01/Lab Intro - Serving ML Prediction in Batch and RealTime.png -------------------------------------------------------------------------------- /Course 2 | Production Machine Learning Systems/Week02/Lab01/[Lab01] Solution/AddPrediction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Google Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy of 6 | * the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | */ 16 | 17 | package com.google.cloud.training.mlongcp; 18 | 19 | import org.apache.beam.runners.dataflow.DataflowRunner; 20 | import org.apache.beam.runners.dataflow.options.DataflowPipelineOptions; 21 | import org.apache.beam.sdk.Pipeline; 22 | import org.apache.beam.sdk.PipelineResult; 23 | import org.apache.beam.sdk.options.Default; 24 | import org.apache.beam.sdk.options.Description; 25 | import org.apache.beam.sdk.options.PipelineOptionsFactory; 26 | import org.apache.beam.sdk.transforms.windowing.FixedWindows; 27 | import org.apache.beam.sdk.transforms.windowing.Window; 28 | import org.apache.beam.sdk.values.PCollection; 29 | import org.joda.time.Duration; 30 | 31 | /** 32 | * Adds prediction to incoming information. 33 | * 34 | * @author vlakshmanan 35 | * 36 | */ 37 | public class AddPrediction { 38 | // private static final Logger LOG = LoggerFactory.getLogger(AddPrediction.class); 39 | 40 | public static interface MyOptions extends DataflowPipelineOptions { 41 | @Description("Output dir or bqdataset.table") 42 | @Default.String("../output/") 43 | String getOutput(); 44 | 45 | void setOutput(String s); 46 | 47 | 48 | @Description("Input file or pubsub-topic") 49 | @Default.String("../exampledata.csv.gz") 50 | String getInput(); 51 | 52 | void setInput(String s); 53 | 54 | 55 | @Description("If real-time, it will read incoming flight info from Pub/Sub") 56 | @Default.Boolean(false) 57 | boolean isRealtime(); 58 | void setRealtime(boolean r); 59 | } 60 | 61 | public static void main(String[] args) { 62 | MyOptions options = PipelineOptionsFactory.fromArgs(args).withValidation().as(MyOptions.class); 63 | if (options.isRealtime()) { 64 | options.setStreaming(true); 65 | options.setRunner(DataflowRunner.class); 66 | } 67 | 68 | 69 | Pipeline p = Pipeline.create(options); 70 | 71 | InputOutput io; 72 | if (options.isRealtime()) { 73 | // in real-time, we read from PubSub and write to BigQuery 74 | io = new PubSubBigQuery(); 75 | } else { 76 | io = new TextInputOutput(); 77 | } 78 | 79 | PCollection babies = io // 80 | .readInstances(p, options) // 81 | .apply(Window. into(FixedWindows.of(Duration.standardSeconds(20))).withAllowedLateness(Duration.standardSeconds(10)).discardingFiredPanes()); 82 | 83 | io.writePredictions(babies, options); 84 | 85 | PipelineResult result = p.run(); 86 | if (!options.isRealtime()) { 87 | result.waitUntilFinish(); 88 | } 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /Course 2 | Production Machine Learning Systems/Week02/Lab01/[Lab01] Solution/BabyweightMLService.java: -------------------------------------------------------------------------------- 1 | package com.google.cloud.training.mlongcp; 2 | 3 | import java.io.IOException; 4 | import java.security.GeneralSecurityException; 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | import java.util.UUID; 8 | 9 | import org.slf4j.Logger; 10 | import org.slf4j.LoggerFactory; 11 | 12 | import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; 13 | import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; 14 | import com.google.api.client.http.ByteArrayContent; 15 | import com.google.api.client.http.GenericUrl; 16 | import com.google.api.client.http.HttpBackOffUnsuccessfulResponseHandler; 17 | import com.google.api.client.http.HttpContent; 18 | import com.google.api.client.http.HttpRequest; 19 | import com.google.api.client.http.HttpRequestFactory; 20 | import com.google.api.client.http.HttpTransport; 21 | import com.google.api.client.util.ExponentialBackOff; 22 | import com.google.cloud.training.mlongcp.Baby.INPUTCOLS; 23 | import com.google.gson.Gson; 24 | import com.google.gson.GsonBuilder; 25 | 26 | public class BabyweightMLService { 27 | private static final Logger LOG = LoggerFactory.getLogger(BabyweightMLService.class); 28 | private static final String PROJECT = "qwiklabs-gcp-03a3c7f51c6f2e4a"; // TODO: put in your project name here 29 | private static String MODEL = "babyweight"; 30 | private static String VERSION = "ml_on_gcp"; // TODO: put in your version name here 31 | 32 | static class Instance { 33 | String key, is_male, plurality; 34 | float mother_age, gestation_weeks; 35 | 36 | Instance() {} 37 | Instance(Baby f) { 38 | this.key = "" + UUID.randomUUID(); 39 | this.is_male = f.getField(Baby.INPUTCOLS.is_male); 40 | this.mother_age = f.getFieldAsFloat(Baby.INPUTCOLS.mother_age); 41 | this.plurality = f.getField(Baby.INPUTCOLS.plurality); 42 | this.gestation_weeks = f.getFieldAsFloat(Baby.INPUTCOLS.gestation_weeks); 43 | } 44 | } 45 | 46 | static class Request { 47 | List instances = new ArrayList<>(); 48 | } 49 | 50 | static class Prediction { 51 | List predictions; 52 | } 53 | 54 | static class Response { 55 | List predictions = new ArrayList<>(); 56 | 57 | public double[] getPredictedBabyWeights() { 58 | double[] result = new double[predictions.size()]; 59 | for (int i=0; i < result.length; ++i) { 60 | Prediction pred = predictions.get(i); 61 | result[i] = pred.predictions.get(0); 62 | } 63 | return result; 64 | } 65 | } 66 | 67 | static Response sendRequest(Request req) throws IOException, GeneralSecurityException { 68 | long startTime = System.currentTimeMillis(); 69 | try { 70 | // create JSON of request 71 | Gson gson = new GsonBuilder().create(); 72 | String json = gson.toJson(req, Request.class); 73 | LOG.debug(json); 74 | 75 | // our service's URL 76 | String endpoint = "https://ml.googleapis.com/v1/projects/" 77 | + String.format("%s/models/%s/versions/%s:predict", PROJECT, MODEL, VERSION); 78 | GenericUrl url = new GenericUrl(endpoint); 79 | 80 | // set up https 81 | GoogleCredential credential = GoogleCredential.getApplicationDefault(); 82 | HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); 83 | HttpRequestFactory requestFactory = httpTransport.createRequestFactory(credential); 84 | HttpContent content = new ByteArrayContent("application/json", json.getBytes()); 85 | 86 | // send request 87 | HttpRequest request = requestFactory.buildRequest("POST", url, content); 88 | request.setUnsuccessfulResponseHandler(new HttpBackOffUnsuccessfulResponseHandler(new ExponentialBackOff())); 89 | request.setReadTimeout(5 * 60 * 1000); // 5 minutes 90 | String response = request.execute().parseAsString(); 91 | LOG.debug(response); 92 | 93 | // parse response 94 | return gson.fromJson(response, Response.class); 95 | } 96 | finally { 97 | long endTime = System.currentTimeMillis(); 98 | LOG.debug((endTime - startTime) + " msecs overall"); 99 | } 100 | } 101 | 102 | public static double[] mock_batchPredict(Iterable instances) throws IOException, GeneralSecurityException { 103 | int n = 0; 104 | for (@SuppressWarnings("unused") Baby f : instances) { 105 | ++n; 106 | } 107 | LOG.info("Mock prediction for " + n + " instances"); 108 | double[] result = new double[n]; 109 | for (int i=0; i < n; ++i) { 110 | result[i] = Math.random() * 10; 111 | } 112 | return result; 113 | } 114 | 115 | public static double[] batchPredict(Iterable instances) throws IOException, GeneralSecurityException { 116 | Request request = new Request(); 117 | for (Baby f : instances) { 118 | request.instances.add(new Instance(f)); 119 | } 120 | Response resp = sendRequest(request); 121 | double[] result = resp.getPredictedBabyWeights(); 122 | return result; 123 | } 124 | 125 | public static double predict(Baby f, double defaultValue) throws IOException, GeneralSecurityException { 126 | 127 | Request request = new Request(); 128 | 129 | // fill in actual values 130 | Instance instance = new Instance(f); 131 | request.instances.add(instance); 132 | 133 | // send request 134 | Response resp = sendRequest(request); 135 | double[] result = resp.getPredictedBabyWeights(); 136 | if (result.length > 0) { 137 | return result[0]; 138 | } else { 139 | return defaultValue; 140 | } 141 | 142 | } 143 | 144 | public static void main(String[] args) throws Exception { 145 | // create request 146 | Request request = new Request(); 147 | 148 | Instance instance = new Instance(); 149 | instance.key = "notused"; 150 | instance.is_male = "True"; 151 | instance.mother_age = 26; 152 | instance.plurality = "Twins(2)"; 153 | instance.gestation_weeks = 37; 154 | 155 | request.instances.add(instance); 156 | 157 | // send request to service 158 | Response resp = sendRequest(request); 159 | System.out.println(resp.getPredictedBabyWeights()[0]); 160 | 161 | Baby f = Baby.fromCsv("5.4233716452,True,13,Single(1),37.0,124458947937444850"); 162 | System.out.println("predicted=" + predict(f, -1) + " actual=" + f.getFieldAsFloat(INPUTCOLS.weight_pounds)); 163 | } 164 | 165 | } 166 | -------------------------------------------------------------------------------- /Course 2 | Production Machine Learning Systems/Week02/Lab01/[Lab01] Solution/PubSubBigQuery.java: -------------------------------------------------------------------------------- 1 | package com.google.cloud.training.mlongcp; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import org.apache.beam.sdk.Pipeline; 7 | import org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO; 8 | import org.apache.beam.sdk.io.gcp.pubsub.PubsubIO; 9 | import org.apache.beam.sdk.transforms.DoFn; 10 | import org.apache.beam.sdk.transforms.ParDo; 11 | import org.apache.beam.sdk.values.PCollection; 12 | 13 | import com.google.api.services.bigquery.model.TableFieldSchema; 14 | import com.google.api.services.bigquery.model.TableRow; 15 | import com.google.api.services.bigquery.model.TableSchema; 16 | import com.google.cloud.training.mlongcp.AddPrediction.MyOptions; 17 | import com.google.cloud.training.mlongcp.Baby.INPUTCOLS; 18 | 19 | @SuppressWarnings("serial") 20 | public class PubSubBigQuery extends InputOutput { 21 | 22 | @Override 23 | public PCollection readInstances(Pipeline, MyOptions options) { 24 | String topic = "projects/" + options.getProject() + "/topics/" + options.getInput(); 25 | LOG.info("Reading from pub/sub topic " + topic); 26 | 27 | return p.apply("combined:read", 28 | PubsubIO.readStrings().fromTopic(topic).withTimestampAttribute("EventTimeStamp")) // 29 | .apply("parse", ParDo.of(new DoFn() { 30 | @ProcessElement 31 | public void processElement(ProcessContext c) throws Exception { 32 | String message = c.element(); 33 | String[] lines = message.split("\n"); 34 | for (String line : lines) { 35 | Baby f = Baby.fromCsv(line); 36 | if (f != null) { 37 | c.output(f); 38 | } 39 | } 40 | } 41 | })); 42 | } 43 | 44 | @Override 45 | public void writePredictions(PCollection instances, MyOptions options) { 46 | String outputTable = options.getProject() + ':' + options.getOutput(); 47 | LOG.info("Writing to BigQuery table " + outputTable); 48 | 49 | TableSchema schema = new TableSchema().setFields(getTableFields()); 50 | PCollection preds = addPredictionInBatches(instances); 51 | PCollection rows = toTableRows(preds); 52 | rows.apply("write_toBQ",BigQueryIO.writeTableRows().to(outputTable) // 53 | .withSchema(schema)// 54 | .withWriteDisposition(BigQueryIO.Write.WriteDisposition.WRITE_APPEND) 55 | .withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_IF_NEEDED)); 56 | } 57 | 58 | private PCollection toTableRows(PCollection preds) { 59 | return preds.apply("pred->row", ParDo.of(new DoFn() { 60 | @ProcessElement 61 | public void processElement(ProcessContext c) throws Exception { 62 | BabyPred pred = c.element(); 63 | TableRow row = new TableRow(); 64 | for (int i=0; i < types.length; ++i) { 65 | INPUTCOLS col = INPUTCOLS.values()[i]; 66 | String name = col.name(); 67 | String value = pred.flight.getField(col); 68 | if (value.length() > 0) { 69 | if (types[i].equals("FLOAT")) { 70 | row.set(name, Float.parseFloat(value)); 71 | } else { 72 | row.set(name, value); 73 | } 74 | } 75 | } 76 | if (pred.predictedWeight >= 0) { 77 | row.set("predicted_weight_pounds", Math.round(pred.predictedWeight*100)/100.0); 78 | } 79 | c.output(row); 80 | }})) // 81 | ; 82 | } 83 | 84 | private String[] types; 85 | public PubSubBigQuery() { 86 | this.types = new String[INPUTCOLS.values().length]; 87 | for (int i=0; i < types.length; ++i) { 88 | types[i] = "STRING"; 89 | } 90 | types[INPUTCOLS.weight_pounds.ordinal()] = "FLOAT"; 91 | types[INPUTCOLS.mother_age.ordinal()] = "FLOAT"; 92 | types[INPUTCOLS.gestation_weeks.ordinal()] = "FLOAT"; 93 | } 94 | 95 | private List getTableFields() { 96 | List fields = new ArrayList<>(); 97 | for (int i=0; i < types.length; ++i) { 98 | String name = INPUTCOLS.values()[i].name(); 99 | fields.add(new TableFieldSchema().setName(name).setType(types[i])); 100 | } 101 | fields.add(new TableFieldSchema().setName("predicted_weight_pounds").setType("FLOAT")); 102 | return fields; 103 | } 104 | } 105 | -------------------------------------------------------------------------------- /Course 2 | Production Machine Learning Systems/Week02/Lab01/[Lab01] Solution/TextInputOutput.java: -------------------------------------------------------------------------------- 1 | package com.google.cloud.training.mlongcp; 2 | 3 | import java.text.DecimalFormat; 4 | 5 | import org.apache.beam.sdk.Pipeline; 6 | import org.apache.beam.sdk.io.TextIO; 7 | import org.apache.beam.sdk.transforms.DoFn; 8 | import org.apache.beam.sdk.transforms.ParDo; 9 | import org.apache.beam.sdk.values.PCollection; 10 | 11 | import com.google.cloud.training.mlongcp.AddPrediction.MyOptions; 12 | 13 | @SuppressWarnings("serial") 14 | public class TextInputOutput extends InputOutput { 15 | @Override 16 | public PCollection readInstances(Pipeline p, MyOptions options) { 17 | String inputFile = options.getInput(); 18 | LOG.info("Reading data from " + inputFile); 19 | 20 | PCollection babies = p // 21 | .apply("ReadLines", TextIO.read().from(inputFile)) // 22 | .apply("Parse", ParDo.of(new DoFn() { 23 | @ProcessElement 24 | public void processElement(ProcessContext c) throws Exception { 25 | String line = c.element(); 26 | Baby f = Baby.fromCsv(line); 27 | if (f != null) { 28 | c.output(f); 29 | } 30 | } 31 | })); 32 | return babies; 33 | } 34 | 35 | @Override 36 | public void writePredictions(PCollection instances, MyOptions options) { 37 | try { 38 | PCollection prds = addPredictionInBatches(instances); 39 | PCollection lines = predToCsv(prds); 40 | lines.apply("Write", TextIO.write().to(options.getOutput() + "flightPreds").withSuffix(".csv")); 41 | } catch (Throwable t) { 42 | LOG.warn("Inference failed", t); 43 | } 44 | } 45 | 46 | private PCollection predToCsv(PCollection preds) { 47 | return preds.apply("pred->csv", ParDo.of(new DoFn() { 48 | @ProcessElement 49 | public void processElement(ProcessContext c) throws Exception { 50 | BabyPred pred = c.element(); 51 | String csv = String.join(",", pred.flight.getFields()); 52 | if (pred.predictedWeight >= 0) { 53 | csv = csv + "," + new DecimalFormat("0.00").format(pred.predictedWeight); 54 | } else { 55 | csv = csv + ","; // empty string -> null 56 | } 57 | c.output(csv); 58 | }})) // 59 | ; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /Course 2 | Production Machine Learning Systems/Week02/Lab01/[Lab01] [ML on GCP C7] Serving ML Predictions in batch and real-time _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 2 | Production Machine Learning Systems/Week02/Lab01/[Lab01] [ML on GCP C7] Serving ML Predictions in batch and real-time _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Additional Resources.txt: -------------------------------------------------------------------------------- 1 | ImageNet Object Localization Challenge: 2 | https://www.kaggle.com/c/imagenet-object-localization-challenge 3 | 4 | 5 | History of CNNs - ImageNet Challenge (Site currently down): 6 | http://www.image-net.org/challenges/LSVRC/ 7 | 8 | 9 | Fun with CNNs - Move Mirror: 10 | https://experiments.withgoogle.com/move-mirror 11 | 12 | 13 | TensorFlow CNN Documentation: 14 | https://www.tensorflow.org/tutorials/images/deep_cnn 15 | 16 | 17 | TensorFlow ResNET50: 18 | https://www.tensorflow.org/api_docs/python/tf/keras/applications/ResNet50 19 | 20 | 21 | TensorFlow Using TPUs Guide: 22 | https://www.tensorflow.org/guide/using_tpu 23 | 24 | 25 | -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week01/Lab01/[Lab01 ][ML on GCP C8] Image Classification with a Linear Model _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week01/Lab01/[Lab01 ][ML on GCP C8] Image Classification with a Linear Model _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week01/Lab02/[Lab02] Solution/model.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Copyright 2017 Google Inc. All Rights Reserved. 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | from __future__ import absolute_import 18 | from __future__ import division 19 | from __future__ import print_function 20 | 21 | import tensorflow as tf 22 | from tensorflow.examples.tutorials.mnist import input_data 23 | tf.logging.set_verbosity(tf.logging.INFO) 24 | 25 | HEIGHT=28 26 | WIDTH=28 27 | NCLASSES=10 28 | 29 | def linear_model(img, mode, hparams): 30 | X = tf.reshape(img,[-1,HEIGHT*WIDTH]) #flatten 31 | ylogits = tf.layers.dense(X,NCLASSES,activation=None) 32 | return ylogits, NCLASSES 33 | 34 | def dnn_model(img, mode, hparams): 35 | #TODO: Implement DNN model with three hiddenlayers 36 | X = tf.reshape(img, [-1, HEIGHT*WIDTH]) #flatten 37 | h1 = tf.layers.dense(X, 300, activation=tf.nn.relu) 38 | h2 = tf.layers.dense(h1, 200, activation=tf.nn.relu) 39 | h3 = tf.layers.dense(h2, 50, activation=tf.nn.relu) 40 | ylogits = tf.layers.dense(h3, NCLASSES, activation=None) 41 | return ylogits, NCLASSES 42 | 43 | def dnn_dropout_model(img, mode, hparams): 44 | #TODO: Implement DNN model and apply dropout to the last hidden layer 45 | pass 46 | 47 | def cnn_model(img, mode, hparams): 48 | ksize1 = hparams.get('ksize1', 5) 49 | ksize2 = hparams.get('ksize2', 5) 50 | nfil1 = hparams.get('nfil1', 10) 51 | nfil2 = hparams.get('nfil2', 20) 52 | dprob = hparams.get('dprob', 0.25) 53 | 54 | c1 = tf.layers.conv2d(img, filters=nfil1, 55 | kernel_size=ksize1, strides=1, # ?x28x28x10 56 | padding='same', activation=tf.nn.relu) 57 | p1 = tf.layers.max_pooling2d(c1,pool_size=2, strides=2) # ?x14x14x10 58 | c2 = None #TODO: apply a second convolution to the output of p1 59 | p2 = None #TODO: apply a pooling layer with pool_size=2 and strides=2 60 | 61 | outlen = p2.shape[1]*p2.shape[2]*p2.shape[3] #980 62 | p2flat = tf.reshape(p2, [-1, outlen]) # flattened 63 | 64 | h3 = tf.layers.dense(p2flat, 300, activation=tf.nn.relu) 65 | h3d = tf.layers.dropout( 66 | h3, rate=dprob, training=(mode == tf.estimator.ModeKeys.TRAIN)) 67 | 68 | ylogits = tf.layers.dense(h3d, NCLASSES, activation=None) 69 | return ylogits, NCLASSES 70 | 71 | def serving_input_fn(): 72 | #input will be rank 3 73 | feature_placeholders = { 74 | 'image': tf.placeholder(tf.float32, [None, HEIGHT, WIDTH])} 75 | #but model function requires rank 4 76 | features = { 77 | 'image': tf.expand_dims(feature_placeholders['image'],-1)} 78 | return tf.estimator.export.ServingInputReceiver(features, feature_placeholders) 79 | 80 | def image_classifier(features, labels, mode, params): 81 | model_functions = { 82 | 'linear':linear_model, 83 | 'dnn':dnn_model, 84 | 'dnn_dropout':dnn_dropout_model, 85 | 'cnn':cnn_model} 86 | model_function = model_functions[params['model']] 87 | ylogits, nclasses = model_function(features['image'], mode, params) 88 | 89 | probabilities = tf.nn.softmax(ylogits) 90 | classes = tf.cast(tf.argmax(probabilities, 1), tf.uint8) 91 | if mode == tf.estimator.ModeKeys.TRAIN or mode == tf.estimator.ModeKeys.EVAL: 92 | loss = tf.reduce_mean( 93 | tf.nn.softmax_cross_entropy_with_logits_v2( 94 | logits=ylogits, labels=labels)) 95 | evalmetrics = {'accuracy': tf.metrics.accuracy(classes, tf.argmax(labels, 1))} 96 | if mode == tf.estimator.ModeKeys.TRAIN: 97 | # this is needed for batch normalization, but has no effect otherwise 98 | update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) 99 | with tf.control_dependencies(update_ops): 100 | train_op = tf.contrib.layers.optimize_loss( 101 | loss, 102 | tf.train.get_global_step(), 103 | learning_rate=params['learning_rate'], 104 | optimizer="Adam") 105 | else: 106 | train_op = None 107 | else: 108 | loss = None 109 | train_op = None 110 | evalmetrics = None 111 | 112 | return tf.estimator.EstimatorSpec( 113 | mode=mode, 114 | predictions={"probabilities": probabilities, "classes": classes}, 115 | loss=loss, 116 | train_op=train_op, 117 | eval_metric_ops=evalmetrics, 118 | export_outputs={'classes':tf.estimator.export.PredictOutput( 119 | {"probabilities": probabilities, "classes": classes})} 120 | ) 121 | 122 | def train_and_evaluate(output_dir, hparams): 123 | tf.summary.FileWriterCache.clear() # ensure filewriter cache is clear for TensorBoard events file 124 | EVAL_INTERVAL = 60 125 | 126 | mnist = input_data.read_data_sets('mnist/data', one_hot=True, reshape=False) 127 | 128 | train_input_fn = tf.estimator.inputs.numpy_input_fn( 129 | x={'image':mnist.train.images}, 130 | y=mnist.train.labels, 131 | batch_size=100, 132 | num_epochs=None, 133 | shuffle=True, 134 | queue_capacity=5000 135 | ) 136 | 137 | eval_input_fn = tf.estimator.inputs.numpy_input_fn( 138 | x={'image':mnist.test.images}, 139 | y=mnist.test.labels, 140 | batch_size=100, 141 | num_epochs=1, 142 | shuffle=False, 143 | queue_capacity=5000 144 | ) 145 | estimator = tf.estimator.Estimator(model_fn = image_classifier, 146 | params = hparams, 147 | config=tf.estimator.RunConfig( 148 | save_checkpoints_secs = EVAL_INTERVAL), 149 | model_dir = output_dir) 150 | train_spec = tf.estimator.TrainSpec(input_fn = train_input_fn, 151 | max_steps = hparams['train_steps']) 152 | exporter = tf.estimator.LatestExporter('exporter', serving_input_fn) 153 | eval_spec = tf.estimator.EvalSpec(input_fn = eval_input_fn, 154 | steps = None, 155 | exporters = exporter, 156 | throttle_secs = EVAL_INTERVAL) 157 | tf.estimator.train_and_evaluate(estimator, train_spec, eval_spec) 158 | -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week01/Lab02/[Lab02] [ML on GCP C8] Image Classification with a Deep Neural Network Model _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week01/Lab02/[Lab02] [ML on GCP C8] Image Classification with a Deep Neural Network Model _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week01/Lab03/[Lab03] Solution/mnist_models.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week01/Lab03/[Lab03] Solution/mnist_models.pdf -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week01/Lab03/[Lab03] Solution/model.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Copyright 2017 Google Inc. All Rights Reserved. 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | from __future__ import absolute_import 18 | from __future__ import division 19 | from __future__ import print_function 20 | 21 | import tensorflow as tf 22 | from tensorflow.examples.tutorials.mnist import input_data 23 | tf.logging.set_verbosity(tf.logging.INFO) 24 | 25 | HEIGHT=28 26 | WIDTH=28 27 | NCLASSES=10 28 | 29 | def linear_model(img, mode, hparams): 30 | X = tf.reshape(img,[-1,HEIGHT*WIDTH]) #flatten 31 | ylogits = tf.layers.dense(X,NCLASSES,activation=None) 32 | return ylogits, NCLASSES 33 | 34 | def dnn_model(img, mode, hparams): 35 | #TODO: Implement DNN model with three hiddenlayers 36 | pass 37 | 38 | def dnn_dropout_model(img, mode, hparams): 39 | dprob = hparams.get('dprob', 0.1) 40 | X = tf.reshape(img, [-1, HEIGHT*WIDTH]) #flatten 41 | h1 = tf.layers.dense(X, 300, activation=tf.nn.relu) 42 | h2 = tf.layers.dense(h1,100, activation=tf.nn.relu) 43 | h3 = tf.layers.dense(h2, 30, activation=tf.nn.relu) 44 | # Droput only on training mode 45 | dh4 = tf.layers.dropout(h2, rate=dprob, training=(mode == tf.estimator.ModeKeys.TRAIN)) 46 | ylogits = tf.layers.dense(dh4, NCLASSES, activation=None) 47 | return ylogits, NCLASSES 48 | 49 | def cnn_model(img, mode, hparams): 50 | ksize1 = hparams.get('ksize1', 5) 51 | ksize2 = hparams.get('ksize2', 5) 52 | nfil1 = hparams.get('nfil1', 10) 53 | nfil2 = hparams.get('nfil2', 20) 54 | dprob = hparams.get('dprob', 0.25) 55 | 56 | c1 = tf.layers.conv2d(img, filters=nfil1, 57 | kernel_size=ksize1, strides=1, # ?x28x28x10 58 | padding='same', activation=tf.nn.relu) 59 | p1 = tf.layers.max_pooling2d(c1,pool_size=2, strides=2) # ?x14x14x10 60 | c2 = None #TODO: apply a second convolution to the output of p1 61 | p2 = None #TODO: apply a pooling layer with pool_size=2 and strides=2 62 | 63 | outlen = p2.shape[1]*p2.shape[2]*p2.shape[3] #980 64 | p2flat = tf.reshape(p2, [-1, outlen]) # flattened 65 | 66 | h3 = tf.layers.dense(p2flat, 300, activation=tf.nn.relu) 67 | h3d = tf.layers.dropout( 68 | h3, rate=dprob, training=(mode == tf.estimator.ModeKeys.TRAIN)) 69 | 70 | ylogits = tf.layers.dense(h3d, NCLASSES, activation=None) 71 | return ylogits, NCLASSES 72 | 73 | def serving_input_fn(): 74 | #input will be rank 3 75 | feature_placeholders = { 76 | 'image': tf.placeholder(tf.float32, [None, HEIGHT, WIDTH])} 77 | #but model function requires rank 4 78 | features = { 79 | 'image': tf.expand_dims(feature_placeholders['image'],-1)} 80 | return tf.estimator.export.ServingInputReceiver(features, feature_placeholders) 81 | 82 | def image_classifier(features, labels, mode, params): 83 | model_functions = { 84 | 'linear':linear_model, 85 | 'dnn':dnn_model, 86 | 'dnn_dropout':dnn_dropout_model, 87 | 'cnn':cnn_model} 88 | model_function = model_functions[params['model']] 89 | ylogits, nclasses = model_function(features['image'], mode, params) 90 | 91 | probabilities = tf.nn.softmax(ylogits) 92 | classes = tf.cast(tf.argmax(probabilities, 1), tf.uint8) 93 | if mode == tf.estimator.ModeKeys.TRAIN or mode == tf.estimator.ModeKeys.EVAL: 94 | loss = tf.reduce_mean( 95 | tf.nn.softmax_cross_entropy_with_logits_v2( 96 | logits=ylogits, labels=labels)) 97 | evalmetrics = {'accuracy': tf.metrics.accuracy(classes, tf.argmax(labels, 1))} 98 | if mode == tf.estimator.ModeKeys.TRAIN: 99 | # this is needed for batch normalization, but has no effect otherwise 100 | update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) 101 | with tf.control_dependencies(update_ops): 102 | train_op = tf.contrib.layers.optimize_loss( 103 | loss, 104 | tf.train.get_global_step(), 105 | learning_rate=params['learning_rate'], 106 | optimizer="Adam") 107 | else: 108 | train_op = None 109 | else: 110 | loss = None 111 | train_op = None 112 | evalmetrics = None 113 | 114 | return tf.estimator.EstimatorSpec( 115 | mode=mode, 116 | predictions={"probabilities": probabilities, "classes": classes}, 117 | loss=loss, 118 | train_op=train_op, 119 | eval_metric_ops=evalmetrics, 120 | export_outputs={'classes':tf.estimator.export.PredictOutput( 121 | {"probabilities": probabilities, "classes": classes})} 122 | ) 123 | 124 | def train_and_evaluate(output_dir, hparams): 125 | tf.summary.FileWriterCache.clear() # ensure filewriter cache is clear for TensorBoard events file 126 | EVAL_INTERVAL = 60 127 | 128 | mnist = input_data.read_data_sets('mnist/data', one_hot=True, reshape=False) 129 | 130 | train_input_fn = tf.estimator.inputs.numpy_input_fn( 131 | x={'image':mnist.train.images}, 132 | y=mnist.train.labels, 133 | batch_size=100, 134 | num_epochs=None, 135 | shuffle=True, 136 | queue_capacity=5000 137 | ) 138 | 139 | eval_input_fn = tf.estimator.inputs.numpy_input_fn( 140 | x={'image':mnist.test.images}, 141 | y=mnist.test.labels, 142 | batch_size=100, 143 | num_epochs=1, 144 | shuffle=False, 145 | queue_capacity=5000 146 | ) 147 | estimator = tf.estimator.Estimator(model_fn = image_classifier, 148 | params = hparams, 149 | config=tf.estimator.RunConfig( 150 | save_checkpoints_secs = EVAL_INTERVAL), 151 | model_dir = output_dir) 152 | train_spec = tf.estimator.TrainSpec(input_fn = train_input_fn, 153 | max_steps = hparams['train_steps']) 154 | exporter = tf.estimator.LatestExporter('exporter', serving_input_fn) 155 | eval_spec = tf.estimator.EvalSpec(input_fn = eval_input_fn, 156 | steps = None, 157 | exporters = exporter, 158 | throttle_secs = EVAL_INTERVAL) 159 | tf.estimator.train_and_evaluate(estimator, train_spec, eval_spec) 160 | -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week01/Lab03/[Lab03] [ML on GCP C8] Image Classification with a DNN Model with Dropout _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week01/Lab03/[Lab03] [ML on GCP C8] Image Classification with a DNN Model with Dropout _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week01/Lab04/[Lab04] Solution/mnist_models_files/custom.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week01/Lab04/[Lab04] Solution/model.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # Copyright 2017 Google Inc. All Rights Reserved. 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | from __future__ import absolute_import 18 | from __future__ import division 19 | from __future__ import print_function 20 | 21 | import tensorflow as tf 22 | from tensorflow.examples.tutorials.mnist import input_data 23 | tf.logging.set_verbosity(tf.logging.INFO) 24 | 25 | HEIGHT=28 26 | WIDTH=28 27 | NCLASSES=10 28 | 29 | def linear_model(img, mode, hparams): 30 | X = tf.reshape(img,[-1,HEIGHT*WIDTH]) #flatten 31 | ylogits = tf.layers.dense(X,NCLASSES,activation=None) 32 | return ylogits, NCLASSES 33 | 34 | def dnn_model(img, mode, hparams): 35 | #TODO: Implement DNN model with three hiddenlayers 36 | pass 37 | 38 | def dnn_dropout_model(img, mode, hparams): 39 | #TODO: Implement DNN model and apply dropout to the last hidden layer 40 | pass 41 | 42 | def cnn_model(img, mode, hparams): 43 | ksize1 = hparams.get('ksize1', 5) 44 | ksize2 = hparams.get('ksize2', 5) 45 | nfil1 = hparams.get('nfil1', 10) 46 | nfil2 = hparams.get('nfil2', 20) 47 | dprob = hparams.get('dprob', 0.25) 48 | 49 | c1 = tf.layers.conv2d(img, filters=nfil1, 50 | kernel_size=ksize1, strides=1, # ?x28x28x10 51 | padding='same', activation=tf.nn.relu) 52 | p1 = tf.layers.max_pooling2d(c1,pool_size=2, strides=2) # ?x14x14x10 53 | 54 | #TODO: apply a second convolution to the output of p1 55 | c2 = tf.layers.conv2d(p1, filters=nfil2, 56 | kernel_size=ksize2, strides=1, # ?x14x14x20 57 | padding='same', activation=tf.nn.relu) 58 | 59 | #TODO: apply a pooling layer with pool_size=2 and strides=2 60 | p2 = tf.layers.max_pooling2d(c2,pool_size=2, strides=2) # ?x7x7x20 61 | 62 | outlen = p2.shape[1]*p2.shape[2]*p2.shape[3] #980 63 | print("outlen: ", outlen) 64 | 65 | p2flat = tf.reshape(p2, [-1, outlen]) # flattened 66 | 67 | h3 = tf.layers.dense(p2flat, 300, activation=tf.nn.relu) 68 | h3d = tf.layers.dropout(h3, rate=dprob, training=(mode == tf.estimator.ModeKeys.TRAIN)) 69 | ylogits = tf.layers.dense(h3d, NCLASSES, activation=None) 70 | return ylogits, NCLASSES 71 | 72 | def serving_input_fn(): 73 | #input will be rank 3 74 | feature_placeholders = { 75 | 'image': tf.placeholder(tf.float32, [None, HEIGHT, WIDTH])} 76 | #but model function requires rank 4 77 | features = { 78 | 'image': tf.expand_dims(feature_placeholders['image'],-1)} 79 | return tf.estimator.export.ServingInputReceiver(features, feature_placeholders) 80 | 81 | def image_classifier(features, labels, mode, params): 82 | model_functions = { 83 | 'linear':linear_model, 84 | 'dnn':dnn_model, 85 | 'dnn_dropout':dnn_dropout_model, 86 | 'cnn':cnn_model} 87 | model_function = model_functions[params['model']] 88 | ylogits, nclasses = model_function(features['image'], mode, params) 89 | 90 | probabilities = tf.nn.softmax(ylogits) 91 | classes = tf.cast(tf.argmax(probabilities, 1), tf.uint8) 92 | if mode == tf.estimator.ModeKeys.TRAIN or mode == tf.estimator.ModeKeys.EVAL: 93 | loss = tf.reduce_mean( 94 | tf.nn.softmax_cross_entropy_with_logits_v2( 95 | logits=ylogits, labels=labels)) 96 | evalmetrics = {'accuracy': tf.metrics.accuracy(classes, tf.argmax(labels, 1))} 97 | if mode == tf.estimator.ModeKeys.TRAIN: 98 | # this is needed for batch normalization, but has no effect otherwise 99 | update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) 100 | with tf.control_dependencies(update_ops): 101 | train_op = tf.contrib.layers.optimize_loss( 102 | loss, 103 | tf.train.get_global_step(), 104 | learning_rate=params['learning_rate'], 105 | optimizer="Adam") 106 | else: 107 | train_op = None 108 | else: 109 | loss = None 110 | train_op = None 111 | evalmetrics = None 112 | 113 | return tf.estimator.EstimatorSpec( 114 | mode=mode, 115 | predictions={"probabilities": probabilities, "classes": classes}, 116 | loss=loss, 117 | train_op=train_op, 118 | eval_metric_ops=evalmetrics, 119 | export_outputs={'classes':tf.estimator.export.PredictOutput( 120 | {"probabilities": probabilities, "classes": classes})} 121 | ) 122 | 123 | def train_and_evaluate(output_dir, hparams): 124 | tf.summary.FileWriterCache.clear() # ensure filewriter cache is clear for TensorBoard events file 125 | EVAL_INTERVAL = 60 126 | 127 | mnist = input_data.read_data_sets('mnist/data', one_hot=True, reshape=False) 128 | 129 | train_input_fn = tf.estimator.inputs.numpy_input_fn( 130 | x={'image':mnist.train.images}, 131 | y=mnist.train.labels, 132 | batch_size=100, 133 | num_epochs=None, 134 | shuffle=True, 135 | queue_capacity=5000 136 | ) 137 | 138 | eval_input_fn = tf.estimator.inputs.numpy_input_fn( 139 | x={'image':mnist.test.images}, 140 | y=mnist.test.labels, 141 | batch_size=100, 142 | num_epochs=1, 143 | shuffle=False, 144 | queue_capacity=5000 145 | ) 146 | estimator = tf.estimator.Estimator(model_fn = image_classifier, 147 | params = hparams, 148 | config=tf.estimator.RunConfig( 149 | save_checkpoints_secs = EVAL_INTERVAL), 150 | model_dir = output_dir) 151 | train_spec = tf.estimator.TrainSpec(input_fn = train_input_fn, 152 | max_steps = hparams['train_steps']) 153 | exporter = tf.estimator.LatestExporter('exporter', serving_input_fn) 154 | eval_spec = tf.estimator.EvalSpec(input_fn = eval_input_fn, 155 | steps = None, 156 | exporters = exporter, 157 | throttle_secs = EVAL_INTERVAL) 158 | tf.estimator.train_and_evaluate(estimator, train_spec, eval_spec) 159 | -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week01/Lab04/[Lab04] [ML on GCP C8] Image Classification with a CNN Model _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week01/Lab04/[Lab04] [ML on GCP C8] Image Classification with a CNN Model _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week01/Quiz - CNNs.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week01/Quiz - CNNs.pdf -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week01/Quiz - CNNs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week01/Quiz - CNNs.png -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week01/Quiz - Images as Visual Data.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week01/Quiz - Images as Visual Data.pdf -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week01/Quiz - Linear and DNN Models.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week01/Quiz - Linear and DNN Models.pdf -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab01/[Lab01] Image Augmentation in TensorFlow _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab01/[Lab01] Image Augmentation in TensorFlow _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab01/[Lab01] Solution/flowers_fromscratch_files/1022552002_2b93faf9e7_n.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab01/[Lab01] Solution/flowers_fromscratch_files/1022552002_2b93faf9e7_n.jpg -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab01/[Lab01] Solution/flowers_fromscratch_files/custom.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab02/[Lab02] Solution/Prediction screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab02/[Lab02] Solution/Prediction screenshot.png -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab02/[Lab02] [ML on GCP C8] Image Classification Transfer Learning with Inception v3 _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab02/[Lab02] [ML on GCP C8] Image Classification Transfer Learning with Inception v3 _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab04/[Lab04] Solution]/API_KEY Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab04/[Lab04] Solution]/API_KEY Screenshot.png -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab04/[Lab04] Solution]/AutoML Vision/Calling REST/Calling shell.txt: -------------------------------------------------------------------------------- 1 | curl -X POST -H "Content-Type: application/json" \ 2 | -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ 3 | https://automl.googleapis.com/v1beta1/projects/qwiklabs-gcp-e04f0893f04f3911/locations/us-central1/models/ICN8347288927789511251:predict -d @request.json 4 | -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab04/[Lab04] Solution]/AutoML Vision/Calling REST/request.json: -------------------------------------------------------------------------------- 1 | { 2 | "payload": { 3 | "image": { 4 | "imageBytes": "YOUR_IMAGE_BYTE" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab04/[Lab04] Solution]/AutoML Vision/test images/image1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab04/[Lab04] Solution]/AutoML Vision/test images/image1.jpg -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab04/[Lab04] Solution]/AutoML Vision/test images/image2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab04/[Lab04] Solution]/AutoML Vision/test images/image2.jpg -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab04/[Lab04] Solution]/Vision API/call-service-shell.txt: -------------------------------------------------------------------------------- 1 | curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json https://vision.googleapis.com/v1/images:annotate?key=${API_KEY} 2 | -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab04/[Lab04] Solution]/Vision API/cirrus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab04/[Lab04] Solution]/Vision API/cirrus.jpg -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab04/[Lab04] Solution]/Vision API/request.json: -------------------------------------------------------------------------------- 1 | { 2 | "requests": [ 3 | { 4 | "image": { 5 | "source": { 6 | "gcsImageUri": "gs://qwiklabs-gcp-e04f0893f04f3911/cirrus.jpg" 7 | } 8 | }, 9 | "features": [ 10 | { 11 | "type": "LABEL_DETECTION", 12 | "maxResults": 10 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab04/[Lab04] [ML on GCP C8] Training with Pre-built ML Models using Cloud Vision API and AutoML _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week02/Lab04/[Lab04] [ML on GCP C8] Training with Pre-built ML Models using Cloud Vision API and AutoML _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Quiz - Dealing with Data Scarcity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week02/Quiz - Dealing with Data Scarcity.png -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Quiz - Going Deeper, Faster - Results.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week02/Quiz - Going Deeper, Faster - Results.pdf -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Quiz - Going Deeper, Faster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week02/Quiz - Going Deeper, Faster.png -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Quiz - Pre-built Models - Results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week02/Quiz - Pre-built Models - Results.png -------------------------------------------------------------------------------- /Course 3 | Image Understanding with TensorFlow on GCP/Week02/Screenshot from 2019-04-08 12-44-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 3 | Image Understanding with TensorFlow on GCP/Week02/Screenshot from 2019-04-08 12-44-40.png -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab01/[Lab01] Solution/sinewaves_files/custom.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab01/[Lab01] Solution/task.py: -------------------------------------------------------------------------------- 1 | # Copyright 2017 Google Inc. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | """Example implementation of code to run on the Cloud ML service. 16 | """ 17 | 18 | import traceback 19 | import argparse 20 | import json 21 | import os 22 | from . import model 23 | 24 | if __name__ == '__main__': 25 | parser = argparse.ArgumentParser() 26 | # Input Arguments 27 | parser.add_argument( 28 | '--train_data_path', 29 | help='GCS or local path to training data', 30 | required=True 31 | ) 32 | parser.add_argument( 33 | '--eval_data_path', 34 | help='GCS or local path to evaluation data', 35 | required=True 36 | ) 37 | parser.add_argument( 38 | '--train_batch_size', 39 | help='Batch size for training steps', 40 | type=int, 41 | default=100 42 | ) 43 | parser.add_argument( 44 | '--learning_rate', 45 | help='Initial learning rate for training', 46 | type=float, 47 | default=0.01 48 | ) 49 | parser.add_argument( 50 | '--train_steps', 51 | help="""\ 52 | Steps to run the training job for. A step is one batch-size,\ 53 | """, 54 | type=int, 55 | default=0 56 | ) 57 | parser.add_argument( 58 | '--sequence_length', 59 | help="""\ 60 | This model works with fixed length sequences. 1-(N-1) are inputs, last is output 61 | """, 62 | type=int, 63 | default=10 64 | ) 65 | parser.add_argument( 66 | '--output_dir', 67 | help='GCS location to write checkpoints and export models', 68 | required=True 69 | ) 70 | model_names = [name.replace('_model','') \ 71 | for name in dir(model) \ 72 | if name.endswith('_model')] 73 | parser.add_argument( 74 | '--model', 75 | help='Type of model. Supported types are {}'.format(model_names), 76 | required=True 77 | ) 78 | parser.add_argument( 79 | '--job-dir', 80 | help='this model ignores this field, but it is required by gcloud', 81 | default='junk' 82 | ) 83 | parser.add_argument( 84 | '--eval_delay_secs', 85 | help='How long to wait before running first evaluation', 86 | default=10, 87 | type=int 88 | ) 89 | parser.add_argument( 90 | '--min_eval_frequency', 91 | help='Minimum number of training steps between evaluations', 92 | default=60, 93 | type=int 94 | ) 95 | 96 | args = parser.parse_args() 97 | hparams = args.__dict__ 98 | 99 | # unused args provided by service 100 | hparams.pop('job_dir', None) 101 | hparams.pop('job-dir', None) 102 | 103 | output_dir = hparams.pop('output_dir') 104 | 105 | # Append trial_id to path if we are doing hptuning 106 | # This code can be removed if you are not using hyperparameter tuning 107 | output_dir = os.path.join( 108 | output_dir, 109 | json.loads( 110 | os.environ.get('TF_CONFIG', '{}') 111 | ).get('task', {}).get('trial', '') 112 | ) 113 | 114 | # calculate train_steps if not provided 115 | if hparams['train_steps'] < 1: 116 | # 1,000 steps at batch_size of 100 117 | hparams['train_steps'] = (1000 * 100) // hparams['train_batch_size'] 118 | print ("Training for {} steps".format(hparams['train_steps'])) 119 | 120 | model.init(hparams) 121 | 122 | # Run the training job 123 | model.train_and_evaluate(output_dir, hparams) 124 | -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab01/[Lab01] [ML on GCP C9] Time Series Prediction with a Linear Model _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab01/[Lab01] [ML on GCP C9] Time Series Prediction with a Linear Model _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab02/Lab02/[Lab02] Solution/sinewaves_files/custom.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab02/Lab02/[Lab02] Solution/task.py: -------------------------------------------------------------------------------- 1 | # Copyright 2017 Google Inc. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | """Example implementation of code to run on the Cloud ML service. 16 | """ 17 | 18 | import traceback 19 | import argparse 20 | import json 21 | import os 22 | from . import model 23 | 24 | if __name__ == '__main__': 25 | parser = argparse.ArgumentParser() 26 | # Input Arguments 27 | parser.add_argument( 28 | '--train_data_path', 29 | help='GCS or local path to training data', 30 | required=True 31 | ) 32 | parser.add_argument( 33 | '--eval_data_path', 34 | help='GCS or local path to evaluation data', 35 | required=True 36 | ) 37 | parser.add_argument( 38 | '--train_batch_size', 39 | help='Batch size for training steps', 40 | type=int, 41 | default=100 42 | ) 43 | parser.add_argument( 44 | '--learning_rate', 45 | help='Initial learning rate for training', 46 | type=float, 47 | default=0.01 48 | ) 49 | parser.add_argument( 50 | '--train_steps', 51 | help="""\ 52 | Steps to run the training job for. A step is one batch-size,\ 53 | """, 54 | type=int, 55 | default=0 56 | ) 57 | parser.add_argument( 58 | '--sequence_length', 59 | help="""\ 60 | This model works with fixed length sequences. 1-(N-1) are inputs, last is output 61 | """, 62 | type=int, 63 | default=10 64 | ) 65 | parser.add_argument( 66 | '--output_dir', 67 | help='GCS location to write checkpoints and export models', 68 | required=True 69 | ) 70 | model_names = [name.replace('_model','') \ 71 | for name in dir(model) \ 72 | if name.endswith('_model')] 73 | parser.add_argument( 74 | '--model', 75 | help='Type of model. Supported types are {}'.format(model_names), 76 | required=True 77 | ) 78 | parser.add_argument( 79 | '--job-dir', 80 | help='this model ignores this field, but it is required by gcloud', 81 | default='junk' 82 | ) 83 | parser.add_argument( 84 | '--eval_delay_secs', 85 | help='How long to wait before running first evaluation', 86 | default=10, 87 | type=int 88 | ) 89 | parser.add_argument( 90 | '--min_eval_frequency', 91 | help='Minimum number of training steps between evaluations', 92 | default=60, 93 | type=int 94 | ) 95 | 96 | args = parser.parse_args() 97 | hparams = args.__dict__ 98 | 99 | # unused args provided by service 100 | hparams.pop('job_dir', None) 101 | hparams.pop('job-dir', None) 102 | 103 | output_dir = hparams.pop('output_dir') 104 | 105 | # Append trial_id to path if we are doing hptuning 106 | # This code can be removed if you are not using hyperparameter tuning 107 | output_dir = os.path.join( 108 | output_dir, 109 | json.loads( 110 | os.environ.get('TF_CONFIG', '{}') 111 | ).get('task', {}).get('trial', '') 112 | ) 113 | 114 | # calculate train_steps if not provided 115 | if hparams['train_steps'] < 1: 116 | # 1,000 steps at batch_size of 100 117 | hparams['train_steps'] = (1000 * 100) // hparams['train_batch_size'] 118 | print ("Training for {} steps".format(hparams['train_steps'])) 119 | 120 | model.init(hparams) 121 | 122 | # Run the training job 123 | model.train_and_evaluate(output_dir, hparams) 124 | -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab02/Lab02/[lab02] [ML on GCP C9] Time Series Prediction with a DNN Model _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab02/Lab02/[lab02] [ML on GCP C9] Time Series Prediction with a DNN Model _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab02/[Lab02] Solution/sinewaves_files/custom.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab02/[Lab02] Solution/task.py: -------------------------------------------------------------------------------- 1 | # Copyright 2017 Google Inc. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | """Example implementation of code to run on the Cloud ML service. 16 | """ 17 | 18 | import traceback 19 | import argparse 20 | import json 21 | import os 22 | from . import model 23 | 24 | if __name__ == '__main__': 25 | parser = argparse.ArgumentParser() 26 | # Input Arguments 27 | parser.add_argument( 28 | '--train_data_path', 29 | help='GCS or local path to training data', 30 | required=True 31 | ) 32 | parser.add_argument( 33 | '--eval_data_path', 34 | help='GCS or local path to evaluation data', 35 | required=True 36 | ) 37 | parser.add_argument( 38 | '--train_batch_size', 39 | help='Batch size for training steps', 40 | type=int, 41 | default=100 42 | ) 43 | parser.add_argument( 44 | '--learning_rate', 45 | help='Initial learning rate for training', 46 | type=float, 47 | default=0.01 48 | ) 49 | parser.add_argument( 50 | '--train_steps', 51 | help="""\ 52 | Steps to run the training job for. A step is one batch-size,\ 53 | """, 54 | type=int, 55 | default=0 56 | ) 57 | parser.add_argument( 58 | '--sequence_length', 59 | help="""\ 60 | This model works with fixed length sequences. 1-(N-1) are inputs, last is output 61 | """, 62 | type=int, 63 | default=10 64 | ) 65 | parser.add_argument( 66 | '--output_dir', 67 | help='GCS location to write checkpoints and export models', 68 | required=True 69 | ) 70 | model_names = [name.replace('_model','') \ 71 | for name in dir(model) \ 72 | if name.endswith('_model')] 73 | parser.add_argument( 74 | '--model', 75 | help='Type of model. Supported types are {}'.format(model_names), 76 | required=True 77 | ) 78 | parser.add_argument( 79 | '--job-dir', 80 | help='this model ignores this field, but it is required by gcloud', 81 | default='junk' 82 | ) 83 | parser.add_argument( 84 | '--eval_delay_secs', 85 | help='How long to wait before running first evaluation', 86 | default=10, 87 | type=int 88 | ) 89 | parser.add_argument( 90 | '--min_eval_frequency', 91 | help='Minimum number of training steps between evaluations', 92 | default=60, 93 | type=int 94 | ) 95 | 96 | args = parser.parse_args() 97 | hparams = args.__dict__ 98 | 99 | # unused args provided by service 100 | hparams.pop('job_dir', None) 101 | hparams.pop('job-dir', None) 102 | 103 | output_dir = hparams.pop('output_dir') 104 | 105 | # Append trial_id to path if we are doing hptuning 106 | # This code can be removed if you are not using hyperparameter tuning 107 | output_dir = os.path.join( 108 | output_dir, 109 | json.loads( 110 | os.environ.get('TF_CONFIG', '{}') 111 | ).get('task', {}).get('trial', '') 112 | ) 113 | 114 | # calculate train_steps if not provided 115 | if hparams['train_steps'] < 1: 116 | # 1,000 steps at batch_size of 100 117 | hparams['train_steps'] = (1000 * 100) // hparams['train_batch_size'] 118 | print ("Training for {} steps".format(hparams['train_steps'])) 119 | 120 | model.init(hparams) 121 | 122 | # Run the training job 123 | model.train_and_evaluate(output_dir, hparams) 124 | -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab02/[lab02] [ML on GCP C9] Time Series Prediction with a DNN Model _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab02/[lab02] [ML on GCP C9] Time Series Prediction with a DNN Model _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab03/[Lab03] Solution/sinewaves_files/custom.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab03/[Lab03] Solution/task.py: -------------------------------------------------------------------------------- 1 | # Copyright 2017 Google Inc. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | """Example implementation of code to run on the Cloud ML service. 16 | """ 17 | 18 | import traceback 19 | import argparse 20 | import json 21 | import os 22 | from . import model 23 | 24 | if __name__ == '__main__': 25 | parser = argparse.ArgumentParser() 26 | # Input Arguments 27 | parser.add_argument( 28 | '--train_data_path', 29 | help='GCS or local path to training data', 30 | required=True 31 | ) 32 | parser.add_argument( 33 | '--eval_data_path', 34 | help='GCS or local path to evaluation data', 35 | required=True 36 | ) 37 | parser.add_argument( 38 | '--train_batch_size', 39 | help='Batch size for training steps', 40 | type=int, 41 | default=100 42 | ) 43 | parser.add_argument( 44 | '--learning_rate', 45 | help='Initial learning rate for training', 46 | type=float, 47 | default=0.01 48 | ) 49 | parser.add_argument( 50 | '--train_steps', 51 | help="""\ 52 | Steps to run the training job for. A step is one batch-size,\ 53 | """, 54 | type=int, 55 | default=0 56 | ) 57 | parser.add_argument( 58 | '--sequence_length', 59 | help="""\ 60 | This model works with fixed length sequences. 1-(N-1) are inputs, last is output 61 | """, 62 | type=int, 63 | default=10 64 | ) 65 | parser.add_argument( 66 | '--output_dir', 67 | help='GCS location to write checkpoints and export models', 68 | required=True 69 | ) 70 | model_names = [name.replace('_model','') \ 71 | for name in dir(model) \ 72 | if name.endswith('_model')] 73 | parser.add_argument( 74 | '--model', 75 | help='Type of model. Supported types are {}'.format(model_names), 76 | required=True 77 | ) 78 | parser.add_argument( 79 | '--job-dir', 80 | help='this model ignores this field, but it is required by gcloud', 81 | default='junk' 82 | ) 83 | parser.add_argument( 84 | '--eval_delay_secs', 85 | help='How long to wait before running first evaluation', 86 | default=10, 87 | type=int 88 | ) 89 | parser.add_argument( 90 | '--min_eval_frequency', 91 | help='Minimum number of training steps between evaluations', 92 | default=60, 93 | type=int 94 | ) 95 | 96 | args = parser.parse_args() 97 | hparams = args.__dict__ 98 | 99 | # unused args provided by service 100 | hparams.pop('job_dir', None) 101 | hparams.pop('job-dir', None) 102 | 103 | output_dir = hparams.pop('output_dir') 104 | 105 | # Append trial_id to path if we are doing hptuning 106 | # This code can be removed if you are not using hyperparameter tuning 107 | output_dir = os.path.join( 108 | output_dir, 109 | json.loads( 110 | os.environ.get('TF_CONFIG', '{}') 111 | ).get('task', {}).get('trial', '') 112 | ) 113 | 114 | # calculate train_steps if not provided 115 | if hparams['train_steps'] < 1: 116 | # 1,000 steps at batch_size of 100 117 | hparams['train_steps'] = (1000 * 100) // hparams['train_batch_size'] 118 | print ("Training for {} steps".format(hparams['train_steps'])) 119 | 120 | model.init(hparams) 121 | 122 | # Run the training job 123 | model.train_and_evaluate(output_dir, hparams) 124 | -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab03/[Lab03] [ML on GCP C9] Time Series Prediction with a CNN Model _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab03/[Lab03] [ML on GCP C9] Time Series Prediction with a CNN Model _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab04/[Lab04] Solution/sinewaves_files/custom.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab04/[Lab04] Solution/task.py: -------------------------------------------------------------------------------- 1 | # Copyright 2017 Google Inc. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | """Example implementation of code to run on the Cloud ML service. 16 | """ 17 | 18 | import traceback 19 | import argparse 20 | import json 21 | import os 22 | from . import model 23 | 24 | if __name__ == '__main__': 25 | parser = argparse.ArgumentParser() 26 | # Input Arguments 27 | parser.add_argument( 28 | '--train_data_path', 29 | help='GCS or local path to training data', 30 | required=True 31 | ) 32 | parser.add_argument( 33 | '--eval_data_path', 34 | help='GCS or local path to evaluation data', 35 | required=True 36 | ) 37 | parser.add_argument( 38 | '--train_batch_size', 39 | help='Batch size for training steps', 40 | type=int, 41 | default=100 42 | ) 43 | parser.add_argument( 44 | '--learning_rate', 45 | help='Initial learning rate for training', 46 | type=float, 47 | default=0.01 48 | ) 49 | parser.add_argument( 50 | '--train_steps', 51 | help="""\ 52 | Steps to run the training job for. A step is one batch-size,\ 53 | """, 54 | type=int, 55 | default=0 56 | ) 57 | parser.add_argument( 58 | '--sequence_length', 59 | help="""\ 60 | This model works with fixed length sequences. 1-(N-1) are inputs, last is output 61 | """, 62 | type=int, 63 | default=10 64 | ) 65 | parser.add_argument( 66 | '--output_dir', 67 | help='GCS location to write checkpoints and export models', 68 | required=True 69 | ) 70 | model_names = [name.replace('_model','') \ 71 | for name in dir(model) \ 72 | if name.endswith('_model')] 73 | parser.add_argument( 74 | '--model', 75 | help='Type of model. Supported types are {}'.format(model_names), 76 | required=True 77 | ) 78 | parser.add_argument( 79 | '--job-dir', 80 | help='this model ignores this field, but it is required by gcloud', 81 | default='junk' 82 | ) 83 | parser.add_argument( 84 | '--eval_delay_secs', 85 | help='How long to wait before running first evaluation', 86 | default=10, 87 | type=int 88 | ) 89 | parser.add_argument( 90 | '--min_eval_frequency', 91 | help='Minimum number of training steps between evaluations', 92 | default=60, 93 | type=int 94 | ) 95 | 96 | args = parser.parse_args() 97 | hparams = args.__dict__ 98 | 99 | # unused args provided by service 100 | hparams.pop('job_dir', None) 101 | hparams.pop('job-dir', None) 102 | 103 | output_dir = hparams.pop('output_dir') 104 | 105 | # Append trial_id to path if we are doing hptuning 106 | # This code can be removed if you are not using hyperparameter tuning 107 | output_dir = os.path.join( 108 | output_dir, 109 | json.loads( 110 | os.environ.get('TF_CONFIG', '{}') 111 | ).get('task', {}).get('trial', '') 112 | ) 113 | 114 | # calculate train_steps if not provided 115 | if hparams['train_steps'] < 1: 116 | # 1,000 steps at batch_size of 100 117 | hparams['train_steps'] = (1000 * 100) // hparams['train_batch_size'] 118 | print ("Training for {} steps".format(hparams['train_steps'])) 119 | 120 | model.init(hparams) 121 | 122 | # Run the training job 123 | model.train_and_evaluate(output_dir, hparams) 124 | -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab04/[Lab04] [ML on GCP C9] Time Series Prediction with a RNN Model _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab04/[Lab04] [ML on GCP C9] Time Series Prediction with a RNN Model _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab05/[Lab05] Solution/sinewaves_files/custom.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab05/[Lab05] Solution/task.py: -------------------------------------------------------------------------------- 1 | # Copyright 2017 Google Inc. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | """Example implementation of code to run on the Cloud ML service. 16 | """ 17 | 18 | import traceback 19 | import argparse 20 | import json 21 | import os 22 | from . import model 23 | 24 | if __name__ == '__main__': 25 | parser = argparse.ArgumentParser() 26 | # Input Arguments 27 | parser.add_argument( 28 | '--train_data_path', 29 | help='GCS or local path to training data', 30 | required=True 31 | ) 32 | parser.add_argument( 33 | '--eval_data_path', 34 | help='GCS or local path to evaluation data', 35 | required=True 36 | ) 37 | parser.add_argument( 38 | '--train_batch_size', 39 | help='Batch size for training steps', 40 | type=int, 41 | default=100 42 | ) 43 | parser.add_argument( 44 | '--learning_rate', 45 | help='Initial learning rate for training', 46 | type=float, 47 | default=0.01 48 | ) 49 | parser.add_argument( 50 | '--train_steps', 51 | help="""\ 52 | Steps to run the training job for. A step is one batch-size,\ 53 | """, 54 | type=int, 55 | default=0 56 | ) 57 | parser.add_argument( 58 | '--sequence_length', 59 | help="""\ 60 | This model works with fixed length sequences. 1-(N-1) are inputs, last is output 61 | """, 62 | type=int, 63 | default=10 64 | ) 65 | parser.add_argument( 66 | '--output_dir', 67 | help='GCS location to write checkpoints and export models', 68 | required=True 69 | ) 70 | model_names = [name.replace('_model','') \ 71 | for name in dir(model) \ 72 | if name.endswith('_model')] 73 | parser.add_argument( 74 | '--model', 75 | help='Type of model. Supported types are {}'.format(model_names), 76 | required=True 77 | ) 78 | parser.add_argument( 79 | '--job-dir', 80 | help='this model ignores this field, but it is required by gcloud', 81 | default='junk' 82 | ) 83 | parser.add_argument( 84 | '--eval_delay_secs', 85 | help='How long to wait before running first evaluation', 86 | default=10, 87 | type=int 88 | ) 89 | parser.add_argument( 90 | '--min_eval_frequency', 91 | help='Minimum number of training steps between evaluations', 92 | default=60, 93 | type=int 94 | ) 95 | 96 | args = parser.parse_args() 97 | hparams = args.__dict__ 98 | 99 | # unused args provided by service 100 | hparams.pop('job_dir', None) 101 | hparams.pop('job-dir', None) 102 | 103 | output_dir = hparams.pop('output_dir') 104 | 105 | # Append trial_id to path if we are doing hptuning 106 | # This code can be removed if you are not using hyperparameter tuning 107 | output_dir = os.path.join( 108 | output_dir, 109 | json.loads( 110 | os.environ.get('TF_CONFIG', '{}') 111 | ).get('task', {}).get('trial', '') 112 | ) 113 | 114 | # calculate train_steps if not provided 115 | if hparams['train_steps'] < 1: 116 | # 1,000 steps at batch_size of 100 117 | hparams['train_steps'] = (1000 * 100) // hparams['train_batch_size'] 118 | print ("Training for {} steps".format(hparams['train_steps'])) 119 | 120 | model.init(hparams) 121 | 122 | # Run the training job 123 | model.train_and_evaluate(output_dir, hparams) 124 | -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab05/[Lab05] [ML on GCP C9] Time Series Prediction with a Two-Layer RNN Model _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab05/[Lab05] [ML on GCP C9] Time Series Prediction with a Two-Layer RNN Model _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab06/[Lab06] Solution/temperatures_files/custom.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab06/[Lab06] [ML on GCP C9] An RNN Model for Temperature Data _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Lab06/[Lab06] [ML on GCP C9] An RNN Model for Temperature Data _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Quiz - Dealing with Longer Sequences - Results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Quiz - Dealing with Longer Sequences - Results.png -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Quiz - Dealing with Longer Sequences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Quiz - Dealing with Longer Sequences.png -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Quiz - Recurrent Neural Networks - Results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Quiz - Recurrent Neural Networks - Results.png -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Quiz - Recurrent Neural Networks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Quiz - Recurrent Neural Networks.png -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Quiz - Working with Sequences - Results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Quiz - Working with Sequences - Results.png -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Quiz - Working with Sequences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week01/Quiz - Working with Sequences.png -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Lab01/[Lab01] Solution/task.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | from __future__ import division 3 | from __future__ import print_function 4 | 5 | import argparse 6 | from . import model 7 | from . import model_native 8 | 9 | if __name__ == '__main__': 10 | # parse command line arguments 11 | parser = argparse.ArgumentParser() 12 | parser.add_argument( 13 | '--output_dir', 14 | help='GCS location to write checkpoints and export models', 15 | required=True 16 | ) 17 | parser.add_argument( 18 | '--train_data_path', 19 | help='can be a local path or a GCS url (gs://...)', 20 | required=True 21 | ) 22 | parser.add_argument( 23 | '--eval_data_path', 24 | help='can be a local path or a GCS url (gs://...)', 25 | required=True 26 | ) 27 | parser.add_argument( 28 | '--embedding_path', 29 | help='OPTIONAL: can be a local path or a GCS url (gs://...). \ 30 | Download from: https://nlp.stanford.edu/projects/glove/', 31 | ) 32 | parser.add_argument( 33 | '--num_epochs', 34 | help='number of times to go through the data, default=10', 35 | default=10, 36 | type=float 37 | ) 38 | parser.add_argument( 39 | '--batch_size', 40 | help='number of records to read during each training step, default=128', 41 | default=128, 42 | type=int 43 | ) 44 | parser.add_argument( 45 | '--learning_rate', 46 | help='learning rate for gradient descent, default=.001', 47 | default=.001, 48 | type=float 49 | ) 50 | parser.add_argument( 51 | '--native', 52 | action='store_true', 53 | help='use native in-graph pre-processing functions', 54 | ) 55 | 56 | args, _ = parser.parse_known_args() 57 | hparams = args.__dict__ 58 | output_dir = hparams.pop('output_dir') 59 | 60 | # initiate training 61 | if hparams['native']: 62 | model_native.train_and_evaluate(output_dir, hparams) 63 | else: 64 | model.train_and_evaluate(output_dir, hparams) 65 | -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Lab01/[ML on GCP C9] Text Classification using TensorFlow_Keras on Cloud ML Engine _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Lab01/[ML on GCP C9] Text Classification using TensorFlow_Keras on Cloud ML Engine _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Lab02/[Lab02] [ML on GCP C9] Using pre-trained embeddings with TensorFlow Hub _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Lab02/[Lab02] [ML on GCP C9] Using pre-trained embeddings with TensorFlow Hub _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Lab03/[Lab03] Solution/poetry.ipynb.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Lab03/[Lab03] Solution/poetry.ipynb.txt -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Lab03/[Lab03] [ML on GCP C9] Text generation using tensor2tensor on Cloud ML Engine _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Lab03/[Lab03] [ML on GCP C9] Text generation using tensor2tensor on Cloud ML Engine _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Lab04/[Lab04] [ML on GCP C9] Getting Started with Dialogflow _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Lab04/[Lab04] [ML on GCP C9] Getting Started with Dialogflow _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Quiz - Encoder Decoder Models - Results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Quiz - Encoder Decoder Models - Results.png -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Quiz - Encoder Decoder Models.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Quiz - Encoder Decoder Models.png -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Quiz - Reusable Embedings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Quiz - Reusable Embedings.png -------------------------------------------------------------------------------- /Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Quiz - Text classification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 4 | Sequence Models for Time Series and Natural Language Processing/Week02/Quiz - Text classification.png -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Quiz - Cloud Composer Module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 5 | Recommendation Systems with TensorFlow on GCP/Quiz - Cloud Composer Module.png -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Quiz - Collaborative Filtering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 5 | Recommendation Systems with TensorFlow on GCP/Quiz - Collaborative Filtering.png -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Quiz - Content-Based Recommendation Systems - Results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 5 | Recommendation Systems with TensorFlow on GCP/Quiz - Content-Based Recommendation Systems - Results.png -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Quiz - Neural Networks for Recommendations - Results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 5 | Recommendation Systems with TensorFlow on GCP/Quiz - Neural Networks for Recommendations - Results.png -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Quiz - Neural Networks for Recommendations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 5 | Recommendation Systems with TensorFlow on GCP/Quiz - Neural Networks for Recommendations.png -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Quiz - Recommendation Systems Overview - Results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 5 | Recommendation Systems with TensorFlow on GCP/Quiz - Recommendation Systems Overview - Results.png -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Quiz - Recommendation Systems Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 5 | Recommendation Systems with TensorFlow on GCP/Quiz - Recommendation Systems Overview.png -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Week01/Lab01/[Lab01] Solution/content_based_by_hand_files/custom.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Week01/Lab01/[Lab01] [ML on GCP C10] Content-Based Filtering by Hand _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 5 | Recommendation Systems with TensorFlow on GCP/Week01/Lab01/[Lab01] [ML on GCP C10] Content-Based Filtering by Hand _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Week01/Lab02/[Lab02] Solution/content_based_preproc_files/custom.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Week01/Lab02/[Lab02] [ML on GCP C10] Content-Based Filtering using Neural Networks _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 5 | Recommendation Systems with TensorFlow on GCP/Week01/Lab02/[Lab02] [ML on GCP C10] Content-Based Filtering using Neural Networks _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Week01/Lab03/[Lab03] Solution/wals_files/custom.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Week01/Lab03/[ML on GCP C10] Collaborative Filtering on Google Analytics data _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 5 | Recommendation Systems with TensorFlow on GCP/Week01/Lab03/[ML on GCP C10] Collaborative Filtering on Google Analytics data _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Week02/Lab01/[Lab01] Solution/hybrid_recommendations_files/custom.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Week02/Lab01/[Lab01] [ML on GCP C10] Neural network hybrid recommendation system on Google Analytics _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 5 | Recommendation Systems with TensorFlow on GCP/Week02/Lab01/[Lab01] [ML on GCP C10] Neural network hybrid recommendation system on Google Analytics _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Week02/Lab02/[Lab02] Solution/endtoend_files/airflow_successful_run.jpg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Week02/Lab02/[Lab02] Solution/endtoend_files/airflow_viewing_logs.jpg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Week02/Lab02/[Lab02] Solution/endtoend_files/custom.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jupyter Notebook 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 123 | 124 | 130 | 131 | 153 | 154 |
155 | 156 | 157 |
158 | 159 |

404 : Not Found

160 | 161 | 162 |

You are requesting a page that does not exist!

163 | 164 |
165 | 166 | 167 |
168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 182 | 183 | 184 | 209 | 210 | 211 | -------------------------------------------------------------------------------- /Course 5 | Recommendation Systems with TensorFlow on GCP/Week02/Lab02/[ML on GCP C10] End to End Recommendation System _ Qwiklabs + googlecoursera-run.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mirkorodriguez/COURSERA_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization/fb192996614f2c0a8af9bd28c817d248b8d87e0a/Course 5 | Recommendation Systems with TensorFlow on GCP/Week02/Lab02/[ML on GCP C10] End to End Recommendation System _ Qwiklabs + googlecoursera-run.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # coursera_Advanced-Machine-Learning-with-TensorFlow-on-GCP-Specialization 2 | 3 | 4 | %bash 5 | git clone https://github.com/GoogleCloudPlatform/training-data-analyst 6 | rm -rf training-data-analyst/.git 7 | --------------------------------------------------------------------------------