From ccd3dbe721b8a383ab99a51ccb413b3624d0b341 Mon Sep 17 00:00:00 2001 From: John Wu Date: Sun, 27 Oct 2019 16:00:22 -0700 Subject: [PATCH 01/22] Commiting part of interpretability script --- ...AttritionClassifier_Interpretability.ipynb | 263 +++++++++++++----- 1 file changed, 188 insertions(+), 75 deletions(-) diff --git a/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb b/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb index 33c3843..bb6c81b 100644 --- a/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb +++ b/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb @@ -4,10 +4,10 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Interpretability With Tensorflow 2.0 On Azure Machine Learning Service\n", + "# Interpretability With Tensorflow On Azure Machine Learning Service\n", "\n", "## Overview of Tutorial\n", - "This notebook is Part 4 (Explaining Your Model Using Interpretability) of a four part workshop that demonstrates an end-to-end workflow for using Tensorflow 2.0 on Azure Machine Learning Service. The different components of the workshop are as follows:\n", + "This notebook is Part 4 (Explaining Your Model Using Interpretability) of a four part workshop that demonstrates an end-to-end workflow for using Tensorflow on Azure Machine Learning Service. The different components of the workshop are as follows:\n", "\n", "- Part 1: [Preparing Data and Model Training](https://github.com/microsoft/bert-stack-overflow/blob/master/1-Training/AzureServiceClassifier_Training.ipynb)\n", "- Part 2: [Inferencing and Deploying a Model](https://github.com/microsoft/bert-stack-overflow/blob/master/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb)\n", @@ -72,6 +72,53 @@ "print(\"Azure Machine Learning Python SDK version:\", azureml.core.VERSION)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Install Tensorflow 1.14\n", + "\n", + "We will be using an older version (1.14) for this particular tutorial in the series as Tensorflow 2.0 is not yet supported for Interpretibility on Azure Machine Learning service. If are currently running Tensorflow 2.0, run the code below to downgrade the version." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%pip uninstall tensorflow-gpu\n", + "%pip install tensorflow-gpu==1.14" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's make sure we have the right verison." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'2.0.0'" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import tensorflow as tf\n", + "tf.version.VERSION" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -128,122 +175,188 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Interpretability In Training\n", - "We will start by showing how we can interpret our model during training. For this tutorial, we will be using Tensorflow 2.0 to train a basic feed forward neural network on the IBM Employee Attrition Dataset. \n", + "## Write Training Script\n", + "For this tutorial, we will be using the *tf.keras module* to train a basic feed forward neural network on the IBM Employee Attrition Dataset. \n", "\n", - "**Write this script into a project directory**" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "project_folder = 'ibm-attrition-classifier'" + "**We will start by writing the training cript into a train.py file**" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Train on 1323 samples, validate on 147 samples\n", - "Epoch 1/3\n", - "1323/1323 [==============================] - 0s 132us/sample - loss: 297.3814 - acc: 0.8360 - val_loss: 165.1564 - val_acc: 0.8639\n", - "Epoch 2/3\n", - "1323/1323 [==============================] - 0s 20us/sample - loss: 187.7943 - acc: 0.8360 - val_loss: 88.4600 - val_acc: 0.8639\n", - "Epoch 3/3\n", - "1323/1323 [==============================] - 0s 21us/sample - loss: 96.9134 - acc: 0.7944 - val_loss: 69.0247 - val_acc: 0.7551\n" + "Writing train.py\n" ] } ], "source": [ - "%%writefile $project_folder/train.py\n", - "import logging\n", - "import pandas as pd\n", + "%%writefile train.py\n", + "import pandas as pd \n", + "import numpy as np\n", "import tensorflow as tf\n", - "from absl import flags\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.compose import ColumnTransformer\n", + "from sklearn.pipeline import make_pipeline\n", + "from sklearn.impute import SimpleImputer\n", + "from sklearn.preprocessing import StandardScaler, OneHotEncoder\n", "from sklearn.model_selection import train_test_split\n", "\n", - "# Ignore warnings in logs\n", - "logging.getLogger(\"transformers.tokenization_utils\").setLevel(logging.ERROR)\n", - "\n", "def preprocess_data(data):\n", - " data = pd.read_csv(\"data/emp_attrition.csv\")\n", - "\n", - " # replace binary labels with 1's and 0's\n", - " binary_data = {\n", - " 'Gender': ['Male', 'Female'],\n", - " 'Over18': ['N', 'Y'],\n", - " 'OverTime': ['No', 'Yes'],\n", - " 'Attrition': ['No', 'Yes']\n", - " }\n", - " for k, v in binary_data.items():\n", - " data[k].replace(v, [0, 1], inplace=True)\n", - "\n", - " # Make column labeling consistent, so that 1 indicates True\n", - " data.rename(columns={'Gender': 'IsFemale'}, inplace = True)\n", - "\n", - " # one-hot encode categorical data\n", - " one_hot_cols = ['BusinessTravel', 'Department', 'EducationField', 'JobRole', 'MaritalStatus']\n", - " for col_name in one_hot_cols:\n", - " data = pd.concat([data, pd.get_dummies(data[col_name], drop_first=True)], axis=1)\n", - " data.drop([col_name], axis=1, inplace=True)\n", - " \n", - " # Split data\n", - " train, test = train_test_split(data, test_size=0.1)\n", - " train_y = train.pop('Attrition')\n", - " test_y = test.pop('Attrition')\n", + " '''\n", + " \n", + " '''\n", + " # Dropping Employee count as all values are 1 and hence attrition is independent of this feature\n", + " data = data.drop(['EmployeeCount'], axis=1)\n", " \n", - " return train, test, train_y, test_y\n", + " # Dropping Employee Number since it is merely an identifier\n", + " data = data.drop(['EmployeeNumber'], axis=1)\n", + " data = data.drop(['Over18'], axis=1)\n", "\n", - "# Load data\n", - "raw_data = pd.read_csv(\"data/emp_attrition.csv\")\n", - "train_x, test_x, train_y, test_y = preprocess_data(raw_data)\n", + " # Since all values are 80\n", + " data = data.drop(['StandardHours'], axis=1)\n", "\n", - "# Train model\n", + " # Converting target variables from string to numerical values\n", + " target_map = {'Yes': 1, 'No': 0}\n", + " data[\"Attrition_numerical\"] = data[\"Attrition\"].apply(lambda x: target_map[x])\n", + " target = data[\"Attrition_numerical\"]\n", + "\n", + " data.drop(['Attrition_numerical', 'Attrition'], axis=1, inplace=True)\n", + " \n", + " # Creating dummy columns for each categorical feature\n", + " categorical = []\n", + " for col, value in data.iteritems():\n", + " if value.dtype == 'object':\n", + " categorical.append(col)\n", + "\n", + " # Store the numerical columns in a list numerical\n", + " numerical = data.columns.difference(categorical) \n", + "\n", + " # We create the preprocessing pipelines for both numeric and categorical data.\n", + " numeric_transformer = Pipeline(steps=[\n", + " ('imputer', SimpleImputer(strategy='median')),\n", + " ('scaler', StandardScaler())])\n", + "\n", + " categorical_transformer = Pipeline(steps=[\n", + " ('imputer', SimpleImputer(strategy='constant', fill_value='missing')),\n", + " ('onehot', OneHotEncoder(handle_unknown='ignore'))])\n", + "\n", + " preprocess = ColumnTransformer(\n", + " transformers=[\n", + " ('num', numeric_transformer, numerical),\n", + " ('cat', categorical_transformer, categorical)])\n", + " \n", + " pipeline = make_pipeline(preprocess)\n", + "\n", + " # Split data into train and test sets\n", + " x_train, x_test, y_train, y_test = train_test_split(data, \n", + " target, \n", + " test_size=0.2,\n", + " random_state=0,\n", + " stratify=target)\n", + " \n", + " # Transform data\n", + " x_train_t = pd.DataFrame(pipeline.fit_transform(x_train))\n", + " x_test_t = pd.DataFrame(pipeline.transform(x_test))\n", + " \n", + " return x_train_t, x_test_t, y_train, y_test\n", + " \n", + "# Load and preprocess data\n", + "attrition_data = pd.read_csv('./data/data.csv')\n", + "x_train, x_test, y_train, y_test = preprocess_data(attrition_data)\n", + "\n", + "# Create model\n", "model = tf.keras.models.Sequential()\n", - "model.add(tf.keras.layers.Dense(units=16, activation='relu', input_shape=(len(train_x.columns),)))\n", + "model.add(tf.keras.layers.Dense(units=16, activation='relu', input_shape=(x_train.shape[1],)))\n", + "model.add(tf.keras.layers.Dense(units=16, activation='relu'))\n", "model.add(tf.keras.layers.Dense(units=1, activation='sigmoid'))\n", - "model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])\n", "\n", - "# Train neural network\n", - "model.fit(train_x, train_y, epochs=3, verbose=1, batch_size=128, validation_data=(test_x, test_y))\n", + "# Compile model\n", + "model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy']) \n", + "\n", + "# Fit model\n", + "model.fit(x_train, y_train, epochs=20, verbose=1, batch_size=128, validation_data=(x_test, y_test))\n", "\n", "# Save model\n", - "model.save('ibm-attrition-classifier/model.h5')" + "model.save('model.h5')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "**Run training script**" + "## Explain Model Locally\n", + "\n", + "We will start by training our model and explaining it in your local environment.\n", + "\n", + "**First step is to run the training script that we just wrote**" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Traceback (most recent call last):\n", - " File \"ibm-attrition-classifier/train.py\", line 2, in \n", - " import pandas as pd\n", - "ImportError: No module named pandas\n" + "2019-10-27 15:58:36.700862: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA\n", + "2019-10-27 15:58:36.723711: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2112000000 Hz\n", + "2019-10-27 15:58:36.728256: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7fffd94ac210 executing computations on platform Host. Devices:\n", + "2019-10-27 15:58:36.728766: I tensorflow/compiler/xla/service/service.cc:175] StreamExecutor device (0): Host, Default Version\n", + "WARNING:tensorflow:Falling back from v2 loop because of error: Failed to find data adapter that can handle input: , \n", + "Train on 1176 samples, validate on 294 samples\n", + "Epoch 1/20\n", + "1176/1176 [==============================] - 0s 357us/sample - loss: 0.8064 - accuracy: 0.2959 - val_loss: 0.7107 - val_accuracy: 0.4898\n", + "Epoch 2/20\n", + "1176/1176 [==============================] - 0s 32us/sample - loss: 0.6746 - accuracy: 0.5561 - val_loss: 0.6247 - val_accuracy: 0.6837\n", + "Epoch 3/20\n", + "1176/1176 [==============================] - 0s 30us/sample - loss: 0.5971 - accuracy: 0.7611 - val_loss: 0.5630 - val_accuracy: 0.8129\n", + "Epoch 4/20\n", + "1176/1176 [==============================] - 0s 35us/sample - loss: 0.5401 - accuracy: 0.8172 - val_loss: 0.5155 - val_accuracy: 0.8367\n", + "Epoch 5/20\n", + "1176/1176 [==============================] - 0s 31us/sample - loss: 0.4979 - accuracy: 0.8350 - val_loss: 0.4812 - val_accuracy: 0.8435\n", + "Epoch 6/20\n", + "1176/1176 [==============================] - 0s 30us/sample - loss: 0.4674 - accuracy: 0.8410 - val_loss: 0.4581 - val_accuracy: 0.8401\n", + "Epoch 7/20\n", + "1176/1176 [==============================] - 0s 29us/sample - loss: 0.4454 - accuracy: 0.8401 - val_loss: 0.4404 - val_accuracy: 0.8401\n", + "Epoch 8/20\n", + "1176/1176 [==============================] - 0s 30us/sample - loss: 0.4290 - accuracy: 0.8401 - val_loss: 0.4283 - val_accuracy: 0.8401\n", + "Epoch 9/20\n", + "1176/1176 [==============================] - 0s 29us/sample - loss: 0.4154 - accuracy: 0.8410 - val_loss: 0.4180 - val_accuracy: 0.8401\n", + "Epoch 10/20\n", + "1176/1176 [==============================] - 0s 30us/sample - loss: 0.4036 - accuracy: 0.8410 - val_loss: 0.4096 - val_accuracy: 0.8401\n", + "Epoch 11/20\n", + "1176/1176 [==============================] - 0s 30us/sample - loss: 0.3935 - accuracy: 0.8418 - val_loss: 0.4032 - val_accuracy: 0.8435\n", + "Epoch 12/20\n", + "1176/1176 [==============================] - 0s 31us/sample - loss: 0.3844 - accuracy: 0.8435 - val_loss: 0.3970 - val_accuracy: 0.8469\n", + "Epoch 13/20\n", + "1176/1176 [==============================] - 0s 29us/sample - loss: 0.3759 - accuracy: 0.8452 - val_loss: 0.3922 - val_accuracy: 0.8503\n", + "Epoch 14/20\n", + "1176/1176 [==============================] - 0s 29us/sample - loss: 0.3685 - accuracy: 0.8478 - val_loss: 0.3888 - val_accuracy: 0.8503\n", + "Epoch 15/20\n", + "1176/1176 [==============================] - 0s 28us/sample - loss: 0.3612 - accuracy: 0.8520 - val_loss: 0.3850 - val_accuracy: 0.8537\n", + "Epoch 16/20\n", + "1176/1176 [==============================] - 0s 29us/sample - loss: 0.3546 - accuracy: 0.8529 - val_loss: 0.3820 - val_accuracy: 0.8605\n", + "Epoch 17/20\n", + "1176/1176 [==============================] - 0s 27us/sample - loss: 0.3480 - accuracy: 0.8529 - val_loss: 0.3795 - val_accuracy: 0.8605\n", + "Epoch 18/20\n", + "1176/1176 [==============================] - 0s 29us/sample - loss: 0.3411 - accuracy: 0.8588 - val_loss: 0.3760 - val_accuracy: 0.8605\n", + "Epoch 19/20\n", + "1176/1176 [==============================] - 0s 27us/sample - loss: 0.3353 - accuracy: 0.8614 - val_loss: 0.3736 - val_accuracy: 0.8639\n", + "Epoch 20/20\n", + "1176/1176 [==============================] - 0s 29us/sample - loss: 0.3293 - accuracy: 0.8631 - val_loss: 0.3704 - val_accuracy: 0.8605\n" ] } ], "source": [ - "!python $project_folder/train.py" + "import sys\n", + "!{sys.executable} train.py" ] }, { @@ -275,7 +388,7 @@ "# TODO: LOAD MODEL AND EXPLAIN IT\n", "import tensorflow as tf\n", "\n", - "model = tf.keras.models.load_model('ibm-attrition-classifier/model.h5')\n", + "model = tf.keras.models.load_model('model.h5')\n", "\n", "# from azureml.explain.model.tabular_explainer import TabularExplainer\n", "# # \"features\" and \"classes\" fields are optional\n", @@ -344,9 +457,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3.6 - AzureML", + "display_name": "Python 3", "language": "python", - "name": "python3-azureml" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -358,7 +471,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.2" + "version": "3.7.4" } }, "nbformat": 4, From 39142b51d7a49f4c058726121fca6f0b2186553c Mon Sep 17 00:00:00 2001 From: "Gopal K. Vashishtha" Date: Sun, 27 Oct 2019 17:00:36 -0700 Subject: [PATCH 02/22] updating mlops readme --- 3-ML-Ops/README.md | 104 ++++------------------ 3-ML-Ops/images/create-release-button.png | Bin 0 -> 25277 bytes 3-ML-Ops/images/deploy-task.png | Bin 138010 -> 155555 bytes 3-ML-Ops/images/final-release.png | Bin 0 -> 92976 bytes 4 files changed, 17 insertions(+), 87 deletions(-) create mode 100755 3-ML-Ops/images/create-release-button.png create mode 100755 3-ML-Ops/images/final-release.png diff --git a/3-ML-Ops/README.md b/3-ML-Ops/README.md index c5a7c2e..ab5289c 100755 --- a/3-ML-Ops/README.md +++ b/3-ML-Ops/README.md @@ -101,7 +101,7 @@ The variable group should contain the following variables: | Variable Name | Value | | --------------------------- | ---------------------------- | -| BASE_NAME | **If you are a TFworld workshop participant, fill in your participant ID (6 digit number following your resource group name)** [some name with fewer than 10 lowercase letters] | +| BASE_NAME | **If you are a TFworld workshop participant, fill in your participant ID (6 digit number following your resource group name)** [otherwise, use some name with fewer than 10 lowercase letters] | | TENANT_ID | Fill in the value of "Directory (tenant) ID" from service principal creation | | SUBSCRIPTION_ID | Fill in your Azure subscription ID, found on the "Overview" page of your subscription in the Azure portal | | LOCATION | southcentralus | @@ -116,7 +116,7 @@ Make sure to select the **Allow access to all pipelines** checkbox in the variab ### 6. Create an Azure Resource Manager service connection -In order to create resources automatically in the next step, you need to create an Azure Resource Manager connection in Azure DevOps. +In order to access your Azure subscription, you need an Azure Resource Manager connection in Azure DevOps. Access the window below by clicking on "Project settings" (the gear icon in the bottom left of the Azure DevOps window). @@ -124,7 +124,9 @@ Access the window below by clicking on "Project settings" (the gear icon in the Click on "Service connections." Under "New service connection" (top left), choose "Azure Resource Manager." Set "Scope level" to "Subscription" and choose your subscription. -Give the connection name **``AzureResourceConnection``** as this value is hard-coded in the pipeline definition. Fill in the **``Resource Group``** field with the name of the Resource Group you are using. +Give the connection name **``AzureResourceConnection``** as this value is hard-coded in the pipeline definition. + +If you are a TFWorld Workshop participant, fill in the **``Resource Group``** field with the name of the Resource Group you are using, because you do not Subscription-level permissions. ![create service connection](./images/azure-resource-connection.png) @@ -138,13 +140,9 @@ Click on "Pipelines" -> "Build" on the left-hand side, then "New pipeline" to cr ![build connnect step](./images/build-connect.png) -Refer to an **Existing Azure Pipelines YAML file**: - -![configure step](./images/select-iac-pipeline.png) +Refer to an **Existing Azure Pipelines YAML file**, then choose the one corresponding to **iac-create-environment.yml**. -Having done that, run the pipeline: - -![iac run](./images/run-iac-pipeline.png) +Having done that, run the pipeline. Check out created resources in the [Azure Portal](portal.azure.com): @@ -169,9 +167,7 @@ The YAML file includes the following steps: Now that you understand the steps in your pipeline, let's see what it actually does! -In your [Azure DevOps](https://dev.azure.com) project, use the left-hand menu to navigate to "Pipelines"->"Build." Select "New pipeline," and then select "GitHub." If you are already authenticated into GitHub, you should see the repository you forked earlier. Select "Existing Azure Pipelines YAML File." In the pop-up blade, select the correct branch of your GitHub repo and select the path referring to [publish-training-pipeline.yml] (./yml/publish-training-pipeline.yml) in your forked **GitHub** repository: - -![configure ci build pipeline](./images/ci-build-pipeline-configure.png) +In your [Azure DevOps](https://dev.azure.com) project, use the left-hand menu to navigate to "Pipelines"->"Build." Select "New pipeline," and then select "GitHub." If you are already authenticated into GitHub, you should see the repository you forked earlier. Select "Existing Azure Pipelines YAML File." In the pop-up blade, select the correct branch of your GitHub repo and select the path referring to [publish-training-pipeline.yml](./yml/publish-training-pipeline.yml) in your forked **GitHub** repository. You will now be redirected to a review page. Check to make sure you still understand what this pipeline is doing. If everything looks good, click "Run." @@ -232,7 +228,7 @@ Click on the plus icon on the right hand side of the cell which says "Agent job. | Parameter | Value | | --------------------------------- | ---------------------------------------------------------------------------------------------------- | | Display Name | Azure ML Model Deploy | -| Azure ML Workspace | | +| Azure ML Workspace | Fill in the name of your Azure ML service connection | | Inference config Path | `$(System.DefaultWorkingDirectory)/_ci-build/mlops-pipelines/scripts/scoring/inference_config.yml` | | Model Deployment Target | Azure Kubernetes Service | | Select AKS Cluster for Deployment | myaks (**This value is specified in the .env file, and you should have an existing cluster with this name**) | @@ -240,87 +236,21 @@ Click on the plus icon on the right hand side of the cell which says "Agent job. | Deployment Configuration file | `$(System.DefaultWorkingDirectory)/_ci-build/mlops-pipelines/scripts/scoring/deployment_config_aks.yml` | | Overwrite existing deployment | X | - Then click "Save." -#### Enable continuous integration - -Go to "Pipelines" -> "Releases" and then click on your new pipeline. In the top right of each artifact you specified, you should see a lightning bolt. Click on this lightning bolt and then toggle the trigger for "Continuous deployment." This will ensure that the deployment is released every time one of these artifacts changes. Make sure to save your changes. - - - - - - - - +To kick off your first deployment, click "Create release." +![create-release-button](./images/create-release-button.png) -### 10. Test your deployed model +### 12. Test your deployed model Open your machine learning workspace in the [Azure portal](portal.azure.com), and click on "Deployments" on the lefthand side. Open up your AKS cluster, and use the Scoring URI and Primary Key for this step. @@ -347,4 +277,4 @@ print("Given your question of \"{}\", we predict the tag is {} with probability Congratulations! You have two pipelines set up end to end: - Build pipeline: triggered on code change to master branch on GitHub, performs linting, unit testing and publishing a training pipeline. Also train, evaluate and register a model - - Release Deployment pipeline: deploys a model to a Prod (AKS) environment + - Release Deployment pipeline: triggered when build artifacts change or registered model changes, deploys a model to a Prod (AKS) environment diff --git a/3-ML-Ops/images/create-release-button.png b/3-ML-Ops/images/create-release-button.png new file mode 100755 index 0000000000000000000000000000000000000000..9ab7b7c84a129463da3d99ceabb50b0835e15ef3 GIT binary patch literal 25277 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%0DH>c8iWi6A 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

*WN?+kEPLq92_R!ceoT-obTQ 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

xy>~8R=eW$_;oI5m^VC3{akv_LEsgQ9_8TT zY7O(?Ix2P zJmFjn5OqC(_tO~)?IkL{u6rQ7w%06e_`9l8&Z82dxd_j9RCm>gl3hi)fxW(tEjqU2 z@8guULs95508Ds*+k^J8)65bhdIk{(n?7EVZ9f=o6vbTafw8FUVO1s|lpFO7hobl?W$|0BOhM17FNC3f;q15(IvCH#CF zS{UZ9(aS1%b*7@84;-003JLle7%A`|mZ>sMj#mHVbdBfMSNGT0S8>oa~v? z0X@&Ul?K*;>@xs!M6VdC8tNNb zn0k<}Y3!r86Y!5vGw+)_>*3h(-T|+^dCMTYe5)=4%4&OjYld_m;troADLy8T2tdjnK7%6&RmpM=3%u3V}b40G7-; z7zV^13Q9PFK^DEfd78F<>;4a*=Hl_F?+IzHu2mQi?_F4e{ZlPvJ}0`D%DEo10C6)v zG&>u=>icf;uL(t|O<=OZ^PP@GN*&bpchLSApRQ*nf$KPg>wq;m0VtpC3wwX)#VsJn z4JaJOWt)k{;QW`~^n~(1#Fa#1Dj-2Ho@jx`^z6}+Tpqnz3B6U9;&a*Th0<~)m4hNk zcF)zE3d^wWAA5;Nbk5q4*T{V6bA`DZ$+Lc8*?;+Qdz}i)H{}BpXMXd%@Y|C|=j7Ql`jpRgr0)Ao^AP)kZ@~j6ev^Oj z`Gfc2eKSXT*3X|iKIY7OyuG7qzm0&d* zMzhqIwh_8_je71B#i$A#>6R@nr|&@Hh)YuJw<-O#9`;1IcL1V?Q2c!#(U+glmfYZ@RB=l)*Wam*AN*(rM&>h$)T$HHP$AMXc*4)s|h&P~sTpchDgkcL*7Z*Fex z&M`Oj#Cni`%*|?EZSji|G_i26YfC9lzmXgP4wiWny7c4AqcA=(VtQaB@As&lsIu-o z=;h?6TH4b*SuF_qL<+$v^=Q!T7fSWMFc^%oi@`_s&>A|Sv-{#Mn!A0$scJ=(ywcZ`;pld5p)i5HXV>MP9xP5hI?BV@)8~izaf2%YEU%LYiN^@h zdf%tD`Kc9z9h7p3$x0n=v!l0df1@;^%FwIxU%x)2c!Y+AIyg841@$WpF{j>C*4jGD z5=<}GE5U@ZHqOt;h-`~>!%HoRiHWh--%m=Pr`@MDDk?kW8uh5aDKoMky<;j_Wyfqc*?h)P2p* zEmd5Ix!W)2AKdl7c+YKCZ7XxqzGXw`dQAExq7whxgHFHD5VnD%i6YwaU2VH+fr(0$ zr%j)T?JD9(OOCIV=D=6{6%RV+^eqAN38_(D{aQe0H@(aD;?>JIEP9nta=Bp|Zts{aOlX1=27}I}5ZU8I&sFHl&55v9Yeh zCA#h=F)Y*(p^`>{n@;f5+3g2W<(ZjyB{PS$m6x@?W@pVV_|XSVms(7%C3T!L$i=$Z zkkhpKa9?BdiXp4t3}tM8a(BKll>7}*DT&ynaZn^MiPOlsrSXql2XF!pWcS1%i)0O< zSeQ1ZW11i>Hp^Y*v9dGVCM|%RXC$ViqpTlTXmll2CT~Fh;sYHoh%t)b+KDbhve$`3 zBCQ__ANYj%^y$;bkLTT6Fy^irXH;LX!UL9x8%KNB?NE1tlr_Q^6?1L zLK7+(dW&;iw!F)E9B$*f1_=SPbDFo?y?9eG6n!IQMsd2fn5{P%t7B*Ez4lP!3e?&rjY7Ev z@jn!FbFAlcdAM)Tfd!9cs{_kpTMj10`N*GHQ~7zKGCb#Ua5|L{j;?lNPhJ+)_+#T+ zHY|;;WB}EMn%^3H1nY`HsT3I@&Ek}3-jMXQOIH@mO!p31&P#URR7t0{IfH4z$_bue zMmIO#(OZh*-rj++Y8D1X=_NJ1F<$Br%2meb3N!6G4gXnH1wri^^N$gs_(H z-@gwG474RGhj?FfR_0FqSn)cM^vaxv2@;5=n3&TS)5rXIxZuG$B%a`{ zbw4ZR4Kq+YhTTpf{VHY6ZL1ZFYmz@h-!Q6|t#40ltT+pNW9cJvFL;~LPb)4{s^_78 ztF*rseZL}d$v9r}t4rfi)D8?KO9#b|8);^a)E*POMO^@YMZ$jv=C+(h9p^^XoJ_jm z$!U<>a?Bl!1z10_{Po;QoIgK=ANO!RRKzGwNvGiOqPuZh+uMQmik-PNIUTw?f2a(} zI)l$(yj63hXQ!6e>I-+~P*)fVZ4G_1InslrpRLptvQSs_PV;~Z{n)SVlA2PMdN=w^ zdpXwEYl_nIGo?r7W6_yg*4D-BPGx0q3}sH>5ZuDhuRbbfX3&DZj3?z3SqY zx}V*+lx#@a%Q(u4HfrzAaLTUBcaIxFozk0Qo8!TsXca~NG3GZq;li8+ChQl~fXUvy26a#z3{a%@T%LDZ{M1Q;E7i&Zn*>AUto z2-&xu+U_h%OlRcp4qTr3$zYVOzpC=gw=?K@k#l_TGD z$n41tv%=hh6B?e$e6+H#z_9ChJT+S1Oru=53(k~|O*}k;+L0Y{sIYQZpz=cda{s~Q z(k%xc$4!TxaW}#w-urH3%KE{VJ-+qDJ;cZH6fU%I?`do}``{(6i1vL8!Tk@FV7M8Z z=?>c355~OXk9|8OjW>PVHQ{g@`Wh|>TzwL%E}qY6i2b^h^`iM})uKF4tc_Y>Wigx; zCLbZZ4jf*SKRhbaKB64EtH_Dz1xas`oth7K9XnhxabH96`ebD3B;?Nz-H~T9^`IF7 zM0wv<*N50MGfI4VuIYxxAe^YpgbHTj65b8u%3H;izWrF`t~Rh*wuqRT@0q9B*X{mE z0lm1@pQKmEc7NsV)G;|Gb6R4o z?wI?jftLFo;~xj=Kn3g^%r`p{wElm|^O=kY__wF|z_`_2p|f3|}BeQKYX4yn`G`LK}Q zz`{cheO;z{dn$)J4o^CEjDh;B`=Mu|rJ@yzm!IU8E#8INl;nCItMS_L zO+%LOr>lht>BFiHdCG2kh={8H%(07V*VYfFo-dXs=3;D|qlq}N-DRXS0sRjbIDPS3 zo-1(@8gl^l^W(f`Jt|XF$})3=+uQ~9eB;kyOB*C>RDQ^2&bBGu^{wZ zZ-);brXoG8hWpPPgt$TcVGk8+6YNoiianq2n%O+kEFImGYG9kQ|4^ZkO(I2-wVsc^9dYsi38sC77bK{#^tKiLwPO1bnvM2Q*r8EG=)`{b z(d%da@faM}2WBJ~P;CW;k@mqq*r>|4c`?1Q&zGpIu8sqgnYWYDosZ)l3x14R=GjIz z`~le++^{zseaPI)CQ9N*mC8Uk$?ONuscjqIwP-clmp+Srq0*7fAuFnQB>}qlmQZg zT6%J4PL}gcPa|sciz|@yjKO3>tby}WDaX-!$B?eI%I3q69HZ?Pr(Gmu!oqEiJpO*< zi6QTxtW|KrEo7-}ULOU3JauBH2nBX2iHSv)GkXs`2gdY8h(E4K(RhCH%=lei8+zoR zII`uDqbNoN6Y)pkyjb}#StKNwX(9}+a_##gP(XB zTV(EXf|%=W=ftZOM7VG7E8r|M^{Y~%t`s%Eh-WR>G2}^T3D2!c; zY?TBW<#F|G4YCi4zHG-fJ@o2E%_!)MD<5JN`a(0}VQpp_dj)zeI>Ll~9Yn1UK!hI=xB>1m4GIZduE_@<9-2wt8^LrWKz^|m|PsUXh@c}GS`t6!bn0V-s0L$*8x zIlkYzV&(mC((KafuV=NPE|j44=gdJ9mi!>B>^wj2`+U@3qzY2B`wBex0CT0?)#UO? z#3^q2s|TyuzLry!s|uY55o<1U#R%Qj?(Xigva;CNLuA7{76)>V_lUq=DeA>c>PZm| zJ1-sg_w31Z(_6kZC_EI2mdAEb6s85yFU;^|Gv++d;iuMoKu2o%1W}(1FX%=nbe+N$ zkzA_5ioGDBX;Eg{({0B#h2?v=InEanxc>l-=MXX~2P9o#1L2daPS(dT5NZVun|kKR zS+Wn8DG--RrEIUdKQON^m|0LSCJqF2b1q)P^(e4R8qJ;j?Q^a{NJGPtqn4yhcZm8z z3vis6vEnReJ#)v-q;y(#*;Jq0U1U z;Zv8MlaM5tmogwu4u`|y+RwDS`?r!!5MenJuS0B!X zY%Lo{7uIQqj}dM0_xG2_zf)^dRyc+eOBP)GSs8x-Keb-_00ZuB?#1$L zTKI{cTW!gb^JDJMh|0em)V5^q>x$VEZ@qjXRhnVP{@ia8= zmeJI~p?_7tSZ_|isA+4t?HsJUf5V7C5Vn~;Dwvs`4c;$#RneOQ?kgd>H!m-5<>`)E z*^kWju63SCgaG+yQMWx@cDiGBN4*fVEgab_qfe#kIj8grlK0)e5pa1&wsCr4$*P`K z>B;;eA!WT`6=pEuqPJH=%gV}1Y-}tr%Kks;1@;X7ptMTWGW8Cn9Pec$3zH58N(SPsm(%d!)1lLt)*z1ZbApB1J&oYNQUVI2gt6%pR_;iOYr4cY! ztE{k78YFjo0(YYIE2@X3o_+>9i_t1MO}U$|8uM1)j`kg)e%EM^?K8zQ-)D{w*jPI~ z`dk^bbXY*3M!Ro7G9?(wx1zqI8Q>BGTQ|Q_<9@|7QGSZ>zqj(VB*tED|K!c>FM3M~ z1(&zYwFTWxjS@me)rO-bN*0X@D=YIRsRFXL%TITtu53p@=msYC6$kK4`--ibJJwVD zE;Fym(`X6Z+ou1NFE6kl5|#4ig5RCexe^Uo$!k=@v$oG3oau7D1QWqihE$|hBujLs zfWr_~zcTJISaGpef;w4|H@~=`6UnrTy{q! z*f*2=YxBKU7KDd~HQDrq(ejiEuBSH+y&A8TDKXl4bzDu(P#dM8t$@qRqB;H4rY>xJ zf*7JOW98{;&)PQJxO_$qELtyb`Pp&I#*ynlolvGwr?!Gbae7In)k#Enr+tjr-dUBe z9xr;+E>-Yy#b)eE`K-78+wrI=h1}Em{R0CP2%2SM``AtW>u!F;0&vgzd9~8eJKh3= zB~I*>*!0#5c^hT2aDc}FNa{P2%K`e-`@8`hlLTj7U#mY)1deNde%{;Ln-NSltWL1K zjm0f9-sFh}1$naR#J$NI$<$4-HW6E>@;W|3UJP6}oGNP`pAmI*SM(c9lT?id3^WEB z9IA=nuLbo5K@aM;b|r?Vh9IkFQlm3Z^Ny&Ju?GQjx9rzTPXyJ2 zLQd&w$uoUCga{T*1$lWczkNh5YsvGAh1b9RkY*$IyP&?(#(KE^0MHLxMIXxjPWKS_ zceBYzz3w&h46hxO3tm0Ev#NbF6&9(w2=%) zD^|Ebofe{2`U!qer^Dm`X;oXcZm7j^jOKCw?LC?26r<`itQ0NMg9YzyBvJ z359H38B>$P*XB=d-VyUsu%@o>sj?Nu5rFBi&A)*PldNDASz9}3L&L7j?A~J%oBhpS zM0ZGq`6dcD!`}?@U4ZMJlODS-8X48h+rcZxOUvD*rwJ*sq~EU=eE{FT{hj)cO>g}g zT!*ZX>N)xlXfQ9|u&kTHPZF8|F#2q%k(VDbHBzHP1@=VfTCKx=rB{lglSIFU$aTNH zfHAhoi0h@bC-E8_xd@qp$pMG7Hb2K>@>1*3ExD+^utFni0X_%DY{=5I&7sizAr+k~ zxDjRA%gZ{zwqql8B?RLlt51XFTutZwwVX}()RP}_%qII7KhBI3^oG>raJBg>vb~BJ z`5>jWZ~ga%RMHQR%3yFqvb!;T?cbl^8>&o0YP71mXT1F&Q*j+B>WlTuIia3I6FCK9 zDa$LP@7<9VvCXlQ-WnIw8PBSn*YcVsrMgd?#AvPutZYA{6YHeA48<@$wQL|d zWIen_wQSnlxYCppz!}(td<(Y;6X>P&43&qs_yu==&bq1tjq57mhXhGI1#kLJKMPoc zr!RZSVse(npL)nWTSUakBprnZ2y~vvXqQz)B2#4bX#I{*pEX*aI6q`0kzkt|s4%

F+&q5t5ma3XbtNn!~yy#tQuYLk% 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%0Ddfd~ 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 literal 0 HcmV?d00001 From fd29c84bcebe4f19f0b6b074fb8191350424698c Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 28 Oct 2019 00:10:42 +0000 Subject: [PATCH 03/22] Upadted interpretability notebook --- ...AttritionClassifier_Interpretability.ipynb | 431 ++++++++++++------ 1 file changed, 287 insertions(+), 144 deletions(-) diff --git a/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb b/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb index bb6c81b..b838aa6 100644 --- a/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb +++ b/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb @@ -76,9 +76,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Install Tensorflow 1.14\n", + "## Install Tensorflow 1.13\n", "\n", - "We will be using an older version (1.14) for this particular tutorial in the series as Tensorflow 2.0 is not yet supported for Interpretibility on Azure Machine Learning service. If are currently running Tensorflow 2.0, run the code below to downgrade the version." + "We will be using an older version (1.13) for this particular tutorial in the series as Tensorflow 2.0 is not yet supported for Interpretibility on Azure Machine Learning service. If are currently running Tensorflow 2.0, run the code below to downgrade the version." ] }, { @@ -87,8 +87,8 @@ "metadata": {}, "outputs": [], "source": [ - "%pip uninstall tensorflow-gpu\n", - "%pip install tensorflow-gpu==1.14" + "%pip uninstall tensorflow-gpu --yes\n", + "%pip install tensorflow-gpu==1.13" ] }, { @@ -100,20 +100,9 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'2.0.0'" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "import tensorflow as tf\n", "tf.version.VERSION" @@ -175,27 +164,18 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Write Training Script\n", + "## Train Model\n", "For this tutorial, we will be using the *tf.keras module* to train a basic feed forward neural network on the IBM Employee Attrition Dataset. \n", "\n", - "**We will start by writing the training cript into a train.py file**" + "**We will start by writing the training script to train our model**" ] }, { "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Writing train.py\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ - "%%writefile train.py\n", "import pandas as pd \n", "import numpy as np\n", "import tensorflow as tf\n", @@ -259,19 +239,19 @@ " random_state=0,\n", " stratify=target)\n", " \n", - " # Transform data\n", - " x_train_t = pd.DataFrame(pipeline.fit_transform(x_train))\n", - " x_test_t = pd.DataFrame(pipeline.transform(x_test))\n", - " \n", - " return x_train_t, x_test_t, y_train, y_test\n", + " return x_train, x_test, y_train, y_test, pipeline\n", " \n", "# Load and preprocess data\n", "attrition_data = pd.read_csv('./data/data.csv')\n", - "x_train, x_test, y_train, y_test = preprocess_data(attrition_data)\n", + "x_train, x_test, y_train, y_test, pipeline = preprocess_data(attrition_data)\n", + "\n", + "# Transform data\n", + "x_train_t = pd.DataFrame(pipeline.fit_transform(x_train))\n", + "x_test_t = pd.DataFrame(pipeline.transform(x_test))\n", "\n", "# Create model\n", "model = tf.keras.models.Sequential()\n", - "model.add(tf.keras.layers.Dense(units=16, activation='relu', input_shape=(x_train.shape[1],)))\n", + "model.add(tf.keras.layers.Dense(units=16, activation='relu', input_shape=(x_train_t.shape[1],)))\n", "model.add(tf.keras.layers.Dense(units=16, activation='relu'))\n", "model.add(tf.keras.layers.Dense(units=1, activation='sigmoid'))\n", "\n", @@ -279,10 +259,7 @@ "model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy']) \n", "\n", "# Fit model\n", - "model.fit(x_train, y_train, epochs=20, verbose=1, batch_size=128, validation_data=(x_test, y_test))\n", - "\n", - "# Save model\n", - "model.save('model.h5')" + "model.fit(x_train_t, y_train, epochs=20, verbose=1, batch_size=128, validation_data=(x_test_t, y_test))" ] }, { @@ -291,123 +268,106 @@ "source": [ "## Explain Model Locally\n", "\n", - "We will start by training our model and explaining it in your local environment.\n", - "\n", - "**First step is to run the training script that we just wrote**" + "We will start by explaining the trained model locally." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Instantiate the explainer object using trained model.**" ] }, { "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2019-10-27 15:58:36.700862: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA\n", - "2019-10-27 15:58:36.723711: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2112000000 Hz\n", - "2019-10-27 15:58:36.728256: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7fffd94ac210 executing computations on platform Host. Devices:\n", - "2019-10-27 15:58:36.728766: I tensorflow/compiler/xla/service/service.cc:175] StreamExecutor device (0): Host, Default Version\n", - "WARNING:tensorflow:Falling back from v2 loop because of error: Failed to find data adapter that can handle input: , \n", - "Train on 1176 samples, validate on 294 samples\n", - "Epoch 1/20\n", - "1176/1176 [==============================] - 0s 357us/sample - loss: 0.8064 - accuracy: 0.2959 - val_loss: 0.7107 - val_accuracy: 0.4898\n", - "Epoch 2/20\n", - "1176/1176 [==============================] - 0s 32us/sample - loss: 0.6746 - accuracy: 0.5561 - val_loss: 0.6247 - val_accuracy: 0.6837\n", - "Epoch 3/20\n", - "1176/1176 [==============================] - 0s 30us/sample - loss: 0.5971 - accuracy: 0.7611 - val_loss: 0.5630 - val_accuracy: 0.8129\n", - "Epoch 4/20\n", - "1176/1176 [==============================] - 0s 35us/sample - loss: 0.5401 - accuracy: 0.8172 - val_loss: 0.5155 - val_accuracy: 0.8367\n", - "Epoch 5/20\n", - "1176/1176 [==============================] - 0s 31us/sample - loss: 0.4979 - accuracy: 0.8350 - val_loss: 0.4812 - val_accuracy: 0.8435\n", - "Epoch 6/20\n", - "1176/1176 [==============================] - 0s 30us/sample - loss: 0.4674 - accuracy: 0.8410 - val_loss: 0.4581 - val_accuracy: 0.8401\n", - "Epoch 7/20\n", - "1176/1176 [==============================] - 0s 29us/sample - loss: 0.4454 - accuracy: 0.8401 - val_loss: 0.4404 - val_accuracy: 0.8401\n", - "Epoch 8/20\n", - "1176/1176 [==============================] - 0s 30us/sample - loss: 0.4290 - accuracy: 0.8401 - val_loss: 0.4283 - val_accuracy: 0.8401\n", - "Epoch 9/20\n", - "1176/1176 [==============================] - 0s 29us/sample - loss: 0.4154 - accuracy: 0.8410 - val_loss: 0.4180 - val_accuracy: 0.8401\n", - "Epoch 10/20\n", - "1176/1176 [==============================] - 0s 30us/sample - loss: 0.4036 - accuracy: 0.8410 - val_loss: 0.4096 - val_accuracy: 0.8401\n", - "Epoch 11/20\n", - "1176/1176 [==============================] - 0s 30us/sample - loss: 0.3935 - accuracy: 0.8418 - val_loss: 0.4032 - val_accuracy: 0.8435\n", - "Epoch 12/20\n", - "1176/1176 [==============================] - 0s 31us/sample - loss: 0.3844 - accuracy: 0.8435 - val_loss: 0.3970 - val_accuracy: 0.8469\n", - "Epoch 13/20\n", - "1176/1176 [==============================] - 0s 29us/sample - loss: 0.3759 - accuracy: 0.8452 - val_loss: 0.3922 - val_accuracy: 0.8503\n", - "Epoch 14/20\n", - "1176/1176 [==============================] - 0s 29us/sample - loss: 0.3685 - accuracy: 0.8478 - val_loss: 0.3888 - val_accuracy: 0.8503\n", - "Epoch 15/20\n", - "1176/1176 [==============================] - 0s 28us/sample - loss: 0.3612 - accuracy: 0.8520 - val_loss: 0.3850 - val_accuracy: 0.8537\n", - "Epoch 16/20\n", - "1176/1176 [==============================] - 0s 29us/sample - loss: 0.3546 - accuracy: 0.8529 - val_loss: 0.3820 - val_accuracy: 0.8605\n", - "Epoch 17/20\n", - "1176/1176 [==============================] - 0s 27us/sample - loss: 0.3480 - accuracy: 0.8529 - val_loss: 0.3795 - val_accuracy: 0.8605\n", - "Epoch 18/20\n", - "1176/1176 [==============================] - 0s 29us/sample - loss: 0.3411 - accuracy: 0.8588 - val_loss: 0.3760 - val_accuracy: 0.8605\n", - "Epoch 19/20\n", - "1176/1176 [==============================] - 0s 27us/sample - loss: 0.3353 - accuracy: 0.8614 - val_loss: 0.3736 - val_accuracy: 0.8639\n", - "Epoch 20/20\n", - "1176/1176 [==============================] - 0s 29us/sample - loss: 0.3293 - accuracy: 0.8631 - val_loss: 0.3704 - val_accuracy: 0.8605\n" - ] - } - ], - "source": [ - "import sys\n", - "!{sys.executable} train.py" + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from interpret.ext.greybox import DeepExplainer\n", + "\n", + "explainer = DeepExplainer(model,\n", + " x_train,\n", + " features=x_train.columns,\n", + " classes=[\"STAYING\", \"LEAVING\"], \n", + " model_task=\"classification\",\n", + " is_classifier=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "**Load model and perform interpretability**" + "**Generate local explanations**" ] }, { "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "WARNING - From /anaconda/envs/azureml_py36/lib/python3.6/site-packages/tensorflow/python/ops/init_ops.py:97: calling GlorotUniform.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.\n", - "Instructions for updating:\n", - "Call initializer instance with the dtype argument instead of passing it to the constructor\n", - "WARNING - From /anaconda/envs/azureml_py36/lib/python3.6/site-packages/tensorflow/python/ops/init_ops.py:97: calling Zeros.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.\n", - "Instructions for updating:\n", - "Call initializer instance with the dtype argument instead of passing it to the constructor\n" - ] - } - ], - "source": [ - "# TODO: LOAD MODEL AND EXPLAIN IT\n", - "import tensorflow as tf\n", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# You can pass a specific data point or a group of data points to the explain_local function\n", + "# E.g., Explain the first data point in the test set\n", + "instance_num = 1\n", + "local_explanation = explainer.explain_local(x_test[:instance_num])\n", "\n", - "model = tf.keras.models.load_model('model.h5')\n", + "sorted_local_importance_values = local_explanation.get_ranked_local_values()\n", + "sorted_local_importance_names = local_explanation.get_ranked_local_names()\n", "\n", - "# from azureml.explain.model.tabular_explainer import TabularExplainer\n", - "# # \"features\" and \"classes\" fields are optional\n", - "# explainer = TabularExplainer(network, \n", - "# train)\n", + "print('local importance values: {}'.format(sorted_local_importance_values))\n", + "print('local importance names: {}'.format(sorted_local_importance_names))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Generate global explanations**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Passing in test dataset for evaluation examples - note it must be a representative sample of the original data\n", + "# x_train can be passed as well, but with more examples explanations will take longer although they may be more accurate\n", + "global_explanation = explainer.explain_global(x_test)\n", "\n", - "# # you can use the training data or the test data here\n", - "# global_explanation = explainer.explain_global(x_train)\n", + "# Print out a dictionary that holds the sorted feature importance names and values\n", + "print('global importance rank: {}'.format(global_explanation.get_feature_importance_dict()))\n", "\n", - "# # if you used the PFIExplainer in the previous step, use the next line of code instead\n", - "# # global_explanation = explainer.explain_global(x_train, true_labels=y_test)\n", + "# Per class feature names\n", + "print('ranked per class feature names: {}'.format(global_explanation.get_ranked_per_class_names()))\n", "\n", - "# # sorted feature importance values and feature names\n", - "# sorted_global_importance_values = global_explanation.get_ranked_global_values()\n", - "# sorted_global_importance_names = global_explanation.get_ranked_global_names()\n", - "# dict(zip(sorted_global_importance_names, sorted_global_importance_values))\n", + "# Per class feature importance values\n", + "print('ranked per class feature values: {}'.format(global_explanation.get_ranked_per_class_values()))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Visualize our explanations**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from interpret_community.widget import ExplanationDashboard\n", + "from interpret_community.common.model_wrapper import wrap_model\n", + "from interpret_community.dataset.dataset_wrapper import DatasetWrapper\n", + "from sklearn.pipeline import Pipeline\n", "\n", - "# # alternatively, you can print out a dictionary that holds the top K feature names and values\n", - "# global_explanation.get_feature_importance_dict()" + "wrapped_model, ml_domain = wrap_model(network, DatasetWrapper(x_test_t), \"classification\")\n", + "wrapped_model.fit = model.fit\n", + "dashboard_pipeline = Pipeline(steps=[('preprocess', preprocess), ('network', wrapped_model)])\n", + "ExplanationDashboard(global_explanation, dashboard_pipeline, datasetX=x_test)" ] }, { @@ -430,21 +390,204 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Interpretability In Inferencing" + "## Explain Model On Azure Machine Learning Service\n", + "\n", + "Now let's train our model on Azure Machine Learning service and explain remotely.\n", + "\n", + "**Instead of running our script in the notebook, let's start by writing the script to a train.py file.**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%writefile train.py\n", + "import pandas as pd \n", + "import numpy as np\n", + "import tensorflow as tf\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.compose import ColumnTransformer\n", + "from sklearn.pipeline import make_pipeline\n", + "from sklearn.impute import SimpleImputer\n", + "from sklearn.preprocessing import StandardScaler, OneHotEncoder\n", + "from sklearn.model_selection import train_test_split\n", + "\n", + "def preprocess_data(data):\n", + " '''\n", + " \n", + " '''\n", + " # Dropping Employee count as all values are 1 and hence attrition is independent of this feature\n", + " data = data.drop(['EmployeeCount'], axis=1)\n", + " \n", + " # Dropping Employee Number since it is merely an identifier\n", + " data = data.drop(['EmployeeNumber'], axis=1)\n", + " data = data.drop(['Over18'], axis=1)\n", + "\n", + " # Since all values are 80\n", + " data = data.drop(['StandardHours'], axis=1)\n", + "\n", + " # Converting target variables from string to numerical values\n", + " target_map = {'Yes': 1, 'No': 0}\n", + " data[\"Attrition_numerical\"] = data[\"Attrition\"].apply(lambda x: target_map[x])\n", + " target = data[\"Attrition_numerical\"]\n", + "\n", + " data.drop(['Attrition_numerical', 'Attrition'], axis=1, inplace=True)\n", + " \n", + " # Creating dummy columns for each categorical feature\n", + " categorical = []\n", + " for col, value in data.iteritems():\n", + " if value.dtype == 'object':\n", + " categorical.append(col)\n", + "\n", + " # Store the numerical columns in a list numerical\n", + " numerical = data.columns.difference(categorical) \n", + "\n", + " # We create the preprocessing pipelines for both numeric and categorical data.\n", + " numeric_transformer = Pipeline(steps=[\n", + " ('imputer', SimpleImputer(strategy='median')),\n", + " ('scaler', StandardScaler())])\n", + "\n", + " categorical_transformer = Pipeline(steps=[\n", + " ('imputer', SimpleImputer(strategy='constant', fill_value='missing')),\n", + " ('onehot', OneHotEncoder(handle_unknown='ignore'))])\n", + "\n", + " preprocess = ColumnTransformer(\n", + " transformers=[\n", + " ('num', numeric_transformer, numerical),\n", + " ('cat', categorical_transformer, categorical)])\n", + " \n", + " pipeline = make_pipeline(preprocess)\n", + "\n", + " # Split data into train and test sets\n", + " x_train, x_test, y_train, y_test = train_test_split(data, \n", + " target, \n", + " test_size=0.2,\n", + " random_state=0,\n", + " stratify=target)\n", + " \n", + " return x_train, x_test, y_train, y_test, pipeline\n", + " \n", + "# Load and preprocess data\n", + "attrition_data = pd.read_csv('./data/data.csv')\n", + "x_train, x_test, y_train, y_test, pipeline = preprocess_data(attrition_data)\n", + "\n", + "# Transform data\n", + "x_train_t = pd.DataFrame(pipeline.fit_transform(x_train))\n", + "x_test_t = pd.DataFrame(pipeline.transform(x_test))\n", + "\n", + "# Create model\n", + "model = tf.keras.models.Sequential()\n", + "model.add(tf.keras.layers.Dense(units=16, activation='relu', input_shape=(x_train_t.shape[1],)))\n", + "model.add(tf.keras.layers.Dense(units=16, activation='relu'))\n", + "model.add(tf.keras.layers.Dense(units=1, activation='sigmoid'))\n", + "\n", + "# Compile model\n", + "model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy']) \n", + "\n", + "# Fit model\n", + "model.fit(x_train_t, y_train, epochs=20, verbose=1, batch_size=128, validation_data=(x_test_t, y_test))\n", + "\n", + "# Save model\n", + "model.save('./outputs/model.h5')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Raw Feature Transformations" + "**Now submit the script to be run on the cluster that was created in tutorial 1**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from azureml.train.dnn import TensorFlow\n", + "\n", + "compute_target = workspace.compute_targets['v100cluster']\n", + "\n", + "estimator = TensorFlow(source_directory='.',\n", + " entry_script='train.py',\n", + " compute_target=compute_target,\n", + " framework_version='1.13',\n", + " use_gpu=True)\n", + "\n", + "run = experiment.submit(estimator)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Monitor the run as usual**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from azureml.widgets import RunDetails\n", + "RunDetails(run1).show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Register the trained model which we will use to explain**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model = run.register_model(model_name='ibm-attrition-classifier', \n", + " model_path='./outputs/model.h5',\n", + " description='IBM Employee Attrition data classifier')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**TODO: Explain on AML Compute**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Explain A Deployed Model\n", + "\n", + "Now let's deploy our model and explain during runtime.\n", + "\n", + "**TODO**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Visualizations" + "## Next Steps\n", + "Learn about other use cases of the explain package on a:\n", + " \n", + "1. [Training time: regression problem](./explain-regression-local.ipynb)\n", + "1. [Training time: binary classification problem](./explain-binary-classification-local.ipynb)\n", + "1. [Training time: multiclass classification problem](./explain-multiclass-classification-local.ipynb)\n", + "1. [Explain models with advanced feature transformations](./advanced-feature-transformations-explain-local.ipynb)\n", + "1. [Save model explanations via Azure Machine Learning Run History](../azure-integration/run-history/save-retrieve-explanations-run-history.ipynb)\n", + "1. [Run explainers remotely on Azure Machine Learning Compute (AMLCompute)](../azure-integration/remote-explanation/explain-model-on-amlcompute.ipynb)\n", + "1. Inferencing time: deploy a classification model and explainer:\n", + " 1. [Deploy a locally-trained model and explainer](../azure-integration/scoring-time/train-explain-model-locally-and-deploy.ipynb)\n", + " 1. [Deploy a remotely-trained model and explainer](../azure-integration/scoring-time/train-explain-model-on-amlcompute-and-deploy.ipynb)" ] }, { @@ -471,7 +614,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.6.9" } }, "nbformat": 4, From 1d9c35da9ad9d73049a61a497787e1ade7b42c5b Mon Sep 17 00:00:00 2001 From: Maxim Lukiyanov Date: Mon, 28 Oct 2019 03:49:35 +0000 Subject: [PATCH 04/22] MInor update --- 1-Training/AzureServiceClassifier_Training.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/1-Training/AzureServiceClassifier_Training.ipynb b/1-Training/AzureServiceClassifier_Training.ipynb index 815fc58..60d6ece 100644 --- a/1-Training/AzureServiceClassifier_Training.ipynb +++ b/1-Training/AzureServiceClassifier_Training.ipynb @@ -29,7 +29,7 @@ "- Introduction to Transformer and BERT deep learning models\n", "- Introduction to Azure Machine Learning service\n", "- Preparing raw data for training using Apache Spark\n", - "- Registering cleanup training data as a Dataset\n", + "- Registering cleaned up training data as a Dataset\n", "- Debugging the model in Tensorflow 2.0 Eager Mode\n", "- Training the model on GPU cluster\n", "- Monitoring training progress with built-in Tensorboard dashboard \n", @@ -474,7 +474,7 @@ "metadata": {}, "outputs": [], "source": [ - "%%pip install transformers==2.0.0" + "%pip install transformers==2.0.0" ] }, { From b1a8698b2fb836b8224b444c43bcebdcd989635e Mon Sep 17 00:00:00 2001 From: Maxim Lukiyanov Date: Mon, 28 Oct 2019 03:55:55 +0000 Subject: [PATCH 05/22] Minor clean up in training --- .../databricks/stackoverflow-data-prep.dbc | Bin 4427 -> 0 bytes .../databricks/stackoverflow-data-prep.html | 42 ------------------ 1-Training/spark/stackoverflow-data-prep.dbc | Bin 4427 -> 0 bytes 1-Training/spark/stackoverflow-data-prep.html | 42 ------------------ 4 files changed, 84 deletions(-) delete mode 100644 1-Training/databricks/stackoverflow-data-prep.dbc delete mode 100644 1-Training/databricks/stackoverflow-data-prep.html delete mode 100644 1-Training/spark/stackoverflow-data-prep.dbc delete mode 100644 1-Training/spark/stackoverflow-data-prep.html diff --git a/1-Training/databricks/stackoverflow-data-prep.dbc b/1-Training/databricks/stackoverflow-data-prep.dbc deleted file mode 100644 index ed8d86bfc1c90019df5b7a471b6c05346e49248b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4427 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 diff --git a/1-Training/databricks/stackoverflow-data-prep.html b/1-Training/databricks/stackoverflow-data-prep.html deleted file mode 100644 index c822ec9..0000000 --- a/1-Training/databricks/stackoverflow-data-prep.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - -stackoverflow-data-prep - Databricks - - - - - - - - - - - - - - - - - - - diff --git a/1-Training/spark/stackoverflow-data-prep.dbc b/1-Training/spark/stackoverflow-data-prep.dbc deleted file mode 100644 index ed8d86bfc1c90019df5b7a471b6c05346e49248b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4427 zcmai&Wl$6Vw}zLH5&;3}aA66RrB@c|?(S|_a!KhDSr&mMr9`@sU1CWIkyg69TR=jk z1g_t&``usnedo-XGiT1cbN)WsYIyk603sqHK!J>z7T~|c0>B6O_}bXH!e2XhJG#OB z!S*)3HegS02TxwlKwlW#EV@~CO z*SkU*H?6sph>SHIve^Rf^oS?~B_4vjz5O!ko^KOL`xlK%cSg*>+ZinlD+YpN+C>U? zk|}0chgQnDzWE0A1;wBo77_cOU&FFwV9`aEn!8N-RoQ*BxHYNjJi>~ul}|YM0Fa_9 zY=IvB^Yq`Ou*9I+%u(l&%9Zu9)t9B>I?IVeFvg-4tV%&AE&gkJ{KlerFD4hVvRs-L zn{tJ)H4{U7`r1vLkCm|p4w3auspzs!{ab9s17Dg#RoB6o3Pxtq_ zPluU>X-qJ;M8uqS`&UG)LN4()vSOl3ck!qP=TYFuJ!uUwS_6yyJIrRAOXgE-Iixsi z2axShd=jql5bRv%mUGjYVs^&=pfDD<6P^&wflA352-QO858PX_OX8dGxZWHchI5f?h@==w5kr>_d8FD) z&htc)CwwZVrOvYp7cg@bE=ePQaYr{?s%)?uzXJ#1x*Y*{uQzpbhUV#SvS>)yjIxKj zx!>7}jq}W&2=~{5!8OwDQFEu&&>i5T?valW5Msnj+zND!)@*z*mJWCUO26bNX$(y9wnp9k+>JAx!+pjs;!O|03 zwc>x?8WyXv5QK2igfmUe?tzWp-+fcUcf-FMv@_MBnMS7hWsR&$Np3gw;(zUp?*kAx z0;`pZZNzq_y{ul<^*dCM5~-e95g}~wIsUy(LoSoYf3 z2a0MZ5L15T_$c7*D?bF(nKFJxl9J9b>H)JX;vVmL40Q*MK!;WIqX-kwBJVQMt=!y!xv7}Ygx-TVSqq|J{My1Xo29nHS}bhmnac+9lxAAoBu>VK3xZ#q%w^E>(bXU5&&k*zs2{FT2G zv1rt$slBbrj#}MXD|+=-CZk4=O%&z&z(1V!;hBywJ>Jp}CI;wAT|p}ka<0sy+%7T1X zl*M0~#rnEefd=-c+$j$8k=trA{4(in3eoD&H5E9$GXfvP6lkxV_FjJ1%S`BlSzx~;t$UF2B zk4yOH$QfOu8e+g2;G8P)ZVNyCDAS+S$-1D}Dnj5=@P;(S{Z-#GagX{X2Jn;0&hnBw z#g(DJX=V5+RBokGIEoacR+h+qmFv(lV5w=C3EeJY`!zIH^HLMc;g&TSc)h2d>ws(f zf(WYNw8jq<%#lKEz3OmZYNzzn2L?aTQsg~Alq5cTzyCl6wxAp2xy`UlG_J77RS{GR}C!TAd@uc~+tB&H5BXoP*@VT$D!Y{O%rjP92DU3!-}Bgc%!` zh(xwR0~chIlvB%opB=G)k$tD|a%op7_rJH6LycLa?Y z?H4DV=3z#iQv2IDh1?GdRaZ~k7gxig=a{@3tw2-SFh-OsbQD8%|KeX!*DIW71Tth4 zQmQ0q%}D)?QlR9bW`nC0h4l#clQ4nb$&qJA+650Kz`k}~cYS@>O89VYfLoy2xCreI z(}cB{Zrzw~5+{~-fhXhQL#vpUmdR;mfTE9kbuF^(ZgCt9e-IM-wOE4J%|`~MJItn% zbPV4r28byMOgn!o2=ScrQ=$}?(!1M3ti{Y;KjpX0mDk_oEbpNDtX|}`0ps;qe(KfY znmIG;8an43x|gj9>qqY>5*t5J)Bq#f<<$VdElbLp&==J4G1wJx5N1J@(>wCL(w4hf z5H?7H%BQX}c%k4T-BGOObhc^-Ju z2YF@@Z@>fsmJCghcKbtOeDsQ_-Qv~>4SQ@41U$kUYR_h)GhYfV4>YoYQQXr^-Tc@w zW!VHmnSn~g&xANwZy!dKP4`uGhAPHuP*qMo65zN!5eEJTeX1+A4K?}imD41ldEV0|f(|&!M3R2ir=p$r)8zRAUa4yVB z8Y5@SIK+=*HUKB&2J{jly(o=DqQYVbz@m@qwE0cuPAT3}Z{^=h_7`U`Qx-|F{d!rA z8v0n}exds@?KPqiPEq@WA~!!l&NxGOSP38eUHSN#vZ%u)fHYVXgN{_R+~bHxw)}-B zoiYtR8hmKGcL&X&2JqPC0q#g%UAAc--5WBKr^pPXC+#NqKz={&I!2|3&}K-aERZE0 znMgJEr_bV**52rLVM*f$UYkFMBAA=I>ifg~%&mU6Q;I!eKve`%2)m%V-N2;GN}Is# z+;!dK{?plDxBBxr7B!x@h1i{i(jrkuI#_`_1H-naTPDiM>@L?JX+_Q;=@{6OFX9>l z)Bw$GHby*hi?&>yIrAtuSmK|1G?q`SrdFdLdMn)^B7p_033oX;Uslp$bN87J11uiR zG*{s=0KSyL_vRT4W*DtLy7IPEBxwy&S_wf$7Fo8q-k}#eKLJ`AfvH2e+9X#>kgw`CUk{_(Ct?{bw0oGgkKD&)$L)pPF>j zit_S|BUM%}FR|X)qmz2pR?_5wx43^O4(g{~2Vll7yV_~5f%}F2fqb(MU+;W~*v{OW z%Wa>nzqsaI`JNa+*P32HFa8I}T3kwVH8lB`zwWR{IQ7eI%69=CKfxt_VU2Fca6$-` zuAvAqFz*q&ql>1s09Z9d>tV<&ac+RUANW%3@?4Ywb;C?nP z)!%71!wJ3$bHZ4@amQ64)T26&ZS%m%^e>}@uXc)wPT&1GKDzP2-ya&o$Gie;Z7%xX zH$$ZeGDZ5O@;cJGe&H4^pnAJ*TYfeu*;^#7Oqaj~>Xw&q!V{~GN=ZHG>!wuX32y|P zhmWiywMairFghm_8qnJn2Vh6Y74doKY^~)3L3jfO0-cPsZUfgh{U3MbkW# zSo;?$&qGofJGK?f>%slwOzCu&<#aIK1~z238@qQc?|#P;tMS0C-QSygfVLVT(aLu< xiT4x$K&&F*-;9Gx4ftQo@!z}uV2=N*{~vm2t34q2&kfE$Yya!p|8f9;{{c?Ja%lhn diff --git a/1-Training/spark/stackoverflow-data-prep.html b/1-Training/spark/stackoverflow-data-prep.html deleted file mode 100644 index c822ec9..0000000 --- a/1-Training/spark/stackoverflow-data-prep.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - -stackoverflow-data-prep - Databricks - - - - - - - - - - - - - - - - - - - From 3d62b85be9c67dae32c9f4b24de588b69eb03c60 Mon Sep 17 00:00:00 2001 From: Maxim Lukiyanov Date: Mon, 28 Oct 2019 04:10:35 +0000 Subject: [PATCH 06/22] Minor updates training --- 1-Training/train_eager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-Training/train_eager.py b/1-Training/train_eager.py index 7e144df..963b5a8 100644 --- a/1-Training/train_eager.py +++ b/1-Training/train_eager.py @@ -135,8 +135,8 @@ def main(_): optimizer = tf.keras.optimizers.Adam(learning_rate=FLAGS.learning_rate, epsilon=1e-08, clipnorm=1.0) loss = tf.keras.losses.SparseCategoricalCrossentropy() metric = tf.keras.metrics.SparseCategoricalAccuracy('accuracy') - #model.compile(optimizer=optimizer, loss=loss, metrics=[metric]) + # Train and evaluate model for item, label in train_dataset: with tf.GradientTape() as tape: prediction, = model(item, training=True) From f122e1ea95a853d512faac95951800929aafce61 Mon Sep 17 00:00:00 2001 From: Maxim Lukiyanov Date: Sun, 27 Oct 2019 21:31:35 -0700 Subject: [PATCH 07/22] Training picture --- 1-Training/images/model-training-e2e.png | Bin 0 -> 286013 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 1-Training/images/model-training-e2e.png diff --git a/1-Training/images/model-training-e2e.png b/1-Training/images/model-training-e2e.png new file mode 100644 index 0000000000000000000000000000000000000000..338aef39c69c3a378cb2d52bb0ec0039aafb840d GIT binary patch literal 286013 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 z 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%0De-fW}H>{ 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

h9@_IwG|_ui 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

8<>Ho0n+=aDEXI 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 V^0g=YG& Date: Sun, 27 Oct 2019 21:32:18 -0700 Subject: [PATCH 08/22] Updating AKS Configuration Updating AKS Configuration --- 2-Inferencing/AzureServiceClassifier_Inferencing.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb b/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb index 2ab361d..0ceba17 100644 --- a/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb +++ b/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb @@ -2202,7 +2202,7 @@ "\n", "Configure the image and deploy. The following code goes through these steps:\n", "\n", - "* Provision a Dev Test AKS Cluster\n", + "* Provision a Production AKS Cluster\n", "* Build an image using:\n", " * The scoring file (`score.py`)\n", " * The environment file (`myenv.yml`)\n", From 6c4444d1f9f26940dbfb9a58be32ff2c9aa2ab84 Mon Sep 17 00:00:00 2001 From: Maxim Lukiyanov Date: Mon, 28 Oct 2019 04:36:02 +0000 Subject: [PATCH 09/22] Add picture --- 1-Training/AzureServiceClassifier_Training.ipynb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/1-Training/AzureServiceClassifier_Training.ipynb b/1-Training/AzureServiceClassifier_Training.ipynb index 60d6ece..1ad2876 100644 --- a/1-Training/AzureServiceClassifier_Training.ipynb +++ b/1-Training/AzureServiceClassifier_Training.ipynb @@ -152,7 +152,10 @@ "\"Drawing\"\n", "\n", "_Taken from [5](http://jalammar.github.io/illustrated-bert/)_\n", - " " + "\n", + "The end-to-end training process of the stackoverflow question tagging model looks like this:\n", + "\n", + "![](images/model-training-e2e.png)\n" ] }, { From 6f32748f918cbb3c8936b56b1f32f0f2d0f27c62 Mon Sep 17 00:00:00 2001 From: John Wu Date: Mon, 28 Oct 2019 06:13:19 +0000 Subject: [PATCH 10/22] Added updates to interept --- ...AttritionClassifier_Interpretability.ipynb | 246 ++++++++++++++---- 1 file changed, 193 insertions(+), 53 deletions(-) diff --git a/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb b/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb index b838aa6..554e289 100644 --- a/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb +++ b/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb @@ -63,9 +63,17 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Azure Machine Learning Python SDK version: 1.0.69\n" + ] + } + ], "source": [ "import azureml.core\n", "\n", @@ -76,9 +84,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Install Tensorflow 1.13\n", + "## Install Tensorflow 1.14\n", "\n", - "We will be using an older version (1.13) for this particular tutorial in the series as Tensorflow 2.0 is not yet supported for Interpretibility on Azure Machine Learning service. If are currently running Tensorflow 2.0, run the code below to downgrade the version." + "We will be using an older version (1.14) for this particular tutorial in the series as Tensorflow 2.0 is not yet supported for Interpretibility on Azure Machine Learning service. If are currently running Tensorflow 2.0, run the code below to downgrade the version." ] }, { @@ -87,8 +95,8 @@ "metadata": {}, "outputs": [], "source": [ - "%pip uninstall tensorflow-gpu --yes\n", - "%pip install tensorflow-gpu==1.13" + "%pip uninstall tensorflow-gpu keras --yes\n", + "%pip install tensorflow-gpu==1.14" ] }, { @@ -100,9 +108,20 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'1.14.0'" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import tensorflow as tf\n", "tf.version.VERSION" @@ -132,9 +151,20 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Workspace name: tf-world\n", + "Azure region: eastus\n", + "Subscription id: 15ae9cb6-95c1-483d-a0e3-b1a1a3b06324\n", + "Resource group: tf-world\n" + ] + } + ], "source": [ "from azureml.core import Workspace\n", "\n", @@ -172,9 +202,79 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING - From /anaconda/envs/azureml_py36/lib/python3.6/site-packages/tensorflow/python/ops/init_ops.py:1251: calling VarianceScaling.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.\n", + "Instructions for updating:\n", + "Call initializer instance with the dtype argument instead of passing it to the constructor\n", + "WARNING - From /anaconda/envs/azureml_py36/lib/python3.6/site-packages/tensorflow/python/ops/nn_impl.py:180: add_dispatch_support..wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.\n", + "Instructions for updating:\n", + "Use tf.where in 2.0, which has the same broadcast rule as np.where\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train on 1176 samples, validate on 294 samples\n", + "Epoch 1/20\n", + "1176/1176 [==============================] - 0s 175us/sample - loss: 0.5150 - acc: 0.8308 - val_loss: 0.4791 - val_acc: 0.8401\n", + "Epoch 2/20\n", + "1176/1176 [==============================] - 0s 19us/sample - loss: 0.4637 - acc: 0.8376 - val_loss: 0.4502 - val_acc: 0.8401\n", + "Epoch 3/20\n", + "1176/1176 [==============================] - 0s 16us/sample - loss: 0.4375 - acc: 0.8376 - val_loss: 0.4307 - val_acc: 0.8401\n", + "Epoch 4/20\n", + "1176/1176 [==============================] - 0s 17us/sample - loss: 0.4187 - acc: 0.8384 - val_loss: 0.4157 - val_acc: 0.8401\n", + "Epoch 5/20\n", + "1176/1176 [==============================] - 0s 16us/sample - loss: 0.4052 - acc: 0.8384 - val_loss: 0.4067 - val_acc: 0.8401\n", + "Epoch 6/20\n", + "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3958 - acc: 0.8384 - val_loss: 0.3992 - val_acc: 0.8401\n", + "Epoch 7/20\n", + "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3879 - acc: 0.8384 - val_loss: 0.3936 - val_acc: 0.8401\n", + "Epoch 8/20\n", + "1176/1176 [==============================] - 0s 17us/sample - loss: 0.3800 - acc: 0.8384 - val_loss: 0.3875 - val_acc: 0.8401\n", + "Epoch 9/20\n", + "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3725 - acc: 0.8384 - val_loss: 0.3834 - val_acc: 0.8401\n", + "Epoch 10/20\n", + "1176/1176 [==============================] - 0s 17us/sample - loss: 0.3660 - acc: 0.8384 - val_loss: 0.3788 - val_acc: 0.8401\n", + "Epoch 11/20\n", + "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3594 - acc: 0.8401 - val_loss: 0.3753 - val_acc: 0.8401\n", + "Epoch 12/20\n", + "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3520 - acc: 0.8401 - val_loss: 0.3700 - val_acc: 0.8401\n", + "Epoch 13/20\n", + "1176/1176 [==============================] - 0s 17us/sample - loss: 0.3450 - acc: 0.8418 - val_loss: 0.3686 - val_acc: 0.8401\n", + "Epoch 14/20\n", + "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3386 - acc: 0.8435 - val_loss: 0.3668 - val_acc: 0.8401\n", + "Epoch 15/20\n", + "1176/1176 [==============================] - 0s 17us/sample - loss: 0.3323 - acc: 0.8461 - val_loss: 0.3633 - val_acc: 0.8469\n", + "Epoch 16/20\n", + "1176/1176 [==============================] - 0s 17us/sample - loss: 0.3262 - acc: 0.8512 - val_loss: 0.3598 - val_acc: 0.8537\n", + "Epoch 17/20\n", + "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3202 - acc: 0.8588 - val_loss: 0.3589 - val_acc: 0.8537\n", + "Epoch 18/20\n", + "1176/1176 [==============================] - 0s 17us/sample - loss: 0.3147 - acc: 0.8597 - val_loss: 0.3563 - val_acc: 0.8639\n", + "Epoch 19/20\n", + "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3094 - acc: 0.8639 - val_loss: 0.3541 - val_acc: 0.8571\n", + "Epoch 20/20\n", + "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3044 - acc: 0.8724 - val_loss: 0.3518 - val_acc: 0.8639\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import pandas as pd \n", "import numpy as np\n", @@ -239,15 +339,15 @@ " random_state=0,\n", " stratify=target)\n", " \n", - " return x_train, x_test, y_train, y_test, pipeline\n", + " return x_train, x_test, y_train, y_test, pipeline, preprocess\n", " \n", "# Load and preprocess data\n", "attrition_data = pd.read_csv('./data/data.csv')\n", - "x_train, x_test, y_train, y_test, pipeline = preprocess_data(attrition_data)\n", + "x_train, x_test, y_train, y_test, pipeline, preprocess = preprocess_data(attrition_data)\n", "\n", "# Transform data\n", - "x_train_t = pd.DataFrame(pipeline.fit_transform(x_train))\n", - "x_test_t = pd.DataFrame(pipeline.transform(x_test))\n", + "x_train_t = pipeline.fit_transform(x_train)\n", + "x_test_t = pipeline.transform(x_test)\n", "\n", "# Create model\n", "model = tf.keras.models.Sequential()\n", @@ -280,9 +380,18 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING - From /anaconda/envs/azureml_py36/lib/python3.6/site-packages/shap/explainers/deep/deep_tf.py:118: The name tf.keras.backend.get_session is deprecated. Please use tf.compat.v1.keras.backend.get_session instead.\n", + "\n" + ] + } + ], "source": [ "from interpret.ext.greybox import DeepExplainer\n", "\n", @@ -290,6 +399,7 @@ " x_train,\n", " features=x_train.columns,\n", " classes=[\"STAYING\", \"LEAVING\"], \n", + " transformations = preprocess,\n", " model_task=\"classification\",\n", " is_classifier=True)" ] @@ -303,9 +413,18 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "local importance values: [[[0.02745935619113111, 0.02388463189410146, 0.020942007144913077, 0.02072276084300257, 0.01591142771356663, 0.01487850179481488, 0.012745772539601552, 0.009650989505462348, 0.00963469324633479, 0.008773050403817054, 0.006977637853967165, 0.005644893143529896, 0.005188455890287827, 0.0037072910350359166, 0.003232530595886378, 0.001697204236677791, 0.0016097691412437006, 0.0014667453432869921, 0.0, 0.0, 0.0, -0.0004357534955488518, -0.0017016542948617964, -0.0024226699168295633, -0.005660104808416575, -0.009158367349154066, -0.01248942909341209, -0.012904132188475203, -0.018412580084532233, -0.018687076805216047]], [[0.018687076805216047, 0.018412580084532233, 0.012904132188475203, 0.01248942909341209, 0.009158367349154066, 0.005660104808416575, 0.0024226699168295633, 0.0017016542948617964, 0.0004357534955488518, 0.0, 0.0, 0.0, -0.0014667453432869921, -0.0016097691412437006, -0.001697204236677791, -0.003232530595886378, -0.0037072910350359166, -0.005188455890287827, -0.005644893143529896, -0.006977637853967165, -0.008773050403817054, -0.00963469324633479, -0.009650989505462348, -0.012745772539601552, -0.01487850179481488, -0.01591142771356663, -0.02072276084300257, -0.020942007144913077, -0.02388463189410146, -0.02745935619113111]]]\n", + "local importance names: [[['TotalWorkingYears', 'JobLevel', 'EducationField', 'YearsSinceLastPromotion', 'WorkLifeBalance', 'DailyRate', 'DistanceFromHome', 'JobRole', 'MaritalStatus', 'Age', 'NumCompaniesWorked', 'MonthlyIncome', 'StockOptionLevel', 'PercentSalaryHike', 'YearsAtCompany', 'JobSatisfaction', 'RelationshipSatisfaction', 'MonthlyRate', 'BusinessTravel', 'OverTime', 'Department', 'Gender', 'Education', 'PerformanceRating', 'HourlyRate', 'YearsInCurrentRole', 'JobInvolvement', 'TrainingTimesLastYear', 'YearsWithCurrManager', 'EnvironmentSatisfaction']], [['EnvironmentSatisfaction', 'YearsWithCurrManager', 'TrainingTimesLastYear', 'JobInvolvement', 'YearsInCurrentRole', 'HourlyRate', 'PerformanceRating', 'Education', 'Gender', 'BusinessTravel', 'Department', 'OverTime', 'MonthlyRate', 'RelationshipSatisfaction', 'JobSatisfaction', 'YearsAtCompany', 'PercentSalaryHike', 'StockOptionLevel', 'MonthlyIncome', 'NumCompaniesWorked', 'Age', 'MaritalStatus', 'JobRole', 'DistanceFromHome', 'DailyRate', 'WorkLifeBalance', 'YearsSinceLastPromotion', 'EducationField', 'JobLevel', 'TotalWorkingYears']]]\n" + ] + } + ], "source": [ "# You can pass a specific data point or a group of data points to the explain_local function\n", "# E.g., Explain the first data point in the test set\n", @@ -328,9 +447,19 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "global importance rank: {'NumCompaniesWorked': 0.03417471731378875, 'EducationField': 0.03277963455957586, 'OverTime': 0.03186986137032637, 'StockOptionLevel': 0.027491102002814863, 'DistanceFromHome': 0.02726175194254244, 'DailyRate': 0.026943844012963694, 'Department': 0.02673539651506227, 'YearsSinceLastPromotion': 0.0242831720212505, 'EnvironmentSatisfaction': 0.023014777976693532, 'JobRole': 0.021821173867686894, 'TotalWorkingYears': 0.021542080085869175, 'TrainingTimesLastYear': 0.020734608450857426, 'YearsWithCurrManager': 0.020032447284073274, 'RelationshipSatisfaction': 0.018775204327377625, 'YearsInCurrentRole': 0.01746664967347312, 'JobInvolvement': 0.014602441754769383, 'MaritalStatus': 0.014237106674383018, 'WorkLifeBalance': 0.014229805121233768, 'JobSatisfaction': 0.01347278631249912, 'JobLevel': 0.012899359471362863, 'Age': 0.01128978592129426, 'HourlyRate': 0.009253448266305697, 'PercentSalaryHike': 0.00885626675733648, 'BusinessTravel': 0.008690116201352011, 'Gender': 0.007315523818717685, 'PerformanceRating': 0.006569386481453725, 'Education': 0.006429576965858625, 'MonthlyIncome': 0.006015271597339995, 'MonthlyRate': 0.0059935155732225185, 'YearsAtCompany': 0.0054440447010206975}\n", + "ranked per class feature names: [['NumCompaniesWorked', 'EducationField', 'OverTime', 'StockOptionLevel', 'DistanceFromHome', 'DailyRate', 'Department', 'YearsSinceLastPromotion', 'EnvironmentSatisfaction', 'JobRole', 'TotalWorkingYears', 'TrainingTimesLastYear', 'YearsWithCurrManager', 'RelationshipSatisfaction', 'YearsInCurrentRole', 'JobInvolvement', 'MaritalStatus', 'WorkLifeBalance', 'JobSatisfaction', 'JobLevel', 'Age', 'HourlyRate', 'PercentSalaryHike', 'BusinessTravel', 'Gender', 'PerformanceRating', 'Education', 'MonthlyIncome', 'MonthlyRate', 'YearsAtCompany'], ['NumCompaniesWorked', 'EducationField', 'OverTime', 'StockOptionLevel', 'DistanceFromHome', 'DailyRate', 'Department', 'YearsSinceLastPromotion', 'EnvironmentSatisfaction', 'JobRole', 'TotalWorkingYears', 'TrainingTimesLastYear', 'YearsWithCurrManager', 'RelationshipSatisfaction', 'YearsInCurrentRole', 'JobInvolvement', 'MaritalStatus', 'WorkLifeBalance', 'JobSatisfaction', 'JobLevel', 'Age', 'HourlyRate', 'PercentSalaryHike', 'BusinessTravel', 'Gender', 'PerformanceRating', 'Education', 'MonthlyIncome', 'MonthlyRate', 'YearsAtCompany']]\n", + "ranked per class feature values: [[0.03417471731378875, 0.03277963455957586, 0.03186986137032637, 0.027491102002814863, 0.02726175194254244, 0.026943844012963694, 0.02673539651506227, 0.0242831720212505, 0.023014777976693532, 0.021821173867686894, 0.021542080085869175, 0.020734608450857426, 0.020032447284073274, 0.018775204327377625, 0.01746664967347312, 0.014602441754769383, 0.014237106674383018, 0.014229805121233768, 0.01347278631249912, 0.012899359471362863, 0.01128978592129426, 0.009253448266305697, 0.00885626675733648, 0.008690116201352011, 0.007315523818717685, 0.006569386481453725, 0.006429576965858625, 0.006015271597339995, 0.0059935155732225185, 0.0054440447010206975], [0.03417471731378875, 0.03277963455957586, 0.03186986137032637, 0.027491102002814863, 0.02726175194254244, 0.026943844012963694, 0.02673539651506227, 0.0242831720212505, 0.023014777976693532, 0.021821173867686894, 0.021542080085869175, 0.020734608450857426, 0.020032447284073274, 0.018775204327377625, 0.01746664967347312, 0.014602441754769383, 0.014237106674383018, 0.014229805121233768, 0.01347278631249912, 0.012899359471362863, 0.01128978592129426, 0.009253448266305697, 0.00885626675733648, 0.008690116201352011, 0.007315523818717685, 0.006569386481453725, 0.006429576965858625, 0.006015271597339995, 0.0059935155732225185, 0.0054440447010206975]]\n" + ] + } + ], "source": [ "# Passing in test dataset for evaluation examples - note it must be a representative sample of the original data\n", "# x_train can be passed as well, but with more examples explanations will take longer although they may be more accurate\n", @@ -355,37 +484,48 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 17, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8a3c428474304950b4d1e2427a354e74", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "ExplanationWidget(value={'predictedY': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from interpret_community.widget import ExplanationDashboard\n", "from interpret_community.common.model_wrapper import wrap_model\n", "from interpret_community.dataset.dataset_wrapper import DatasetWrapper\n", "from sklearn.pipeline import Pipeline\n", "\n", - "wrapped_model, ml_domain = wrap_model(network, DatasetWrapper(x_test_t), \"classification\")\n", + "wrapped_model, ml_domain = wrap_model(model, DatasetWrapper(x_test_t), \"classification\")\n", "wrapped_model.fit = model.fit\n", "dashboard_pipeline = Pipeline(steps=[('preprocess', preprocess), ('network', wrapped_model)])\n", "ExplanationDashboard(global_explanation, dashboard_pipeline, datasetX=x_test)" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Train and Explain Locally\n", - "We will start by training our model locally in the Jupyter Notebook." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Train and Explain Remotely\n", - "Now we will train our model on the compute target created back in the [first tutorial]()." - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -467,15 +607,15 @@ " random_state=0,\n", " stratify=target)\n", " \n", - " return x_train, x_test, y_train, y_test, pipeline\n", + " return x_train, x_test, y_train, y_test, pipeline, preprocess\n", " \n", "# Load and preprocess data\n", "attrition_data = pd.read_csv('./data/data.csv')\n", - "x_train, x_test, y_train, y_test, pipeline = preprocess_data(attrition_data)\n", + "x_train, x_test, y_train, y_test, pipeline, preprocess = preprocess_data(attrition_data)\n", "\n", "# Transform data\n", - "x_train_t = pd.DataFrame(pipeline.fit_transform(x_train))\n", - "x_test_t = pd.DataFrame(pipeline.transform(x_test))\n", + "x_train_t = pipeline.fit_transform(x_train)\n", + "x_test_t = pipeline.transform(x_test)\n", "\n", "# Create model\n", "model = tf.keras.models.Sequential()\n", From d0ba6f5cfb42afe7c34a6d36a50a682e23260800 Mon Sep 17 00:00:00 2001 From: Gopal Vashishtha Date: Mon, 28 Oct 2019 16:40:15 -0700 Subject: [PATCH 11/22] Using SAS token instead of DS_KEY, adding QA instructions (#50) * updating to use sas token * updating predict logic * fixing lint error * updating dataset with create new version * adding aci deploy config * updated aks cluster creation to happen after pipeline submission, readme with aci * took out ds key --- 3-ML-Ops/README.md | 55 +++++++++++++------ .../scripts/scoring/deployment_config_aci.yml | 4 ++ 3-ML-Ops/train-and-register-model.py | 25 +++++---- 3-ML-Ops/util/attach_aks.py | 11 ++-- 4 files changed, 60 insertions(+), 35 deletions(-) create mode 100644 3-ML-Ops/scripts/scoring/deployment_config_aci.yml diff --git a/3-ML-Ops/README.md b/3-ML-Ops/README.md index ab5289c..a4804ae 100755 --- a/3-ML-Ops/README.md +++ b/3-ML-Ops/README.md @@ -107,8 +107,6 @@ The variable group should contain the following variables: | LOCATION | southcentralus | | SP_APP_ID | Fill in "Application (client) ID" from service principal creation | | SP_APP_SECRET | Fill in the secret from service principal creation | -| DS_KEY | Fill in the datastore key you were given | - Mark **SP_APP_SECRET** variable as a secret one. @@ -189,12 +187,10 @@ Even though we created a service connection earlier in order to create resources ![workspace connection](./images/workspace-connection.png) -### 11. Deploy the Model +### 11. Create the release pipeline. The final step is to deploy your model with a release pipeline. -#### Create the release pipeline - Go to "Pipelines" -> "Releases." In the top right of the second navigation bar from the left, select "New" -> "New release pipeline." Select "Empty job" under "Select a template" on the blade that pops up. ![Selecting empty job](./images/empty-job.png) @@ -203,7 +199,7 @@ Call this stage "Prod," by editing the value of "Stage name" in the blade on the ![Rename prod](./images/prod.png) -#### Add artifacts +### 12. Add artifacts to your pipeline In order for this Release pipeline to work, it needs access to the trained model we produced in the build pipeline. The release pipeline accesses the trained model as part of something called an Artifact. To give this release pipeline access to the relevant artifacts, click on "Add an artifact" in the "Artifacts" box. @@ -213,14 +209,36 @@ Next, select "AzureML Model Artifact" (you may need to click "Show more"). Selec Let's also give the release pipeline access to the build artifact, which contains some of the files that the release pipeline needs in order to run. Click on "Add" in the "Artifacts" box, select "Build," and ensure that the source alias is set to "_ci-build". This naming is necessary for the next step to work properly. -#### Add tasks +### 13. Add QA stage -Great, so your release pipeline has access to your artifacts, but it doesn't actually _do_ anything. Let's give it some work. +Great, so your release pipeline has access to your artifacts, but it doesn't actually _do_ anything. Let's give it some work. First, let's have it deploy to a quality assurance (QA) instance hosted with Azure Container Instances (ACI). Click on the hyperlinked text that says "1 job, 0 task" in the name of the stage. Click on the plus icon on the right hand side of the cell which says "Agent job." On the menu which appears, search for "Azure ML Model Deploy," and click "Add." + Click on the red text which says "Some settings need attention" and fill in the values shown in the table below: + +| Parameter | Value | +| --------------------------------- | ---------------------------------------------------------------------------------------------------- | +| Display Name | Azure ML Model Deploy | +| Azure ML Workspace | Fill in the name of your Azure ML service connection | +| Inference config Path | `$(System.DefaultWorkingDirectory)/_ci-build/mlops-pipelines/scripts/scoring/inference_config.yml` | +| Model Deployment Target | Azure Container Instance | +| Deployment Name | bert-stack-overflow-aci | +| Deployment Configuration file | `$(System.DefaultWorkingDirectory)/_ci-build/mlops-pipelines/scripts/scoring/deployment_config_aci.yml` | +| Overwrite existing deployment | X | + +Then click "Save." + +### 14. Add Prod Stage + +Under the box corresponding to the QA stage, click Prod. + +Click on the plus icon on the right hand side of the cell which says "Agent job." On the menu which appears, search for "Azure ML Model Deploy," and click "Add." + + Click on the red text which says "Some settings need attention" and fill in the values shown in the table below: + ![create release example](./images/deploy-task.png) Click on the red text which says "Some settings need attention" and fill in the values shown in the table below: @@ -242,7 +260,7 @@ After you enable continuous integration (next step), your pipeline should look l ![final-release](./images/final-release.png) -#### Enable continuous integration +### 14. Enable continuous integration Go to "Pipelines" -> "Releases," click on your new pipeline, then click "Edit." In the top right of each artifact you specified, you should see a lightning bolt. Click on this lightning bolt and then toggle the trigger for "Continuous deployment." This will ensure that the deployment is released every time one of these artifacts changes. Make sure to save your changes. @@ -250,7 +268,7 @@ To kick off your first deployment, click "Create release." ![create-release-button](./images/create-release-button.png) -### 12. Test your deployed model +### 15. Test your deployed model Open your machine learning workspace in the [Azure portal](portal.azure.com), and click on "Deployments" on the lefthand side. Open up your AKS cluster, and use the Scoring URI and Primary Key for this step. @@ -262,15 +280,18 @@ Let's see if we can submit a query to our deployed model! Open up a Python inter import json import requests - url = '' api_key = '' -payload = {'text': 'I am trying to release a website'} -headers = {'content-type': 'application/json', 'Authorization':('Bearer '+ api_key)} -response = requests.post(url, data=json.dumps(payload), headers=headers) -response_body = json.loads(response.content) # convert to dict for next step -print("Given your question of \"{}\", we predict the tag is {} with probability {}" - .format(payload.get("text"), response_body.get("prediction"), response_body.get("probability"))) + +def predict_tags(question_body): + payload = {'text': question_body} + headers = {'content-type': 'application/json', 'Authorization':('Bearer '+ api_key)} + response = requests.post(url, data=json.dumps(payload), headers=headers) + response_body = json.loads(response.content) # convert to dict for next step + print("Given your question of \"{}\", we predict the tag is {} with probability {}" + .format(payload.get("text"), response_body.get("prediction"), response_body.get("probability"))) + +predict_tags('How can I specify Service Principal in devops pipeline when deploying virtual machine?') ``` diff --git a/3-ML-Ops/scripts/scoring/deployment_config_aci.yml b/3-ML-Ops/scripts/scoring/deployment_config_aci.yml new file mode 100644 index 0000000..0990abb --- /dev/null +++ b/3-ML-Ops/scripts/scoring/deployment_config_aci.yml @@ -0,0 +1,4 @@ +containerResourceRequirements: + cpu: 1 + memoryInGB: 4 +computeType: ACI \ No newline at end of file diff --git a/3-ML-Ops/train-and-register-model.py b/3-ML-Ops/train-and-register-model.py index afae53b..45a7c68 100755 --- a/3-ML-Ops/train-and-register-model.py +++ b/3-ML-Ops/train-and-register-model.py @@ -50,14 +50,6 @@ def main(): if aml_compute is not None: print(aml_compute) - # Get AKS cluster for deployment - aks_compute = get_aks( - aml_workspace, - aks_name - ) - if aks_compute is not None: - print(aks_compute) - run_config = RunConfiguration(conda_dependencies=CondaDependencies.create( conda_packages=['numpy', 'pandas', 'scikit-learn', 'keras'], @@ -73,8 +65,7 @@ def main(): datastore_name = 'tfworld' container_name = 'azureml-blobstore-7c6bdd88-21fa-453a-9c80-16998f02935f' account_name = 'tfworld6818510241' - # sas_token = '?sv=2019-02-02&ss=bfqt&srt=sco&sp=rl&se=2019-11-08T05:12:15Z&st=2019-10-23T20:12:15Z&spr=https&sig=eDqnc51TkqiIklpQfloT5vcU70pgzDuKb5PAGTvCdx4%3D' # noqa: E501 - account_key = os.environ.get("DS_KEY") + sas_token = '?sv=2019-02-02&ss=bfqt&srt=sco&sp=rl&se=2019-11-08T05:12:15Z&st=2019-10-23T20:12:15Z&spr=https&sig=eDqnc51TkqiIklpQfloT5vcU70pgzDuKb5PAGTvCdx4%3D' # noqa: E501 try: existing_datastore = Datastore.get(aml_workspace, datastore_name) @@ -84,7 +75,7 @@ def main(): datastore_name=datastore_name, container_name=container_name, account_name=account_name, - account_key=account_key + sas_token=sas_token ) azure_dataset = Dataset.File.from_files( @@ -92,7 +83,9 @@ def main(): azure_dataset = azure_dataset.register( workspace=aml_workspace, name='Azure Services Dataset', - description='Dataset containing azure related posts on Stackoverflow') + description='Dataset containing azure related posts on Stackoverflow', + create_new_version=True) + azure_dataset.to_path() input_data = azure_dataset.as_named_input('input_data1').as_mount( '/tmp/data') @@ -176,6 +169,14 @@ def main(): workspace=aml_workspace, experiment_name=experiment_name) + # Get AKS cluster for deployment + aks_compute = get_aks( + aml_workspace, + aks_name + ) + if aks_compute is not None: + print(aks_compute) + if __name__ == '__main__': main() diff --git a/3-ML-Ops/util/attach_aks.py b/3-ML-Ops/util/attach_aks.py index 59ed627..e97c0d9 100755 --- a/3-ML-Ops/util/attach_aks.py +++ b/3-ML-Ops/util/attach_aks.py @@ -9,11 +9,10 @@ def get_aks( ): # Verify that cluster does not exist already try: - if compute_name in workspace.compute_targets: - aks_target = workspace.compute_targets[compute_name] - if aks_target and type(aks_target) is AksCompute: - print('Found existing compute target ' + compute_name - + ' so using it.') + aks_target = workspace.compute_targets.get(compute_name) + if aks_target is not None and type(aks_target) is AksCompute: + print('Found existing compute target ' + compute_name + + ' so using it.') # noqa: E127 else: prov_config = AksCompute.provisioning_configuration( cluster_purpose=AksCompute.ClusterPurpose.DEV_TEST) @@ -34,4 +33,4 @@ def get_aks( except ComputeTargetException as e: print(e) print('An error occurred trying to provision compute.') - exit() + raise From 23ff489690b90cab2ad90dbf8684cce7a94ee362 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 29 Oct 2019 17:43:45 +0000 Subject: [PATCH 12/22] Finished interpretability workshop --- ...ionClassifier_Interpretability_Local.ipynb | 471 ++++++++++++ ...onClassifier_Interpretability_Remote.ipynb | 678 ++++++++++++++++++ 4-Interpretibility/train_explain-model.py | 146 ++++ 3 files changed, 1295 insertions(+) create mode 100644 4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Local.ipynb create mode 100644 4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Remote.ipynb create mode 100644 4-Interpretibility/train_explain-model.py diff --git a/4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Local.ipynb b/4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Local.ipynb new file mode 100644 index 0000000..9fd8f70 --- /dev/null +++ b/4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Local.ipynb @@ -0,0 +1,471 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Interpretability With Tensorflow On Azure Machine Learning Service (Local)\n", + "\n", + "## Overview of Tutorial\n", + "This notebook is Part 4 (Explaining Your Model Using Interpretability) of a four part workshop that demonstrates an end-to-end workflow for using Tensorflow on Azure Machine Learning Service. The different components of the workshop are as follows:\n", + "\n", + "- Part 1: [Preparing Data and Model Training](https://github.com/microsoft/bert-stack-overflow/blob/master/1-Training/AzureServiceClassifier_Training.ipynb)\n", + "- Part 2: [Inferencing and Deploying a Model](https://github.com/microsoft/bert-stack-overflow/blob/master/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb)\n", + "- Part 3: [Setting Up a Pipeline Using MLOps](https://github.com/microsoft/bert-stack-overflow/tree/master/3-ML-Ops)\n", + "- Part 4: [Explaining Your Model Interpretability](https://github.com/microsoft/bert-stack-overflow/blob/master/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb)\n", + "\n", + "_**This notebook showcases how to use the Azure Machine Learning Interpretability SDK to train and explain a binary classification model locally.**_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## What is Azure Machine Learning Service?\n", + "Azure Machine Learning service is a cloud service that you can use to develop and deploy machine learning models. Using Azure Machine Learning service, you can track your models as you build, train, deploy, and manage them, all at the broad scale that the cloud provides.\n", + "![](./images/aml-overview.png)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## What Is Machine Learning Interpretability?\n", + "Interpretability is the ability to explain why your model made the predictions it did. The Azure Machine Learning service offers various interpretability features to help accomplish this task. These features include:\n", + "\n", + "- Feature importance values for both raw and engineered features.\n", + "- Interpretability on real-world datasets at scale, during training and inference.\n", + "- Interactive visualizations to aid you in the discovery of patterns in data and explanations at training time.\n", + "\n", + "By accurately interpretabiliting your model, it allows you to:\n", + "\n", + "- Use the insights for debugging your model.\n", + "- Validate model behavior matches their objectives.\n", + "- Check for for bias in the model.\n", + "- Build trust in your customers and stakeholders.\n", + "\n", + "![](./images/interpretability-architecture.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Change Tensorflow and Interpret Library Versions\n", + "\n", + "We will be using an older version (1.14) for this particular tutorial in the series as Tensorflow 2.0 is not yet supported for Interpretibility on Azure Machine Learning service. We will also be using version 0.1.0.4 of the interpret library. \n", + "\n", + "If haven't already done so, please update your library versions." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Uninstalling tensorflow-gpu-1.14.0:\n", + " Successfully uninstalled tensorflow-gpu-1.14.0\n", + "\u001b[33mWARNING: Skipping keras as it is not installed.\u001b[0m\n", + "Note: you may need to restart the kernel to use updated packages.\n", + "Collecting tensorflow-gpu==1.14\n", + " Using cached https://files.pythonhosted.org/packages/76/04/43153bfdfcf6c9a4c38ecdb971ca9a75b9a791bb69a764d652c359aca504/tensorflow_gpu-1.14.0-cp36-cp36m-manylinux1_x86_64.whl\n" + ] + } + ], + "source": [ + "%pip uninstall tensorflow-gpu keras --yes\n", + "%pip install tensorflow-gpu==1.14 interpret-community==0.1.0.4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After installing packages, you must close and reopen the notebook as well as restarting the kernel.\n", + "\n", + "Let's make sure we have the right verisons" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.14.0\n" + ] + } + ], + "source": [ + "import tensorflow as tf\n", + "import interpret_community\n", + "\n", + "print(tf.version.VERSION)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Train Model\n", + "For this tutorial, we will be using the *tf.keras module* to train a basic feed forward neural network on the IBM Employee Attrition Dataset. \n", + "\n", + "**We will start by writing the training script to train our model**" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train on 1176 samples, validate on 294 samples\n", + "Epoch 1/20\n", + "1176/1176 [==============================] - 0s 167us/sample - loss: 0.7689 - acc: 0.3903 - val_loss: 0.6767 - val_acc: 0.5306\n", + "Epoch 2/20\n", + "1176/1176 [==============================] - 0s 15us/sample - loss: 0.6253 - acc: 0.6105 - val_loss: 0.5807 - val_acc: 0.6939\n", + "Epoch 3/20\n", + "1176/1176 [==============================] - 0s 15us/sample - loss: 0.5428 - acc: 0.7594 - val_loss: 0.5112 - val_acc: 0.8061\n", + "Epoch 4/20\n", + "1176/1176 [==============================] - 0s 14us/sample - loss: 0.4828 - acc: 0.8231 - val_loss: 0.4612 - val_acc: 0.8265\n", + "Epoch 5/20\n", + "1176/1176 [==============================] - 0s 15us/sample - loss: 0.4437 - acc: 0.8359 - val_loss: 0.4345 - val_acc: 0.8333\n", + "Epoch 6/20\n", + "1176/1176 [==============================] - 0s 14us/sample - loss: 0.4219 - acc: 0.8401 - val_loss: 0.4150 - val_acc: 0.8435\n", + "Epoch 7/20\n", + "1176/1176 [==============================] - 0s 15us/sample - loss: 0.4060 - acc: 0.8401 - val_loss: 0.4043 - val_acc: 0.8401\n", + "Epoch 8/20\n", + "1176/1176 [==============================] - 0s 15us/sample - loss: 0.3947 - acc: 0.8410 - val_loss: 0.3952 - val_acc: 0.8435\n", + "Epoch 9/20\n", + "1176/1176 [==============================] - 0s 15us/sample - loss: 0.3842 - acc: 0.8410 - val_loss: 0.3868 - val_acc: 0.8469\n", + "Epoch 10/20\n", + "1176/1176 [==============================] - 0s 15us/sample - loss: 0.3736 - acc: 0.8444 - val_loss: 0.3795 - val_acc: 0.8469\n", + "Epoch 11/20\n", + "1176/1176 [==============================] - 0s 15us/sample - loss: 0.3640 - acc: 0.8452 - val_loss: 0.3713 - val_acc: 0.8469\n", + "Epoch 12/20\n", + "1176/1176 [==============================] - 0s 15us/sample - loss: 0.3543 - acc: 0.8520 - val_loss: 0.3663 - val_acc: 0.8469\n", + "Epoch 13/20\n", + "1176/1176 [==============================] - 0s 15us/sample - loss: 0.3448 - acc: 0.8537 - val_loss: 0.3611 - val_acc: 0.8537\n", + "Epoch 14/20\n", + "1176/1176 [==============================] - 0s 15us/sample - loss: 0.3362 - acc: 0.8580 - val_loss: 0.3576 - val_acc: 0.8537\n", + "Epoch 15/20\n", + "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3287 - acc: 0.8614 - val_loss: 0.3526 - val_acc: 0.8571\n", + "Epoch 16/20\n", + "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3206 - acc: 0.8707 - val_loss: 0.3479 - val_acc: 0.8503\n", + "Epoch 17/20\n", + "1176/1176 [==============================] - 0s 19us/sample - loss: 0.3134 - acc: 0.8776 - val_loss: 0.3450 - val_acc: 0.8639\n", + "Epoch 18/20\n", + "1176/1176 [==============================] - 0s 17us/sample - loss: 0.3061 - acc: 0.8801 - val_loss: 0.3438 - val_acc: 0.8639\n", + "Epoch 19/20\n", + "1176/1176 [==============================] - 0s 15us/sample - loss: 0.3005 - acc: 0.8861 - val_loss: 0.3422 - val_acc: 0.8673\n", + "Epoch 20/20\n", + "1176/1176 [==============================] - 0s 16us/sample - loss: 0.2950 - acc: 0.8903 - val_loss: 0.3402 - val_acc: 0.8741\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd \n", + "import numpy as np\n", + "import tensorflow as tf\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.compose import ColumnTransformer\n", + "from sklearn.pipeline import make_pipeline\n", + "from sklearn.impute import SimpleImputer\n", + "from sklearn.preprocessing import StandardScaler, OneHotEncoder\n", + "from sklearn.model_selection import train_test_split\n", + "\n", + "def preprocess_data(data):\n", + " '''\n", + " \n", + " '''\n", + " # Dropping Employee count as all values are 1 and hence attrition is independent of this feature\n", + " data = data.drop(['EmployeeCount'], axis=1)\n", + " \n", + " # Dropping Employee Number since it is merely an identifier\n", + " data = data.drop(['EmployeeNumber'], axis=1)\n", + " data = data.drop(['Over18'], axis=1)\n", + "\n", + " # Since all values are 80\n", + " data = data.drop(['StandardHours'], axis=1)\n", + "\n", + " # Converting target variables from string to numerical values\n", + " target_map = {'Yes': 1, 'No': 0}\n", + " data[\"Attrition_numerical\"] = data[\"Attrition\"].apply(lambda x: target_map[x])\n", + " target = data[\"Attrition_numerical\"]\n", + "\n", + " data.drop(['Attrition_numerical', 'Attrition'], axis=1, inplace=True)\n", + " \n", + " # Creating dummy columns for each categorical feature\n", + " categorical = []\n", + " for col, value in data.iteritems():\n", + " if value.dtype == 'object':\n", + " categorical.append(col)\n", + "\n", + " # Store the numerical columns in a list numerical\n", + " numerical = data.columns.difference(categorical) \n", + "\n", + " # We create the preprocessing pipelines for both numeric and categorical data.\n", + " numeric_transformer = Pipeline(steps=[\n", + " ('imputer', SimpleImputer(strategy='median')),\n", + " ('scaler', StandardScaler())])\n", + "\n", + " categorical_transformer = Pipeline(steps=[\n", + " ('imputer', SimpleImputer(strategy='constant', fill_value='missing')),\n", + " ('onehot', OneHotEncoder(handle_unknown='ignore'))])\n", + "\n", + " preprocess = ColumnTransformer(\n", + " transformers=[\n", + " ('num', numeric_transformer, numerical),\n", + " ('cat', categorical_transformer, categorical)])\n", + " \n", + " pipeline = make_pipeline(preprocess)\n", + "\n", + " # Split data into train and test sets\n", + " x_train, x_test, y_train, y_test = train_test_split(data, \n", + " target, \n", + " test_size=0.2,\n", + " random_state=0,\n", + " stratify=target)\n", + " \n", + " return x_train, x_test, y_train, y_test, pipeline, preprocess\n", + " \n", + "# Load and preprocess data\n", + "attrition_data = pd.read_csv('./data/data.csv')\n", + "x_train, x_test, y_train, y_test, pipeline, preprocess = preprocess_data(attrition_data)\n", + "\n", + "# Transform data\n", + "x_train_t = pipeline.fit_transform(x_train)\n", + "x_test_t = pipeline.transform(x_test)\n", + "\n", + "# Create model\n", + "model = tf.keras.models.Sequential()\n", + "model.add(tf.keras.layers.Dense(units=16, activation='relu', input_shape=(x_train_t.shape[1],)))\n", + "model.add(tf.keras.layers.Dense(units=16, activation='relu'))\n", + "model.add(tf.keras.layers.Dense(units=1, activation='sigmoid'))\n", + "\n", + "# Compile model\n", + "model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy']) \n", + "\n", + "# Fit model\n", + "model.fit(x_train_t, y_train, epochs=20, verbose=1, batch_size=128, validation_data=(x_test_t, y_test))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Explain Model Locally\n", + "\n", + "We will start by explaining the trained model locally." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Instantiate the explainer object using trained model.**" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "from interpret.ext.greybox import DeepExplainer\n", + "\n", + "explainer = DeepExplainer(model,\n", + " x_train,\n", + " features=x_train.columns,\n", + " classes=[\"STAYING\", \"LEAVING\"], \n", + " transformations = preprocess,\n", + " model_task=\"classification\",\n", + " is_classifier=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Generate global explanations**" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "# Passing in test dataset for evaluation examples - note it must be a representative sample of the original data\n", + "# x_train can be passed as well, but with more examples explanations will take longer although they may be more accurate\n", + "global_explanation = explainer.explain_global(x_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "global importance rank: {'EducationField': 0.053873279205873495, 'JobSatisfaction': 0.03953571012067353, 'OverTime': 0.038583560133207156, 'NumCompaniesWorked': 0.03640758117990181, 'MaritalStatus': 0.029883175044257942, 'YearsSinceLastPromotion': 0.02740686255297018, 'WorkLifeBalance': 0.025936746100254413, 'Age': 0.025243059923775336, 'EnvironmentSatisfaction': 0.024909378453501194, 'JobRole': 0.024056074550579537, 'JobInvolvement': 0.023541541358297214, 'YearsInCurrentRole': 0.020543295211741034, 'MonthlyIncome': 0.02048903332178757, 'RelationshipSatisfaction': 0.017865455491885895, 'Department': 0.016978380925069186, 'DistanceFromHome': 0.016530930528834187, 'BusinessTravel': 0.014322739471855634, 'TotalWorkingYears': 0.012453615317841563, 'DailyRate': 0.011737043367600794, 'StockOptionLevel': 0.011188063218993892, 'YearsWithCurrManager': 0.01045222903210198, 'YearsAtCompany': 0.00971274163942977, 'HourlyRate': 0.00966349132097822, 'PercentSalaryHike': 0.008843251050813376, 'JobLevel': 0.007890152720531868, 'Gender': 0.007496610022988447, 'MonthlyRate': 0.005103606391774755, 'TrainingTimesLastYear': 0.004966644990881875, 'Education': 0.0046528384198318215, 'PerformanceRating': 0.004132269554156894}\n" + ] + } + ], + "source": [ + "# Print out a dictionary that holds the sorted feature importance names and values\n", + "print('global importance rank: {}'.format(global_explanation.get_feature_importance_dict()))" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ranked per class feature names: [['EducationField', 'JobSatisfaction', 'OverTime', 'NumCompaniesWorked', 'MaritalStatus', 'YearsSinceLastPromotion', 'WorkLifeBalance', 'Age', 'EnvironmentSatisfaction', 'JobRole', 'JobInvolvement', 'YearsInCurrentRole', 'MonthlyIncome', 'RelationshipSatisfaction', 'Department', 'DistanceFromHome', 'BusinessTravel', 'TotalWorkingYears', 'DailyRate', 'StockOptionLevel', 'YearsWithCurrManager', 'YearsAtCompany', 'HourlyRate', 'PercentSalaryHike', 'JobLevel', 'Gender', 'MonthlyRate', 'TrainingTimesLastYear', 'Education', 'PerformanceRating'], ['EducationField', 'JobSatisfaction', 'OverTime', 'NumCompaniesWorked', 'MaritalStatus', 'YearsSinceLastPromotion', 'WorkLifeBalance', 'Age', 'EnvironmentSatisfaction', 'JobRole', 'JobInvolvement', 'YearsInCurrentRole', 'MonthlyIncome', 'RelationshipSatisfaction', 'Department', 'DistanceFromHome', 'BusinessTravel', 'TotalWorkingYears', 'DailyRate', 'StockOptionLevel', 'YearsWithCurrManager', 'YearsAtCompany', 'HourlyRate', 'PercentSalaryHike', 'JobLevel', 'Gender', 'MonthlyRate', 'TrainingTimesLastYear', 'Education', 'PerformanceRating']]\n", + "ranked per class feature values: [[0.053873279205873495, 0.03953571012067353, 0.038583560133207156, 0.03640758117990181, 0.029883175044257942, 0.02740686255297018, 0.025936746100254413, 0.025243059923775336, 0.024909378453501194, 0.024056074550579537, 0.023541541358297214, 0.020543295211741034, 0.02048903332178757, 0.017865455491885895, 0.016978380925069186, 0.016530930528834187, 0.014322739471855634, 0.012453615317841563, 0.011737043367600794, 0.011188063218993892, 0.01045222903210198, 0.00971274163942977, 0.00966349132097822, 0.008843251050813376, 0.007890152720531868, 0.007496610022988447, 0.005103606391774755, 0.004966644990881875, 0.0046528384198318215, 0.004132269554156894], [0.053873279205873495, 0.03953571012067353, 0.038583560133207156, 0.03640758117990181, 0.029883175044257942, 0.02740686255297018, 0.025936746100254413, 0.025243059923775336, 0.024909378453501194, 0.024056074550579537, 0.023541541358297214, 0.020543295211741034, 0.02048903332178757, 0.017865455491885895, 0.016978380925069186, 0.016530930528834187, 0.014322739471855634, 0.012453615317841563, 0.011737043367600794, 0.011188063218993892, 0.01045222903210198, 0.00971274163942977, 0.00966349132097822, 0.008843251050813376, 0.007890152720531868, 0.007496610022988447, 0.005103606391774755, 0.004966644990881875, 0.0046528384198318215, 0.004132269554156894]]\n" + ] + } + ], + "source": [ + "# Per class feature names\n", + "print('ranked per class feature names: {}'.format(global_explanation.get_ranked_per_class_names()))\n", + "\n", + "# Per class feature importance values\n", + "print('ranked per class feature values: {}'.format(global_explanation.get_ranked_per_class_values()))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Generate local explanations**" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "local importance values: [[[0.04342116583138704, 0.03674833151006784, 0.022893913795502326, 0.016427155338850478, 0.014972139429301024, 0.011560527652549094, 0.009173502097810305, 0.008018425133635074, 0.005188390924937305, 0.0039744281295333705, 0.0039462783451609, 0.003842337903712896, 0.002779007529655213, 0.0023964009358080716, 0.0018396283919989028, 0.0012093021415323102, 0.0009178496431559324, 0.00018800738107529468, 0.0, 0.0, 0.0, -4.9312862829227565e-05, -0.0008976143394395346, -0.0034775503413386846, -0.005650149990708967, -0.00817697712711508, -0.015045928765388503, -0.015105825511097477, -0.018208197918336413, -0.0426478537150794]], [[0.0426478537150794, 0.018208197918336413, 0.015105825511097477, 0.015045928765388503, 0.00817697712711508, 0.005650149990708967, 0.0034775503413386846, 0.0008976143394395346, 4.9312862829227565e-05, 0.0, 0.0, 0.0, -0.00018800738107529468, -0.0009178496431559324, -0.0012093021415323102, -0.0018396283919989028, -0.0023964009358080716, -0.002779007529655213, -0.003842337903712896, -0.0039462783451609, -0.0039744281295333705, -0.005188390924937305, -0.008018425133635074, -0.009173502097810305, -0.011560527652549094, -0.014972139429301024, -0.016427155338850478, -0.022893913795502326, -0.03674833151006784, -0.04342116583138704]]]\n", + "local importance names: [[['EducationField', 'MonthlyIncome', 'Age', 'WorkLifeBalance', 'MaritalStatus', 'DailyRate', 'YearsSinceLastPromotion', 'JobSatisfaction', 'NumCompaniesWorked', 'PerformanceRating', 'YearsAtCompany', 'RelationshipSatisfaction', 'StockOptionLevel', 'DistanceFromHome', 'MonthlyRate', 'TotalWorkingYears', 'Gender', 'JobRole', 'OverTime', 'BusinessTravel', 'Department', 'JobLevel', 'Education', 'TrainingTimesLastYear', 'PercentSalaryHike', 'HourlyRate', 'YearsInCurrentRole', 'JobInvolvement', 'YearsWithCurrManager', 'EnvironmentSatisfaction']], [['EnvironmentSatisfaction', 'YearsWithCurrManager', 'JobInvolvement', 'YearsInCurrentRole', 'HourlyRate', 'PercentSalaryHike', 'TrainingTimesLastYear', 'Education', 'JobLevel', 'OverTime', 'Department', 'BusinessTravel', 'JobRole', 'Gender', 'TotalWorkingYears', 'MonthlyRate', 'DistanceFromHome', 'StockOptionLevel', 'RelationshipSatisfaction', 'YearsAtCompany', 'PerformanceRating', 'NumCompaniesWorked', 'JobSatisfaction', 'YearsSinceLastPromotion', 'DailyRate', 'MaritalStatus', 'WorkLifeBalance', 'Age', 'MonthlyIncome', 'EducationField']]]\n" + ] + } + ], + "source": [ + "# You can pass a specific data point or a group of data points to the explain_local function\n", + "# E.g., Explain the first data point in the test set\n", + "instance_num = 1\n", + "local_explanation = explainer.explain_local(x_test[:instance_num])\n", + "\n", + "sorted_local_importance_values = local_explanation.get_ranked_local_values()\n", + "sorted_local_importance_names = local_explanation.get_ranked_local_names()\n", + "\n", + "print('local importance values: {}'.format(sorted_local_importance_values))\n", + "print('local importance names: {}'.format(sorted_local_importance_names))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Visualize our explanations**" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6c51020c3c474312bb30b7e1cfffa455", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "ExplanationWidget(value={'predictedY': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from interpret_community.widget import ExplanationDashboard\n", + "from interpret_community.common.model_wrapper import wrap_model\n", + "from interpret_community.dataset.dataset_wrapper import DatasetWrapper\n", + "from sklearn.pipeline import Pipeline\n", + "\n", + "wrapped_model, ml_domain = wrap_model(model, DatasetWrapper(x_test_t), \"classification\")\n", + "wrapped_model.fit = model.fit\n", + "dashboard_pipeline = Pipeline(steps=[('preprocess', preprocess), ('network', wrapped_model)])\n", + "ExplanationDashboard(global_explanation, dashboard_pipeline, datasetX=x_test)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Remote.ipynb b/4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Remote.ipynb new file mode 100644 index 0000000..0192342 --- /dev/null +++ b/4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Remote.ipynb @@ -0,0 +1,678 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Copyright (c) Microsoft Corporation. All rights reserved.\n", + "\n", + "Licensed under the MIT License." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![Impressions](https://PixelServer20190423114238.azurewebsites.net/api/impressions/MachineLearningNotebooks/how-to-use-azureml/explain-model/explain-on-amlcompute/regression-sklearn-on-amlcompute.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Interpretability With Tensorflow On Azure Machine Learning Service (Remote)\n", + "\n", + "\n", + "## Overview of Tutorial\n", + "This notebook is Part 4 (Explaining Your Model Using Interpretability) of a four part workshop that demonstrates an end-to-end workflow for using Tensorflow on Azure Machine Learning Service. The different components of the workshop are as follows:\n", + "\n", + "- Part 1: [Preparing Data and Model Training](https://github.com/microsoft/bert-stack-overflow/blob/master/1-Training/AzureServiceClassifier_Training.ipynb)\n", + "- Part 2: [Inferencing and Deploying a Model](https://github.com/microsoft/bert-stack-overflow/blob/master/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb)\n", + "- Part 3: [Setting Up a Pipeline Using MLOps](https://github.com/microsoft/bert-stack-overflow/tree/master/3-ML-Ops)\n", + "- Part 4: [Explaining Your Model Interpretability](https://github.com/microsoft/bert-stack-overflow/blob/master/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb)\n", + "\n", + "_**This notebook showcases how to use the Azure Machine Learning Interpretability SDK to train and explain a binary classification model remotely on an Azure Machine Leanrning Compute Target (AMLCompute).**_\n", + "\n", + "## Table of Contents\n", + "\n", + "1. [Introduction](#Introduction)\n", + "1. [Setup](#Setup)\n", + " 1. Initialize a Workspace\n", + " 1. Create an Experiment\n", + " 1. Introduction to AmlCompute\n", + " 1. Submit an AmlCompute run \n", + "1. Additional operations to perform on AmlCompute\n", + "1. [Download model explanations from Azure Machine Learning Run History](#Download)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Introduction\n", + "\n", + "This notebook showcases how to train and explain a binary classification model remotely via Azure Machine Learning Compute (AMLCompute), and download the calculated explanations locally on your personal machine.\n", + "It demonstrates the API calls that you need to make to submit a run for training and explaining a model to AMLCompute, and download the compute explanations remotely.\n", + "\n", + "We will showcase one of the tabular data explainers: TabularExplainer (SHAP).\n", + "\n", + "Problem: Employee Attrition Classification Problem\n", + "\n", + "\n", + "\n", + "![](./images/interpretability-architecture.png)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Change Tensorflow and Interpret Library Versions\n", + "\n", + "We will be using an older version (1.14) for this particular tutorial in the series as Tensorflow 2.0 is not yet supported for Interpretibility on Azure Machine Learning service. We will also be using version 0.1.0.4 of the interpret library. \n", + "\n", + "If haven't already done so, please update your library versions." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting azureml.contrib.interpret\n", + " Using cached https://files.pythonhosted.org/packages/05/cf/05ff8cc39de0c97bc1fd564dc618a8256ff5b2f08446556fc73435e69652/azureml_contrib_interpret-1.0.69-py3-none-any.whl\n", + "Requirement already satisfied, skipping upgrade: azureml-interpret==1.0.69.* in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from azureml.contrib.interpret) (1.0.69)\n", + "Collecting interpret-community==0.1.0.2 (from azureml-interpret==1.0.69.*->azureml.contrib.interpret)\n", + " Using cached https://files.pythonhosted.org/packages/8b/3b/a7eb6beac2d8b21ea442ffe73d90b236e89c97bc6e2c805bcb96ed2c0bdf/interpret_community-0.1.0.2-py3-none-any.whl\n", + "Requirement already satisfied, skipping upgrade: shap<=0.29.3,>=0.20.0 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.29.3)\n", + "Requirement already satisfied, skipping upgrade: interpret>=0.1.17 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.1.18)\n", + "Requirement already satisfied, skipping upgrade: pandas in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.23.4)\n", + "Requirement already satisfied, skipping upgrade: packaging in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (19.2)\n", + "Requirement already satisfied, skipping upgrade: scipy in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.1.0)\n", + "Requirement already satisfied, skipping upgrade: scikit-learn in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.20.3)\n", + "Requirement already satisfied, skipping upgrade: numpy in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.16.2)\n", + "Requirement already satisfied, skipping upgrade: matplotlib in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (3.1.1)\n", + "Requirement already satisfied, skipping upgrade: tqdm>4.25.0 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (4.36.1)\n", + "Requirement already satisfied, skipping upgrade: scikit-image in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.16.1)\n", + "Requirement already satisfied, skipping upgrade: ipython in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (7.8.0)\n", + "Requirement already satisfied, skipping upgrade: interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.1.18)\n", + "Requirement already satisfied, skipping upgrade: python-dateutil>=2.5.0 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from pandas->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (2.8.0)\n", + "Requirement already satisfied, skipping upgrade: pytz>=2011k in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from pandas->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (2019.3)\n", + "Requirement already satisfied, skipping upgrade: six in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from packaging->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.12.0)\n", + "Requirement already satisfied, skipping upgrade: pyparsing>=2.0.2 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from packaging->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (2.4.2)\n", + "Requirement already satisfied, skipping upgrade: kiwisolver>=1.0.1 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from matplotlib->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.1.0)\n", + "Requirement already satisfied, skipping upgrade: cycler>=0.10 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from matplotlib->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.10.0)\n", + "Requirement already satisfied, skipping upgrade: imageio>=2.3.0 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from scikit-image->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (2.6.0)\n", + "Requirement already satisfied, skipping upgrade: pillow>=4.3.0 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from scikit-image->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (6.2.0)\n", + "Requirement already satisfied, skipping upgrade: PyWavelets>=0.4.0 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from scikit-image->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.0.3)\n", + "Requirement already satisfied, skipping upgrade: networkx>=2.0 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from scikit-image->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (2.3)\n", + "Requirement already satisfied, skipping upgrade: pygments in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from ipython->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (2.4.2)\n", + "Requirement already satisfied, skipping upgrade: pexpect; sys_platform != \"win32\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from ipython->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (4.7.0)\n", + "Requirement already satisfied, skipping upgrade: prompt-toolkit<2.1.0,>=2.0.0 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from ipython->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (2.0.10)\n", + "Requirement already satisfied, skipping upgrade: backcall in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from ipython->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.1.0)\n", + "Requirement already satisfied, skipping upgrade: decorator in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from ipython->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (4.4.0)\n", + "Requirement already satisfied, skipping upgrade: setuptools>=18.5 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from ipython->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (41.4.0)\n", + "Requirement already satisfied, skipping upgrade: jedi>=0.10 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from ipython->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.15.1)\n", + "Requirement already satisfied, skipping upgrade: traitlets>=4.2 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from ipython->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (4.3.3)\n", + "Requirement already satisfied, skipping upgrade: pickleshare in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from ipython->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.7.5)\n", + "Requirement already satisfied, skipping upgrade: dash>=1.0.0; extra == \"dash\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.4.0)\n", + "Requirement already satisfied, skipping upgrade: dash-table>=4.1.0; extra == \"dash\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (4.4.0)\n", + "Requirement already satisfied, skipping upgrade: gevent>=1.3.6; extra == \"dash\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.4.0)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied, skipping upgrade: dash-cytoscape>=0.1.1; extra == \"dash\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.1.1)\n", + "Requirement already satisfied, skipping upgrade: requests>=2.19.0; extra == \"dash\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (2.22.0)\n", + "Requirement already satisfied, skipping upgrade: psutil>=5.6.2; extra == \"debug\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (5.6.3)\n", + "Requirement already satisfied, skipping upgrade: joblib>=0.11; extra == \"decisiontree\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.13.2)\n", + "Requirement already satisfied, skipping upgrade: lime>=0.1.1.33; extra == \"lime\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.1.1.36)\n", + "Requirement already satisfied, skipping upgrade: ipykernel>=5.1.0; extra == \"notebook\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (5.1.2)\n", + "Requirement already satisfied, skipping upgrade: plotly>=3.8.1; extra == \"plotly\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (4.1.1)\n", + "Requirement already satisfied, skipping upgrade: SALib>=1.3.3; extra == \"sensitivity\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.3.8)\n", + "Requirement already satisfied, skipping upgrade: dill>=0.2.5; extra == \"shap\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.3.1.1)\n", + "Requirement already satisfied, skipping upgrade: treeinterpreter>=0.2.2; extra == \"treeinterpreter\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.2.2)\n", + "Requirement already satisfied, skipping upgrade: ptyprocess>=0.5 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from pexpect; sys_platform != \"win32\"->ipython->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.6.0)\n", + "Requirement already satisfied, skipping upgrade: wcwidth in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from prompt-toolkit<2.1.0,>=2.0.0->ipython->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.1.7)\n", + "Requirement already satisfied, skipping upgrade: parso>=0.5.0 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from jedi>=0.10->ipython->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.5.1)\n", + "Requirement already satisfied, skipping upgrade: ipython-genutils in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from traitlets>=4.2->ipython->shap<=0.29.3,>=0.20.0->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.2.0)\n", + "Requirement already satisfied, skipping upgrade: dash-core-components==1.3.0 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from dash>=1.0.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.3.0)\n", + "Requirement already satisfied, skipping upgrade: dash-renderer==1.1.1 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from dash>=1.0.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.1.1)\n", + "Requirement already satisfied, skipping upgrade: flask-compress in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from dash>=1.0.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.4.0)\n", + "Requirement already satisfied, skipping upgrade: Flask>=1.0.2 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from dash>=1.0.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.1.1)\n", + "Requirement already satisfied, skipping upgrade: future in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from dash>=1.0.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.18.0)\n", + "Requirement already satisfied, skipping upgrade: dash-html-components==1.0.1 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from dash>=1.0.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.0.1)\n", + "Requirement already satisfied, skipping upgrade: greenlet>=0.4.14 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from gevent>=1.3.6; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.4.15)\n", + "Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from requests>=2.19.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.24.2)\n", + "Requirement already satisfied, skipping upgrade: chardet<3.1.0,>=3.0.2 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from requests>=2.19.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (3.0.4)\n", + "Requirement already satisfied, skipping upgrade: idna<2.9,>=2.5 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from requests>=2.19.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (2.8)\n", + "Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from requests>=2.19.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (2019.9.11)\n", + "Requirement already satisfied, skipping upgrade: tornado>=4.2 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from ipykernel>=5.1.0; extra == \"notebook\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (6.0.3)\n", + "Requirement already satisfied, skipping upgrade: jupyter-client in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from ipykernel>=5.1.0; extra == \"notebook\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (5.3.3)\n", + "Requirement already satisfied, skipping upgrade: retrying>=1.3.3 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from plotly>=3.8.1; extra == \"plotly\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.3.3)\n", + "Requirement already satisfied, skipping upgrade: itsdangerous>=0.24 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from Flask>=1.0.2->dash>=1.0.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.1.0)\n", + "Requirement already satisfied, skipping upgrade: Werkzeug>=0.15 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from Flask>=1.0.2->dash>=1.0.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (0.16.0)\n", + "Requirement already satisfied, skipping upgrade: click>=5.1 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from Flask>=1.0.2->dash>=1.0.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (7.0)\n", + "Requirement already satisfied, skipping upgrade: Jinja2>=2.10.1 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from Flask>=1.0.2->dash>=1.0.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (2.10.3)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied, skipping upgrade: jupyter-core in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from jupyter-client->ipykernel>=5.1.0; extra == \"notebook\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (4.5.0)\n", + "Requirement already satisfied, skipping upgrade: pyzmq>=13 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from jupyter-client->ipykernel>=5.1.0; extra == \"notebook\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (18.1.0)\n", + "Requirement already satisfied, skipping upgrade: MarkupSafe>=0.23 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from Jinja2>=2.10.1->Flask>=1.0.2->dash>=1.0.0; extra == \"dash\"->interpret-core[dash,debug,decisiontree,ebm,lime,linear,notebook,plotly,required,sensitivity,shap,treeinterpreter]>=0.1.18->interpret>=0.1.17->interpret-community==0.1.0.2->azureml-interpret==1.0.69.*->azureml.contrib.interpret) (1.1.1)\n", + "Installing collected packages: azureml.contrib.interpret, interpret-community\n", + " Found existing installation: interpret-community 0.1.0.4\n", + " Uninstalling interpret-community-0.1.0.4:\n", + " Successfully uninstalled interpret-community-0.1.0.4\n", + "Successfully installed azureml.contrib.interpret interpret-community-0.1.0.2\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "%pip uninstall tensorflow-gpu keras --yes\n", + "%pip install tensorflow-gpu==1.14 interpret-community==0.1.0.4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After installing packages, you must close and reopen the notebook as well as restarting the kernel.\n", + "\n", + "Let's make sure we have the right verisons" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.14.0\n" + ] + } + ], + "source": [ + "import tensorflow as tf\n", + "import interpret_community\n", + "\n", + "print(tf.version.VERSION)" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "SDK version: 1.0.69\n" + ] + } + ], + "source": [ + "# Check core SDK version number\n", + "import azureml.core\n", + "\n", + "print(\"SDK version:\", azureml.core.VERSION)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connect To Workspace\n", + "\n", + "Just like in the previous tutorials, we will need to connect to a [workspace](https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace(class)?view=azure-ml-py).\n", + "\n", + "The following code will allow you to create a workspace if you don't already have one created. You must have an Azure subscription to create a workspace:\n", + "\n", + "```python\n", + "from azureml.core import Workspace\n", + "ws = Workspace.create(name='myworkspace',\n", + " subscription_id='',\n", + " resource_group='myresourcegroup',\n", + " create_resource_group=True,\n", + " location='eastus2')\n", + "```\n", + "\n", + "**If you are running this on a Notebook VM, you can import the existing workspace.**" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "tags": [ + "create workspace" + ] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "107835-aml-ws\n", + "aml-rg-107835\n", + "southcentralus\n", + "07a3b836-0813-4c05-afd4-3a7ab00358d9\n" + ] + } + ], + "source": [ + "from azureml.core import Workspace\n", + "\n", + "ws = Workspace.from_config()\n", + "print(ws.name, ws.resource_group, ws.location, ws.subscription_id, sep='\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "> **Note:** that the above commands reads a config.json file that exists by default within the Notebook VM. If you are running this locally or want to use a different workspace, you must add a config file to your project directory. The config file should have the following schema:\n", + "\n", + "```\n", + " {\n", + " \"subscription_id\": \"\",\n", + " \"resource_group\": \"\",\n", + " \"workspace_name\": \"\"\n", + " }\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create An Experiment\n", + "\n", + "**Experiment** is a logical container in an Azure ML Workspace. It hosts run records which can include run metrics and output artifacts from your experiments." + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [], + "source": [ + "from azureml.core import Experiment\n", + "experiment_name = 'explainer-remote-run-tfworld19'\n", + "experiment = Experiment(workspace=ws, name=experiment_name)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create Compute Target\n", + "\n", + "A [compute target](https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.computetarget?view=azure-ml-py) is a designated compute resource/environment where you run your training script or host your service deployment. This location may be your local machine or a cloud-based compute resource. Compute targets can be reused across the workspace for different runs and experiments. \n", + "\n", + "**If you completed tutorial 1 of this series, then you should have already created a compute target and can skip this step**\n", + "\n", + "Otherwise, run the cell below to create an auto-scaling [Azure Machine Learning Compute](https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.compute.amlcompute?view=azure-ml-py) cluster, which is a managed-compute infrastructure that allows the user to easily create a single or multi-node compute. To create the cluster, we need to specify the following parameters:\n", + "\n", + "- `vm_size`: The is the type of GPUs that we want to use in our cluster. For this tutorial, we will use **Standard_NC12s_v3 (NVIDIA V100) GPU Machines** .\n", + "- `idle_seconds_before_scaledown`: This is the number of seconds before a node will scale down in our auto-scaling cluster. We will set this to **6000** seconds. \n", + "- `min_nodes`: This is the minimum numbers of nodes that the cluster will have. To avoid paying for compute while they are not being used, we will set this to **0** nodes.\n", + "- `max_modes`: This is the maximum number of nodes that the cluster will scale up to. Will will set this to **2** nodes.\n", + "\n", + "**When jobs are submitted to the cluster it takes approximately 5 minutes to allocate new nodes** " + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Succeeded\n", + "AmlCompute wait for completion finished\n", + "Minimum number of nodes requested have been provisioned\n" + ] + } + ], + "source": [ + "from azureml.core.compute import AmlCompute, ComputeTarget\n", + "\n", + "cluster_name = 'v100cluster'\n", + "compute_config = AmlCompute.provisioning_configuration(vm_size='Standard_NC12s_v3', \n", + " idle_seconds_before_scaledown=6000,\n", + " min_nodes=0, \n", + " max_nodes=2)\n", + "\n", + "compute_target = ComputeTarget.create(ws, cluster_name, compute_config)\n", + "compute_target.wait_for_completion(show_output=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**If you already have the compute target created, then you can directly run this cell.**" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [], + "source": [ + "compute_target = ws.compute_targets['v100cluster']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Submit Experiment Run\n", + "\n", + "Now that our compute is ready, we can begin to submit our run." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Create project directory\n", + "\n", + "Create a directory that will contain all the necessary code from your local machine that you will need access to on the remote resource. This includes the training script, and any additional files your training script depends on" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'./TFworld-explainer-remote-run-on-amlcompute/train_explain-model-new.py'" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import os\n", + "import shutil\n", + "\n", + "project_folder = './TFworld-explainer-remote-run-on-amlcompute'\n", + "os.makedirs(project_folder, exist_ok=True)\n", + "shutil.copy('train_explain-model.py', project_folder)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Submit job to cluster" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
ExperimentIdTypeStatusDetails PageDocs Page
explainer-remote-run-tfworld19explainer-remote-run-tfworld19_1572370636_1133d2cbazureml.scriptrunStartingLink to Azure PortalLink to Documentation
" + ], + "text/plain": [ + "Run(Experiment: explainer-remote-run-tfworld19,\n", + "Id: explainer-remote-run-tfworld19_1572370636_1133d2cb,\n", + "Type: azureml.scriptrun,\n", + "Status: Starting)" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from azureml.core.runconfig import RunConfiguration\n", + "from azureml.core.conda_dependencies import CondaDependencies\n", + "from azureml.core.runconfig import DEFAULT_CPU_IMAGE\n", + "\n", + "# create a new runconfig object\n", + "run_config = RunConfiguration()\n", + "\n", + "# signal that you want to use our cluster to execute script.\n", + "run_config.target = compute_target\n", + "\n", + "# enable Docker \n", + "run_config.environment.docker.enabled = True\n", + "\n", + "# set Docker base image to the default CPU-based image\n", + "run_config.environment.docker.base_image = DEFAULT_CPU_IMAGE\n", + "\n", + "# use conda_dependencies.yml to create a conda environment in the Docker image for execution\n", + "run_config.environment.python.user_managed_dependencies = False\n", + "\n", + "\n", + "pip_packages = [\n", + " 'azureml-defaults', 'azureml-core', 'azureml-telemetry',\n", + " 'azureml-dataprep', 'sklearn', 'sklearn-pandas', 'tensorflow==1.14.0',\n", + " 'azureml-contrib-interpret', 'azureml-interpret'\n", + "]\n", + "\n", + "\n", + "index_url = 'https://azuremlsdktestpypi.azureedge.net/sdk-release/Candidate/604C89A437BA41BD942B4F46D9A3591D/'\n", + "run_config.environment.python.conda_dependencies = CondaDependencies.create(pip_packages=pip_packages,\n", + " pin_sdk_version=False, \n", + " pip_indexurl=index_url)\n", + "\n", + "\n", + "\n", + "# Now submit a run on AmlCompute\n", + "from azureml.core.script_run_config import ScriptRunConfig\n", + "\n", + "script_run_config = ScriptRunConfig(source_directory=project_folder,\n", + " script='train_explain-model.py',\n", + " run_config=run_config)\n", + "\n", + "run = experiment.submit(script_run_config)\n", + "\n", + "# Show run details\n", + "run" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note: if you need to cancel a run, you can follow [these instructions](https://aka.ms/aml-docs-cancel-run)." + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "802964a7c376442ea492a5092fe887a5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "_UserRunWidget(widget_settings={'childWidgetDisplay': 'popup', 'send_telemetry': False, 'log_level': 'INFO', '…" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from azureml.widgets import RunDetails\n", + "RunDetails(run).show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Download \n", + "Download model explanation data." + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [], + "source": [ + "from azureml.contrib.interpret.explanation.explanation_client import ExplanationClient\n", + "\n", + "# Get model explanation data\n", + "client = ExplanationClient.from_run(run)\n", + "global_explanation = client.download_model_explanation()\n", + "local_importance_values = global_explanation.local_importance_values\n", + "expected_values = global_explanation.expected_values\n" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [], + "source": [ + "# Or you can use the saved run.id to retrive the feature importance values\n", + "client = ExplanationClient.from_run_id(ws, experiment_name, run.id)\n", + "global_explanation = client.download_model_explanation()\n", + "local_importance_values = global_explanation.local_importance_values\n", + "expected_values = global_explanation.expected_values" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [], + "source": [ + "# Get the top k (e.g., 4) most important features with their importance values\n", + "global_explanation_topk = client.download_model_explanation(top_k=4)\n", + "global_importance_values = global_explanation_topk.get_ranked_global_values()\n", + "global_importance_names = global_explanation_topk.get_ranked_global_names()" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "global importance values: [0.03999193825435882, 0.031464853252919395, 0.02760060189002182, 0.02456048385916402]\n", + "global importance names: ['OverTime', 'MaritalStatus', 'EducationField', 'JobRole']\n" + ] + } + ], + "source": [ + "print('global importance values: {}'.format(global_importance_values))\n", + "print('global importance names: {}'.format(global_importance_names))" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [], + "source": [ + "# Get the top k (e.g., 4) most important features with their importance values\n", + "global_explanation = client.download_model_explanation()\n", + "global_importance_values = global_explanation.get_ranked_global_values()\n", + "global_importance_names = global_explanation.get_ranked_global_names()" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "global importance values: [0.03999193825435882, 0.031464853252919395, 0.02760060189002182, 0.02456048385916402, 0.02258847868616334, 0.022035631877649273, 0.020207199700294994, 0.020114264275080666, 0.019977203398518766, 0.019378221757655807, 0.0170920545860935, 0.015884334486342123, 0.01586617894132825, 0.013408480313220787, 0.012007829060718718, 0.011751867982559418, 0.011463914137255388, 0.011372582275944364, 0.01032799605886111, 0.010208142977892548, 0.010004060575232718, 0.009948627988387974, 0.008879074315566815, 0.008483158706590357, 0.007304193859418363, 0.0056123067810683784, 0.005469643877212432, 0.005419917839260414, 0.004600788428833444, 0.0044333516100935]\n", + "global importance names: ['OverTime', 'MaritalStatus', 'EducationField', 'JobRole', 'YearsInCurrentRole', 'Age', 'JobSatisfaction', 'EnvironmentSatisfaction', 'RelationshipSatisfaction', 'TrainingTimesLastYear', 'JobInvolvement', 'WorkLifeBalance', 'DistanceFromHome', 'Department', 'NumCompaniesWorked', 'JobLevel', 'StockOptionLevel', 'YearsSinceLastPromotion', 'YearsWithCurrManager', 'MonthlyIncome', 'TotalWorkingYears', 'DailyRate', 'YearsAtCompany', 'BusinessTravel', 'Gender', 'MonthlyRate', 'PerformanceRating', 'PercentSalaryHike', 'HourlyRate', 'Education']\n" + ] + } + ], + "source": [ + "print('global importance values: {}'.format(global_importance_values))\n", + "print('global importance names: {}'.format(global_importance_names))" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'OverTime': 0.03999193825435882, 'MaritalStatus': 0.031464853252919395, 'EducationField': 0.02760060189002182, 'JobRole': 0.02456048385916402, 'YearsInCurrentRole': 0.02258847868616334, 'Age': 0.022035631877649273, 'JobSatisfaction': 0.020207199700294994, 'EnvironmentSatisfaction': 0.020114264275080666, 'RelationshipSatisfaction': 0.019977203398518766, 'TrainingTimesLastYear': 0.019378221757655807, 'JobInvolvement': 0.0170920545860935, 'WorkLifeBalance': 0.015884334486342123, 'DistanceFromHome': 0.01586617894132825, 'Department': 0.013408480313220787, 'NumCompaniesWorked': 0.012007829060718718, 'JobLevel': 0.011751867982559418, 'StockOptionLevel': 0.011463914137255388, 'YearsSinceLastPromotion': 0.011372582275944364, 'YearsWithCurrManager': 0.01032799605886111, 'MonthlyIncome': 0.010208142977892548, 'TotalWorkingYears': 0.010004060575232718, 'DailyRate': 0.009948627988387974, 'YearsAtCompany': 0.008879074315566815, 'BusinessTravel': 0.008483158706590357, 'Gender': 0.007304193859418363, 'MonthlyRate': 0.0056123067810683784, 'PerformanceRating': 0.005469643877212432, 'PercentSalaryHike': 0.005419917839260414, 'HourlyRate': 0.004600788428833444, 'Education': 0.0044333516100935}\n" + ] + } + ], + "source": [ + "print(global_explanation.get_feature_importance_dict())" + ] + } + ], + "metadata": { + "authors": [ + { + "name": "mesameki" + } + ], + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/4-Interpretibility/train_explain-model.py b/4-Interpretibility/train_explain-model.py new file mode 100644 index 0000000..735479e --- /dev/null +++ b/4-Interpretibility/train_explain-model.py @@ -0,0 +1,146 @@ +# --------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# --------------------------------------------------------- + +import os +import pandas as pd +import zipfile +from sklearn.model_selection import train_test_split +from sklearn.externals import joblib +from sklearn.preprocessing import StandardScaler, OneHotEncoder +from sklearn.impute import SimpleImputer +from sklearn.pipeline import Pipeline +from sklearn.pipeline import make_pipeline + +from azureml.core.run import Run + +OUTPUT_DIR = './outputs/' +os.makedirs(OUTPUT_DIR, exist_ok=True) + +# get the IBM employee attrition dataset +outdirname = 'dataset.6.21.19' +try: + from urllib import urlretrieve +except ImportError: + from urllib.request import urlretrieve +zipfilename = outdirname + '.zip' +urlretrieve('https://publictestdatasets.blob.core.windows.net/data/' + zipfilename, zipfilename) +with zipfile.ZipFile(zipfilename, 'r') as unzip: + unzip.extractall('.') +attritionData = pd.read_csv('./WA_Fn-UseC_-HR-Employee-Attrition.csv') + +# dropping Employee count as all values are 1 and hence attrition is independent of this feature +attritionData = attritionData.drop(['EmployeeCount'], axis=1) +# dropping Employee Number since it is merely an identifier +attritionData = attritionData.drop(['EmployeeNumber'], axis=1) +attritionData = attritionData.drop(['Over18'], axis=1) +# since all values are 80 +attritionData = attritionData.drop(['StandardHours'], axis=1) + +# converting target variables from string to numerical values +target_map = {'Yes': 1, 'No': 0} +attritionData["Attrition_numerical"] = attritionData["Attrition"].apply(lambda x: target_map[x]) +target = attritionData["Attrition_numerical"] + +attritionXData = attritionData.drop(['Attrition_numerical', 'Attrition'], axis=1) + +# Creating dummy columns for each categorical feature +categorical = [] +for col, value in attritionXData.iteritems(): + if value.dtype == 'object': + categorical.append(col) + +# Store the numerical columns in a list numerical +numerical = attritionXData.columns.difference(categorical) + + +from sklearn.compose import ColumnTransformer + +# We create the preprocessing pipelines for both numeric and categorical data. +numeric_transformer = Pipeline(steps=[ + ('imputer', SimpleImputer(strategy='median')), + ('scaler', StandardScaler())]) + +categorical_transformer = Pipeline(steps=[ + ('imputer', SimpleImputer(strategy='constant', fill_value='missing')), + ('onehot', OneHotEncoder(handle_unknown='ignore'))]) + +preprocess = ColumnTransformer( + transformers=[ + ('num', numeric_transformer, numerical), + ('cat', categorical_transformer, categorical)]) + +pipeline = make_pipeline(preprocess) + + +X_train, X_test, y_train, y_test = train_test_split(attritionXData, + target, + test_size=0.2, + random_state=0, + stratify=target) + +X_train_t = pipeline.fit_transform(X_train) +X_test_t = pipeline.transform(X_test) + +# check tensorflow version +import tensorflow as tf +from distutils.version import StrictVersion + +print(tf.__version__) +# Append classifier to preprocessing pipeline. +# Now we have a full prediction pipeline. + + +network = tf.keras.models.Sequential() +network.add(tf.keras.layers.Dense(units=16, activation='relu', input_shape=(X_train_t.shape[1],))) +network.add(tf.keras.layers.Dense(units=16, activation='relu')) +network.add(tf.keras.layers.Dense(units=1, activation='sigmoid')) + +# Compile neural network +network.compile(loss='binary_crossentropy', # Cross-entropy + optimizer='rmsprop', # Root Mean Square Propagation + metrics=['accuracy']) # Accuracy performance metric + +# Train neural network +history = network.fit(X_train_t, # Features + y_train, # Target vector + epochs=20, # Number of epochs + verbose=1, # Print description after each epoch + batch_size=100, # Number of observations per batch + validation_data=(X_test_t, y_test)) # Data for evaluation + + + + +# You can run the DeepExplainer directly, or run the TabularExplainer which will choose the most appropriate explainer +from interpret.ext.greybox import DeepExplainer +explainer = DeepExplainer(network, + X_train, + features=X_train.columns, + classes=["STAYING", "LEAVING"], + transformations=preprocess, + model_task="classification", + is_classifier=True + ) + +# you can use the training data or the test data here +global_explanation = explainer.explain_global(X_test) +# You can pass a specific data point or a group of data points to the explain_local function +# E.g., Explain the first data point in the test set +instance_num = 1 +local_explanation = explainer.explain_local(X_test[:instance_num]) + + +# get the run this was submitted from to interact with run history +run = Run.get_context() + +from azureml.contrib.interpret.explanation.explanation_client import ExplanationClient + +# create an explanation client to store the explanation (contrib API) +client = ExplanationClient.from_run(run) + +# uploading model explanation data for storage or visualization +comment = 'Global explanation on classification model trained on IBM employee attrition dataset' +client.upload_model_explanation(global_explanation, comment=comment) + +network.save('./outputs/model.h5') From ebd56f9b52a6902b85c12641f56e6f629796c994 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 29 Oct 2019 17:52:08 +0000 Subject: [PATCH 13/22] Removing old file --- ...AttritionClassifier_Interpretability.ipynb | 762 ------------------ 1 file changed, 762 deletions(-) delete mode 100644 4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb diff --git a/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb b/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb deleted file mode 100644 index 554e289..0000000 --- a/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb +++ /dev/null @@ -1,762 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Interpretability With Tensorflow On Azure Machine Learning Service\n", - "\n", - "## Overview of Tutorial\n", - "This notebook is Part 4 (Explaining Your Model Using Interpretability) of a four part workshop that demonstrates an end-to-end workflow for using Tensorflow on Azure Machine Learning Service. The different components of the workshop are as follows:\n", - "\n", - "- Part 1: [Preparing Data and Model Training](https://github.com/microsoft/bert-stack-overflow/blob/master/1-Training/AzureServiceClassifier_Training.ipynb)\n", - "- Part 2: [Inferencing and Deploying a Model](https://github.com/microsoft/bert-stack-overflow/blob/master/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb)\n", - "- Part 3: [Setting Up a Pipeline Using MLOps](https://github.com/microsoft/bert-stack-overflow/tree/master/3-ML-Ops)\n", - "- Part 4: [Explaining Your Model Interpretability](https://github.com/microsoft/bert-stack-overflow/blob/master/4-Interpretibility/IBMEmployeeAttritionClassifier_Interpretability.ipynb)\n", - "\n", - "**In this specific tutorial, we will cover the following topics:**\n", - "\n", - "- TODO\n", - "- TODO" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## What is Azure Machine Learning Service?\n", - "Azure Machine Learning service is a cloud service that you can use to develop and deploy machine learning models. Using Azure Machine Learning service, you can track your models as you build, train, deploy, and manage them, all at the broad scale that the cloud provides.\n", - "![](./images/aml-overview.png)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## What Is Machine Learning Interpretability?\n", - "Interpretability is the ability to explain why your model made the predictions it did. The Azure Machine Learning service offers various interpretability features to help accomplish this task. These features include:\n", - "\n", - "- Feature importance values for both raw and engineered features.\n", - "- Interpretability on real-world datasets at scale, during training and inference.\n", - "- Interactive visualizations to aid you in the discovery of patterns in data and explanations at training time.\n", - "\n", - "By accurately interpretabiliting your model, it allows you to:\n", - "\n", - "- Use the insights for debugging your model.\n", - "- Validate model behavior matches their objectives.\n", - "- Check for for bias in the model.\n", - "- Build trust in your customers and stakeholders.\n", - "\n", - "![](./images/interpretability-architecture.png)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Install Azure Machine Learning Python SDK\n", - "\n", - "If you are running this on a Notebook VM, the Azure Machine Learning Python SDK is installed by default. If you are running this locally, you can follow these [instructions](https://docs.microsoft.com/en-us/python/api/overview/azure/ml/install?view=azure-ml-py) to install it using pip.\n", - "\n", - "This tutorial series requires version 1.0.69 or higher. We can import the Python SDK to ensure it has been properly installed:" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Azure Machine Learning Python SDK version: 1.0.69\n" - ] - } - ], - "source": [ - "import azureml.core\n", - "\n", - "print(\"Azure Machine Learning Python SDK version:\", azureml.core.VERSION)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Install Tensorflow 1.14\n", - "\n", - "We will be using an older version (1.14) for this particular tutorial in the series as Tensorflow 2.0 is not yet supported for Interpretibility on Azure Machine Learning service. If are currently running Tensorflow 2.0, run the code below to downgrade the version." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "%pip uninstall tensorflow-gpu keras --yes\n", - "%pip install tensorflow-gpu==1.14" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's make sure we have the right verison." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'1.14.0'" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import tensorflow as tf\n", - "tf.version.VERSION" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connect To Workspace\n", - "\n", - "Just like in the previous tutorials, we will need to connect to a [workspace](https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace(class)?view=azure-ml-py).\n", - "\n", - "The following code will allow you to create a workspace if you don't already have one created. You must have an Azure subscription to create a workspace:\n", - "\n", - "```python\n", - "from azureml.core import Workspace\n", - "ws = Workspace.create(name='myworkspace',\n", - " subscription_id='',\n", - " resource_group='myresourcegroup',\n", - " create_resource_group=True,\n", - " location='eastus2')\n", - "```\n", - "\n", - "**If you are running this on a Notebook VM, you can import the existing workspace.**" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Workspace name: tf-world\n", - "Azure region: eastus\n", - "Subscription id: 15ae9cb6-95c1-483d-a0e3-b1a1a3b06324\n", - "Resource group: tf-world\n" - ] - } - ], - "source": [ - "from azureml.core import Workspace\n", - "\n", - "workspace = Workspace.from_config()\n", - "print('Workspace name: ' + workspace.name, \n", - " 'Azure region: ' + workspace.location, \n", - " 'Subscription id: ' + workspace.subscription_id, \n", - " 'Resource group: ' + workspace.resource_group, sep = '\\n')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "> **Note:** that the above commands reads a config.json file that exists by default within the Notebook VM. If you are running this locally or want to use a different workspace, you must add a config file to your project directory. The config file should have the following schema:\n", - "\n", - "```\n", - " {\n", - " \"subscription_id\": \"\",\n", - " \"resource_group\": \"\",\n", - " \"workspace_name\": \"\"\n", - " }\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Train Model\n", - "For this tutorial, we will be using the *tf.keras module* to train a basic feed forward neural network on the IBM Employee Attrition Dataset. \n", - "\n", - "**We will start by writing the training script to train our model**" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "WARNING - From /anaconda/envs/azureml_py36/lib/python3.6/site-packages/tensorflow/python/ops/init_ops.py:1251: calling VarianceScaling.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.\n", - "Instructions for updating:\n", - "Call initializer instance with the dtype argument instead of passing it to the constructor\n", - "WARNING - From /anaconda/envs/azureml_py36/lib/python3.6/site-packages/tensorflow/python/ops/nn_impl.py:180: add_dispatch_support..wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.\n", - "Instructions for updating:\n", - "Use tf.where in 2.0, which has the same broadcast rule as np.where\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Train on 1176 samples, validate on 294 samples\n", - "Epoch 1/20\n", - "1176/1176 [==============================] - 0s 175us/sample - loss: 0.5150 - acc: 0.8308 - val_loss: 0.4791 - val_acc: 0.8401\n", - "Epoch 2/20\n", - "1176/1176 [==============================] - 0s 19us/sample - loss: 0.4637 - acc: 0.8376 - val_loss: 0.4502 - val_acc: 0.8401\n", - "Epoch 3/20\n", - "1176/1176 [==============================] - 0s 16us/sample - loss: 0.4375 - acc: 0.8376 - val_loss: 0.4307 - val_acc: 0.8401\n", - "Epoch 4/20\n", - "1176/1176 [==============================] - 0s 17us/sample - loss: 0.4187 - acc: 0.8384 - val_loss: 0.4157 - val_acc: 0.8401\n", - "Epoch 5/20\n", - "1176/1176 [==============================] - 0s 16us/sample - loss: 0.4052 - acc: 0.8384 - val_loss: 0.4067 - val_acc: 0.8401\n", - "Epoch 6/20\n", - "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3958 - acc: 0.8384 - val_loss: 0.3992 - val_acc: 0.8401\n", - "Epoch 7/20\n", - "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3879 - acc: 0.8384 - val_loss: 0.3936 - val_acc: 0.8401\n", - "Epoch 8/20\n", - "1176/1176 [==============================] - 0s 17us/sample - loss: 0.3800 - acc: 0.8384 - val_loss: 0.3875 - val_acc: 0.8401\n", - "Epoch 9/20\n", - "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3725 - acc: 0.8384 - val_loss: 0.3834 - val_acc: 0.8401\n", - "Epoch 10/20\n", - "1176/1176 [==============================] - 0s 17us/sample - loss: 0.3660 - acc: 0.8384 - val_loss: 0.3788 - val_acc: 0.8401\n", - "Epoch 11/20\n", - "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3594 - acc: 0.8401 - val_loss: 0.3753 - val_acc: 0.8401\n", - "Epoch 12/20\n", - "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3520 - acc: 0.8401 - val_loss: 0.3700 - val_acc: 0.8401\n", - "Epoch 13/20\n", - "1176/1176 [==============================] - 0s 17us/sample - loss: 0.3450 - acc: 0.8418 - val_loss: 0.3686 - val_acc: 0.8401\n", - "Epoch 14/20\n", - "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3386 - acc: 0.8435 - val_loss: 0.3668 - val_acc: 0.8401\n", - "Epoch 15/20\n", - "1176/1176 [==============================] - 0s 17us/sample - loss: 0.3323 - acc: 0.8461 - val_loss: 0.3633 - val_acc: 0.8469\n", - "Epoch 16/20\n", - "1176/1176 [==============================] - 0s 17us/sample - loss: 0.3262 - acc: 0.8512 - val_loss: 0.3598 - val_acc: 0.8537\n", - "Epoch 17/20\n", - "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3202 - acc: 0.8588 - val_loss: 0.3589 - val_acc: 0.8537\n", - "Epoch 18/20\n", - "1176/1176 [==============================] - 0s 17us/sample - loss: 0.3147 - acc: 0.8597 - val_loss: 0.3563 - val_acc: 0.8639\n", - "Epoch 19/20\n", - "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3094 - acc: 0.8639 - val_loss: 0.3541 - val_acc: 0.8571\n", - "Epoch 20/20\n", - "1176/1176 [==============================] - 0s 16us/sample - loss: 0.3044 - acc: 0.8724 - val_loss: 0.3518 - val_acc: 0.8639\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import pandas as pd \n", - "import numpy as np\n", - "import tensorflow as tf\n", - "from sklearn.pipeline import Pipeline\n", - "from sklearn.compose import ColumnTransformer\n", - "from sklearn.pipeline import make_pipeline\n", - "from sklearn.impute import SimpleImputer\n", - "from sklearn.preprocessing import StandardScaler, OneHotEncoder\n", - "from sklearn.model_selection import train_test_split\n", - "\n", - "def preprocess_data(data):\n", - " '''\n", - " \n", - " '''\n", - " # Dropping Employee count as all values are 1 and hence attrition is independent of this feature\n", - " data = data.drop(['EmployeeCount'], axis=1)\n", - " \n", - " # Dropping Employee Number since it is merely an identifier\n", - " data = data.drop(['EmployeeNumber'], axis=1)\n", - " data = data.drop(['Over18'], axis=1)\n", - "\n", - " # Since all values are 80\n", - " data = data.drop(['StandardHours'], axis=1)\n", - "\n", - " # Converting target variables from string to numerical values\n", - " target_map = {'Yes': 1, 'No': 0}\n", - " data[\"Attrition_numerical\"] = data[\"Attrition\"].apply(lambda x: target_map[x])\n", - " target = data[\"Attrition_numerical\"]\n", - "\n", - " data.drop(['Attrition_numerical', 'Attrition'], axis=1, inplace=True)\n", - " \n", - " # Creating dummy columns for each categorical feature\n", - " categorical = []\n", - " for col, value in data.iteritems():\n", - " if value.dtype == 'object':\n", - " categorical.append(col)\n", - "\n", - " # Store the numerical columns in a list numerical\n", - " numerical = data.columns.difference(categorical) \n", - "\n", - " # We create the preprocessing pipelines for both numeric and categorical data.\n", - " numeric_transformer = Pipeline(steps=[\n", - " ('imputer', SimpleImputer(strategy='median')),\n", - " ('scaler', StandardScaler())])\n", - "\n", - " categorical_transformer = Pipeline(steps=[\n", - " ('imputer', SimpleImputer(strategy='constant', fill_value='missing')),\n", - " ('onehot', OneHotEncoder(handle_unknown='ignore'))])\n", - "\n", - " preprocess = ColumnTransformer(\n", - " transformers=[\n", - " ('num', numeric_transformer, numerical),\n", - " ('cat', categorical_transformer, categorical)])\n", - " \n", - " pipeline = make_pipeline(preprocess)\n", - "\n", - " # Split data into train and test sets\n", - " x_train, x_test, y_train, y_test = train_test_split(data, \n", - " target, \n", - " test_size=0.2,\n", - " random_state=0,\n", - " stratify=target)\n", - " \n", - " return x_train, x_test, y_train, y_test, pipeline, preprocess\n", - " \n", - "# Load and preprocess data\n", - "attrition_data = pd.read_csv('./data/data.csv')\n", - "x_train, x_test, y_train, y_test, pipeline, preprocess = preprocess_data(attrition_data)\n", - "\n", - "# Transform data\n", - "x_train_t = pipeline.fit_transform(x_train)\n", - "x_test_t = pipeline.transform(x_test)\n", - "\n", - "# Create model\n", - "model = tf.keras.models.Sequential()\n", - "model.add(tf.keras.layers.Dense(units=16, activation='relu', input_shape=(x_train_t.shape[1],)))\n", - "model.add(tf.keras.layers.Dense(units=16, activation='relu'))\n", - "model.add(tf.keras.layers.Dense(units=1, activation='sigmoid'))\n", - "\n", - "# Compile model\n", - "model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy']) \n", - "\n", - "# Fit model\n", - "model.fit(x_train_t, y_train, epochs=20, verbose=1, batch_size=128, validation_data=(x_test_t, y_test))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Explain Model Locally\n", - "\n", - "We will start by explaining the trained model locally." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Instantiate the explainer object using trained model.**" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "WARNING - From /anaconda/envs/azureml_py36/lib/python3.6/site-packages/shap/explainers/deep/deep_tf.py:118: The name tf.keras.backend.get_session is deprecated. Please use tf.compat.v1.keras.backend.get_session instead.\n", - "\n" - ] - } - ], - "source": [ - "from interpret.ext.greybox import DeepExplainer\n", - "\n", - "explainer = DeepExplainer(model,\n", - " x_train,\n", - " features=x_train.columns,\n", - " classes=[\"STAYING\", \"LEAVING\"], \n", - " transformations = preprocess,\n", - " model_task=\"classification\",\n", - " is_classifier=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Generate local explanations**" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "local importance values: [[[0.02745935619113111, 0.02388463189410146, 0.020942007144913077, 0.02072276084300257, 0.01591142771356663, 0.01487850179481488, 0.012745772539601552, 0.009650989505462348, 0.00963469324633479, 0.008773050403817054, 0.006977637853967165, 0.005644893143529896, 0.005188455890287827, 0.0037072910350359166, 0.003232530595886378, 0.001697204236677791, 0.0016097691412437006, 0.0014667453432869921, 0.0, 0.0, 0.0, -0.0004357534955488518, -0.0017016542948617964, -0.0024226699168295633, -0.005660104808416575, -0.009158367349154066, -0.01248942909341209, -0.012904132188475203, -0.018412580084532233, -0.018687076805216047]], [[0.018687076805216047, 0.018412580084532233, 0.012904132188475203, 0.01248942909341209, 0.009158367349154066, 0.005660104808416575, 0.0024226699168295633, 0.0017016542948617964, 0.0004357534955488518, 0.0, 0.0, 0.0, -0.0014667453432869921, -0.0016097691412437006, -0.001697204236677791, -0.003232530595886378, -0.0037072910350359166, -0.005188455890287827, -0.005644893143529896, -0.006977637853967165, -0.008773050403817054, -0.00963469324633479, -0.009650989505462348, -0.012745772539601552, -0.01487850179481488, -0.01591142771356663, -0.02072276084300257, -0.020942007144913077, -0.02388463189410146, -0.02745935619113111]]]\n", - "local importance names: [[['TotalWorkingYears', 'JobLevel', 'EducationField', 'YearsSinceLastPromotion', 'WorkLifeBalance', 'DailyRate', 'DistanceFromHome', 'JobRole', 'MaritalStatus', 'Age', 'NumCompaniesWorked', 'MonthlyIncome', 'StockOptionLevel', 'PercentSalaryHike', 'YearsAtCompany', 'JobSatisfaction', 'RelationshipSatisfaction', 'MonthlyRate', 'BusinessTravel', 'OverTime', 'Department', 'Gender', 'Education', 'PerformanceRating', 'HourlyRate', 'YearsInCurrentRole', 'JobInvolvement', 'TrainingTimesLastYear', 'YearsWithCurrManager', 'EnvironmentSatisfaction']], [['EnvironmentSatisfaction', 'YearsWithCurrManager', 'TrainingTimesLastYear', 'JobInvolvement', 'YearsInCurrentRole', 'HourlyRate', 'PerformanceRating', 'Education', 'Gender', 'BusinessTravel', 'Department', 'OverTime', 'MonthlyRate', 'RelationshipSatisfaction', 'JobSatisfaction', 'YearsAtCompany', 'PercentSalaryHike', 'StockOptionLevel', 'MonthlyIncome', 'NumCompaniesWorked', 'Age', 'MaritalStatus', 'JobRole', 'DistanceFromHome', 'DailyRate', 'WorkLifeBalance', 'YearsSinceLastPromotion', 'EducationField', 'JobLevel', 'TotalWorkingYears']]]\n" - ] - } - ], - "source": [ - "# You can pass a specific data point or a group of data points to the explain_local function\n", - "# E.g., Explain the first data point in the test set\n", - "instance_num = 1\n", - "local_explanation = explainer.explain_local(x_test[:instance_num])\n", - "\n", - "sorted_local_importance_values = local_explanation.get_ranked_local_values()\n", - "sorted_local_importance_names = local_explanation.get_ranked_local_names()\n", - "\n", - "print('local importance values: {}'.format(sorted_local_importance_values))\n", - "print('local importance names: {}'.format(sorted_local_importance_names))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Generate global explanations**" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "global importance rank: {'NumCompaniesWorked': 0.03417471731378875, 'EducationField': 0.03277963455957586, 'OverTime': 0.03186986137032637, 'StockOptionLevel': 0.027491102002814863, 'DistanceFromHome': 0.02726175194254244, 'DailyRate': 0.026943844012963694, 'Department': 0.02673539651506227, 'YearsSinceLastPromotion': 0.0242831720212505, 'EnvironmentSatisfaction': 0.023014777976693532, 'JobRole': 0.021821173867686894, 'TotalWorkingYears': 0.021542080085869175, 'TrainingTimesLastYear': 0.020734608450857426, 'YearsWithCurrManager': 0.020032447284073274, 'RelationshipSatisfaction': 0.018775204327377625, 'YearsInCurrentRole': 0.01746664967347312, 'JobInvolvement': 0.014602441754769383, 'MaritalStatus': 0.014237106674383018, 'WorkLifeBalance': 0.014229805121233768, 'JobSatisfaction': 0.01347278631249912, 'JobLevel': 0.012899359471362863, 'Age': 0.01128978592129426, 'HourlyRate': 0.009253448266305697, 'PercentSalaryHike': 0.00885626675733648, 'BusinessTravel': 0.008690116201352011, 'Gender': 0.007315523818717685, 'PerformanceRating': 0.006569386481453725, 'Education': 0.006429576965858625, 'MonthlyIncome': 0.006015271597339995, 'MonthlyRate': 0.0059935155732225185, 'YearsAtCompany': 0.0054440447010206975}\n", - "ranked per class feature names: [['NumCompaniesWorked', 'EducationField', 'OverTime', 'StockOptionLevel', 'DistanceFromHome', 'DailyRate', 'Department', 'YearsSinceLastPromotion', 'EnvironmentSatisfaction', 'JobRole', 'TotalWorkingYears', 'TrainingTimesLastYear', 'YearsWithCurrManager', 'RelationshipSatisfaction', 'YearsInCurrentRole', 'JobInvolvement', 'MaritalStatus', 'WorkLifeBalance', 'JobSatisfaction', 'JobLevel', 'Age', 'HourlyRate', 'PercentSalaryHike', 'BusinessTravel', 'Gender', 'PerformanceRating', 'Education', 'MonthlyIncome', 'MonthlyRate', 'YearsAtCompany'], ['NumCompaniesWorked', 'EducationField', 'OverTime', 'StockOptionLevel', 'DistanceFromHome', 'DailyRate', 'Department', 'YearsSinceLastPromotion', 'EnvironmentSatisfaction', 'JobRole', 'TotalWorkingYears', 'TrainingTimesLastYear', 'YearsWithCurrManager', 'RelationshipSatisfaction', 'YearsInCurrentRole', 'JobInvolvement', 'MaritalStatus', 'WorkLifeBalance', 'JobSatisfaction', 'JobLevel', 'Age', 'HourlyRate', 'PercentSalaryHike', 'BusinessTravel', 'Gender', 'PerformanceRating', 'Education', 'MonthlyIncome', 'MonthlyRate', 'YearsAtCompany']]\n", - "ranked per class feature values: [[0.03417471731378875, 0.03277963455957586, 0.03186986137032637, 0.027491102002814863, 0.02726175194254244, 0.026943844012963694, 0.02673539651506227, 0.0242831720212505, 0.023014777976693532, 0.021821173867686894, 0.021542080085869175, 0.020734608450857426, 0.020032447284073274, 0.018775204327377625, 0.01746664967347312, 0.014602441754769383, 0.014237106674383018, 0.014229805121233768, 0.01347278631249912, 0.012899359471362863, 0.01128978592129426, 0.009253448266305697, 0.00885626675733648, 0.008690116201352011, 0.007315523818717685, 0.006569386481453725, 0.006429576965858625, 0.006015271597339995, 0.0059935155732225185, 0.0054440447010206975], [0.03417471731378875, 0.03277963455957586, 0.03186986137032637, 0.027491102002814863, 0.02726175194254244, 0.026943844012963694, 0.02673539651506227, 0.0242831720212505, 0.023014777976693532, 0.021821173867686894, 0.021542080085869175, 0.020734608450857426, 0.020032447284073274, 0.018775204327377625, 0.01746664967347312, 0.014602441754769383, 0.014237106674383018, 0.014229805121233768, 0.01347278631249912, 0.012899359471362863, 0.01128978592129426, 0.009253448266305697, 0.00885626675733648, 0.008690116201352011, 0.007315523818717685, 0.006569386481453725, 0.006429576965858625, 0.006015271597339995, 0.0059935155732225185, 0.0054440447010206975]]\n" - ] - } - ], - "source": [ - "# Passing in test dataset for evaluation examples - note it must be a representative sample of the original data\n", - "# x_train can be passed as well, but with more examples explanations will take longer although they may be more accurate\n", - "global_explanation = explainer.explain_global(x_test)\n", - "\n", - "# Print out a dictionary that holds the sorted feature importance names and values\n", - "print('global importance rank: {}'.format(global_explanation.get_feature_importance_dict()))\n", - "\n", - "# Per class feature names\n", - "print('ranked per class feature names: {}'.format(global_explanation.get_ranked_per_class_names()))\n", - "\n", - "# Per class feature importance values\n", - "print('ranked per class feature values: {}'.format(global_explanation.get_ranked_per_class_values()))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Visualize our explanations**" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8a3c428474304950b4d1e2427a354e74", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "ExplanationWidget(value={'predictedY': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from interpret_community.widget import ExplanationDashboard\n", - "from interpret_community.common.model_wrapper import wrap_model\n", - "from interpret_community.dataset.dataset_wrapper import DatasetWrapper\n", - "from sklearn.pipeline import Pipeline\n", - "\n", - "wrapped_model, ml_domain = wrap_model(model, DatasetWrapper(x_test_t), \"classification\")\n", - "wrapped_model.fit = model.fit\n", - "dashboard_pipeline = Pipeline(steps=[('preprocess', preprocess), ('network', wrapped_model)])\n", - "ExplanationDashboard(global_explanation, dashboard_pipeline, datasetX=x_test)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Explain Model On Azure Machine Learning Service\n", - "\n", - "Now let's train our model on Azure Machine Learning service and explain remotely.\n", - "\n", - "**Instead of running our script in the notebook, let's start by writing the script to a train.py file.**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "%%writefile train.py\n", - "import pandas as pd \n", - "import numpy as np\n", - "import tensorflow as tf\n", - "from sklearn.pipeline import Pipeline\n", - "from sklearn.compose import ColumnTransformer\n", - "from sklearn.pipeline import make_pipeline\n", - "from sklearn.impute import SimpleImputer\n", - "from sklearn.preprocessing import StandardScaler, OneHotEncoder\n", - "from sklearn.model_selection import train_test_split\n", - "\n", - "def preprocess_data(data):\n", - " '''\n", - " \n", - " '''\n", - " # Dropping Employee count as all values are 1 and hence attrition is independent of this feature\n", - " data = data.drop(['EmployeeCount'], axis=1)\n", - " \n", - " # Dropping Employee Number since it is merely an identifier\n", - " data = data.drop(['EmployeeNumber'], axis=1)\n", - " data = data.drop(['Over18'], axis=1)\n", - "\n", - " # Since all values are 80\n", - " data = data.drop(['StandardHours'], axis=1)\n", - "\n", - " # Converting target variables from string to numerical values\n", - " target_map = {'Yes': 1, 'No': 0}\n", - " data[\"Attrition_numerical\"] = data[\"Attrition\"].apply(lambda x: target_map[x])\n", - " target = data[\"Attrition_numerical\"]\n", - "\n", - " data.drop(['Attrition_numerical', 'Attrition'], axis=1, inplace=True)\n", - " \n", - " # Creating dummy columns for each categorical feature\n", - " categorical = []\n", - " for col, value in data.iteritems():\n", - " if value.dtype == 'object':\n", - " categorical.append(col)\n", - "\n", - " # Store the numerical columns in a list numerical\n", - " numerical = data.columns.difference(categorical) \n", - "\n", - " # We create the preprocessing pipelines for both numeric and categorical data.\n", - " numeric_transformer = Pipeline(steps=[\n", - " ('imputer', SimpleImputer(strategy='median')),\n", - " ('scaler', StandardScaler())])\n", - "\n", - " categorical_transformer = Pipeline(steps=[\n", - " ('imputer', SimpleImputer(strategy='constant', fill_value='missing')),\n", - " ('onehot', OneHotEncoder(handle_unknown='ignore'))])\n", - "\n", - " preprocess = ColumnTransformer(\n", - " transformers=[\n", - " ('num', numeric_transformer, numerical),\n", - " ('cat', categorical_transformer, categorical)])\n", - " \n", - " pipeline = make_pipeline(preprocess)\n", - "\n", - " # Split data into train and test sets\n", - " x_train, x_test, y_train, y_test = train_test_split(data, \n", - " target, \n", - " test_size=0.2,\n", - " random_state=0,\n", - " stratify=target)\n", - " \n", - " return x_train, x_test, y_train, y_test, pipeline, preprocess\n", - " \n", - "# Load and preprocess data\n", - "attrition_data = pd.read_csv('./data/data.csv')\n", - "x_train, x_test, y_train, y_test, pipeline, preprocess = preprocess_data(attrition_data)\n", - "\n", - "# Transform data\n", - "x_train_t = pipeline.fit_transform(x_train)\n", - "x_test_t = pipeline.transform(x_test)\n", - "\n", - "# Create model\n", - "model = tf.keras.models.Sequential()\n", - "model.add(tf.keras.layers.Dense(units=16, activation='relu', input_shape=(x_train_t.shape[1],)))\n", - "model.add(tf.keras.layers.Dense(units=16, activation='relu'))\n", - "model.add(tf.keras.layers.Dense(units=1, activation='sigmoid'))\n", - "\n", - "# Compile model\n", - "model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy']) \n", - "\n", - "# Fit model\n", - "model.fit(x_train_t, y_train, epochs=20, verbose=1, batch_size=128, validation_data=(x_test_t, y_test))\n", - "\n", - "# Save model\n", - "model.save('./outputs/model.h5')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Now submit the script to be run on the cluster that was created in tutorial 1**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from azureml.train.dnn import TensorFlow\n", - "\n", - "compute_target = workspace.compute_targets['v100cluster']\n", - "\n", - "estimator = TensorFlow(source_directory='.',\n", - " entry_script='train.py',\n", - " compute_target=compute_target,\n", - " framework_version='1.13',\n", - " use_gpu=True)\n", - "\n", - "run = experiment.submit(estimator)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Monitor the run as usual**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from azureml.widgets import RunDetails\n", - "RunDetails(run1).show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Register the trained model which we will use to explain**" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "model = run.register_model(model_name='ibm-attrition-classifier', \n", - " model_path='./outputs/model.h5',\n", - " description='IBM Employee Attrition data classifier')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TODO: Explain on AML Compute**" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Explain A Deployed Model\n", - "\n", - "Now let's deploy our model and explain during runtime.\n", - "\n", - "**TODO**" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Next Steps\n", - "Learn about other use cases of the explain package on a:\n", - " \n", - "1. [Training time: regression problem](./explain-regression-local.ipynb)\n", - "1. [Training time: binary classification problem](./explain-binary-classification-local.ipynb)\n", - "1. [Training time: multiclass classification problem](./explain-multiclass-classification-local.ipynb)\n", - "1. [Explain models with advanced feature transformations](./advanced-feature-transformations-explain-local.ipynb)\n", - "1. [Save model explanations via Azure Machine Learning Run History](../azure-integration/run-history/save-retrieve-explanations-run-history.ipynb)\n", - "1. [Run explainers remotely on Azure Machine Learning Compute (AMLCompute)](../azure-integration/remote-explanation/explain-model-on-amlcompute.ipynb)\n", - "1. Inferencing time: deploy a classification model and explainer:\n", - " 1. [Deploy a locally-trained model and explainer](../azure-integration/scoring-time/train-explain-model-locally-and-deploy.ipynb)\n", - " 1. [Deploy a remotely-trained model and explainer](../azure-integration/scoring-time/train-explain-model-on-amlcompute-and-deploy.ipynb)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.9" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} From 0d2111ecfa055b9e5fd831e8b51df4b8d6289b29 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 29 Oct 2019 17:57:34 +0000 Subject: [PATCH 14/22] Cleared cells --- ...ionClassifier_Interpretability_Local.ipynb | 17 ++++-- ...onClassifier_Interpretability_Remote.ipynb | 59 ++++++++++--------- 2 files changed, 43 insertions(+), 33 deletions(-) diff --git a/4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Local.ipynb b/4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Local.ipynb index 9fd8f70..833755c 100644 --- a/4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Local.ipynb +++ b/4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Local.ipynb @@ -404,7 +404,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 11, "metadata": { "scrolled": false }, @@ -412,12 +412,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6c51020c3c474312bb30b7e1cfffa455", + "model_id": "75493807b6d64b06b6aa59e2cf5fa88f", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "ExplanationWidget(value={'predictedY': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0…" + "ExplanationWidget(value={'predictedY': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…" ] }, "metadata": {}, @@ -426,10 +426,10 @@ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 26, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -445,6 +445,13 @@ "dashboard_pipeline = Pipeline(steps=[('preprocess', preprocess), ('network', wrapped_model)])\n", "ExplanationDashboard(global_explanation, dashboard_pipeline, datasetX=x_test)" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Remote.ipynb b/4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Remote.ipynb index 0192342..eccd001 100644 --- a/4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Remote.ipynb +++ b/4-Interpretibility/EmployeeAttritionClassifier_Interpretability_Remote.ipynb @@ -257,7 +257,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 1, "metadata": { "tags": [ "create workspace" @@ -308,7 +308,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -339,7 +339,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -374,7 +374,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -401,16 +401,16 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'./TFworld-explainer-remote-run-on-amlcompute/train_explain-model-new.py'" + "'./TFworld-explainer-remote-run-on-amlcompute/train_explain-model.py'" ] }, - "execution_count": 70, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -433,22 +433,22 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "
ExperimentIdTypeStatusDetails PageDocs Page
explainer-remote-run-tfworld19explainer-remote-run-tfworld19_1572370636_1133d2cbazureml.scriptrunStartingLink to Azure PortalLink to Documentation
" + "
ExperimentIdTypeStatusDetails PageDocs Page
explainer-remote-run-tfworld19explainer-remote-run-tfworld19_1572371711_23a86907azureml.scriptrunStartingLink to Azure PortalLink to Documentation
" ], "text/plain": [ "Run(Experiment: explainer-remote-run-tfworld19,\n", - "Id: explainer-remote-run-tfworld19_1572370636_1133d2cb,\n", + "Id: explainer-remote-run-tfworld19_1572371711_23a86907,\n", "Type: azureml.scriptrun,\n", "Status: Starting)" ] }, - "execution_count": 71, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -510,13 +510,13 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "802964a7c376442ea492a5092fe887a5", + "model_id": "0138bca23c5a4ba69d43ee60245bd61a", "version_major": 2, "version_minor": 0 }, @@ -543,9 +543,21 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'NoneType' object has no attribute 'local_importance_values'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mclient\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mExplanationClient\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfrom_run\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mglobal_explanation\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mclient\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdownload_model_explanation\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mlocal_importance_values\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mglobal_explanation\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlocal_importance_values\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0mexpected_values\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mglobal_explanation\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexpected_values\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mAttributeError\u001b[0m: 'NoneType' object has no attribute 'local_importance_values'" + ] + } + ], "source": [ "from azureml.contrib.interpret.explanation.explanation_client import ExplanationClient\n", "\n", @@ -558,7 +570,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -571,7 +583,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -583,18 +595,9 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "global importance values: [0.03999193825435882, 0.031464853252919395, 0.02760060189002182, 0.02456048385916402]\n", - "global importance names: ['OverTime', 'MaritalStatus', 'EducationField', 'JobRole']\n" - ] - } - ], + "outputs": [], "source": [ "print('global importance values: {}'.format(global_importance_values))\n", "print('global importance names: {}'.format(global_importance_names))" From 4edfc80623764230a078657e733bf9c66299648d Mon Sep 17 00:00:00 2001 From: Gopal Vashishtha Date: Tue, 29 Oct 2019 15:20:25 -0700 Subject: [PATCH 15/22] Updating the evaluation model step to avoid errors (#51) * updating evaluate script * account for case where no prior model logged anything * account for case where no prior model logged anything --- 3-ML-Ops/scripts/evaluate/evaluate_model.py | 65 ++++++++++----------- 1 file changed, 31 insertions(+), 34 deletions(-) diff --git a/3-ML-Ops/scripts/evaluate/evaluate_model.py b/3-ML-Ops/scripts/evaluate/evaluate_model.py index 859d8dd..c42e1ab 100755 --- a/3-ML-Ops/scripts/evaluate/evaluate_model.py +++ b/3-ML-Ops/scripts/evaluate/evaluate_model.py @@ -54,41 +54,39 @@ all_runs = exp.get_runs(include_children=True) -# get the last completed run -while True: - new_model_run = next(all_runs) - if (new_model_run.get_status() == 'Finished'): +new_model_run = None + +# get the last completed run with metrics +new_model_run = None +for run in all_runs: + acc = run.get_metrics().get("val_accuracy") + print(f'run is {run}, acc is {acc}') + if run.get_status() == 'Finished' and acc is not None: + new_model_run = run + print('found a valid new model with acc {}'.format(acc)) break - new_model_run_id = new_model_run.id - -# print(f'New Run found with Run ID of: {new_model_run_id}') - -model_list = Model.list(ws) - -if len(model_list) != 0: # there are some models - # # Get most recently registered model, we assume that - # is the model in production. - # Download this model and compare it with the recently - # trained model by running test with same data set. - production_model = next( - filter( - lambda x: x.created_time == max( - model.created_time for model in model_list), - model_list, - ) - ) - production_model_run_id = production_model.id - run_list = exp.get_runs() - # Get the run history for both production model and - # newly trained model and compare mse - production_model_run = production_model.run - # new_model_run = Run(exp, run_id=new_model_run_id) +if new_model_run is None: + raise Exception('new model must log a val_accuracy metric, please check' + ' your train.py file') +model_generator = Model.list(ws) + +# Check that there are models +if len(model_generator) > 0: + + # Get the model with best val accuracy, assume this is best + cur_max = None + production_model = None - production_model_acc = production_model_run.get_metrics().get( - "val_accuracy") + for model in model_generator: + cur_acc = model.run.get_metrics().get("val_accuracy")[-1] + if cur_max is None or cur_acc > cur_max: + cur_max = cur_acc + production_model = model + + production_model_acc = cur_max new_model_acc = new_model_run.get_metrics().get( - "val_accuracy") + "val_accuracy")[-1] print( "Current Production model acc: {}, New trained model acc: {}".format( production_model_acc, new_model_acc @@ -96,16 +94,15 @@ ) promote_new_model = False - if new_model_acc > production_model_acc: + if new_model_acc > production_model_acc or production_model_acc is None: promote_new_model = True print("New trained model performs better, will be registered") - promote_new_model = True + else: promote_new_model = True print("This is the first model to be trained, \ thus nothing to evaluate for now") - # Writing the run id to /aml_config/run_id.json if promote_new_model: model_path = './outputs/exports' From b95ae67da5b0a2b348680bb284f4f009facf1b6d Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 5 Nov 2019 07:35:53 +0000 Subject: [PATCH 16/22] Updated storage sas token --- .../AzureServiceClassifier_Training.ipynb | 75 ++++++++++++++----- 1 file changed, 58 insertions(+), 17 deletions(-) diff --git a/1-Training/AzureServiceClassifier_Training.ipynb b/1-Training/AzureServiceClassifier_Training.ipynb index 1ad2876..d93f278 100644 --- a/1-Training/AzureServiceClassifier_Training.ipynb +++ b/1-Training/AzureServiceClassifier_Training.ipynb @@ -56,11 +56,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Azure Machine Learning Python SDK version: 1.0.72\n" + ] + } + ], "source": [ "import azureml.core\n", "\n", @@ -190,9 +198,20 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Workspace name: tf-world\n", + "Azure region: eastus\n", + "Subscription id: 15ae9cb6-95c1-483d-a0e3-b1a1a3b06324\n", + "Resource group: tf-world\n" + ] + } + ], "source": [ "from azureml.core import Workspace\n", "\n", @@ -268,7 +287,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": { "scrolled": true }, @@ -308,7 +327,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": { "scrolled": true }, @@ -319,7 +338,7 @@ "datastore_name = 'tfworld'\n", "container_name = 'azureml-blobstore-7c6bdd88-21fa-453a-9c80-16998f02935f'\n", "account_name = 'tfworld6818510241'\n", - "sas_token = '?sv=2019-02-02&ss=bfqt&srt=sco&sp=rl&se=2019-11-08T05:12:15Z&st=2019-10-23T20:12:15Z&spr=https&sig=eDqnc51TkqiIklpQfloT5vcU70pgzDuKb5PAGTvCdx4%3D'\n", + "sas_token = '?sv=2019-02-02&ss=bfqt&srt=sco&sp=rl&se=2020-06-01T14:18:31Z&st=2019-11-05T07:18:31Z&spr=https&sig=Z4JmM0V%2FQzoFNlWS3a3vJxoGAx58iCz2HAWtmeLDbGE%3D'\n", "\n", "datastore = Datastore.register_azure_blob_container(workspace=workspace, \n", " datastore_name=datastore_name, \n", @@ -337,7 +356,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": { "scrolled": true }, @@ -412,7 +431,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "metadata": { "scrolled": true }, @@ -434,7 +453,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "metadata": { "scrolled": true }, @@ -564,7 +583,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "metadata": { "scrolled": true }, @@ -591,7 +610,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "metadata": { "scrolled": true }, @@ -648,7 +667,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "metadata": { "scrolled": true }, @@ -666,11 +685,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "588c5b93a3014e15a1a3a84be2d75548", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "_UserRunWidget(widget_settings={'childWidgetDisplay': 'popup', 'send_telemetry': False, 'log_level': 'INFO', '…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/aml.mini.widget.v1": "{\"status\": \"Finalizing\", \"workbench_run_details_uri\": \"https://ml.azure.com/experiments/azure-service-classifier/runs/azure-service-classifier_1572938510_086e7ba7?wsid=/subscriptions/15ae9cb6-95c1-483d-a0e3-b1a1a3b06324/resourcegroups/tf-world/workspaces/tf-world\", \"run_id\": \"azure-service-classifier_1572938510_086e7ba7\", \"run_properties\": {\"run_id\": \"azure-service-classifier_1572938510_086e7ba7\", \"created_utc\": \"2019-11-05T07:21:58.136068Z\", \"properties\": {\"_azureml.ComputeTargetType\": \"batchai\", \"ContentSnapshotId\": \"800f7f9a-b9fd-40bf-837b-b46e03d87443\", \"azureml.git.repository_uri\": \"https://github.com/microsoft/bert-stack-overflow\", \"mlflow.source.git.repoURL\": \"https://github.com/microsoft/bert-stack-overflow\", \"azureml.git.branch\": \"john\", \"mlflow.source.git.branch\": \"john\", \"azureml.git.commit\": \"4edfc80623764230a078657e733bf9c66299648d\", \"mlflow.source.git.commit\": \"4edfc80623764230a078657e733bf9c66299648d\", \"azureml.git.dirty\": \"True\", \"AzureML.DerivedImageName\": \"azureml/azureml_1271f539ed7050f0782c7c949c545c29\", \"ProcessInfoFile\": \"azureml-logs/process_info.json\", \"ProcessStatusFile\": \"azureml-logs/process_status.json\"}, \"tags\": {\"_aml_system_ComputeTargetStatus\": \"{\\\"AllocationState\\\":\\\"steady\\\",\\\"PreparingNodeCount\\\":1,\\\"RunningNodeCount\\\":0,\\\"CurrentNodeCount\\\":1}\"}, \"script_name\": null, \"arguments\": null, \"end_time_utc\": null, \"status\": \"Finalizing\", \"log_files\": {\"azureml-logs/55_azureml-execution-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/azureml-logs/55_azureml-execution-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt?sv=2019-02-02&sr=b&sig=37F8joHisHEy1Os1IGzVBIZD6Yf7XRPapGh%2FG1M8Xg4%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\", \"azureml-logs/65_job_prep-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/azureml-logs/65_job_prep-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt?sv=2019-02-02&sr=b&sig=2%2FxR3xTCfgqdHEy5iw%2F49yRAtlvo9jH%2B0wQGiZGLxn8%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\", \"azureml-logs/70_driver_log.txt\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/azureml-logs/70_driver_log.txt?sv=2019-02-02&sr=b&sig=YN6%2BoPYIzA6Z8CVz3kHcwFgXp6nKXlY%2F55feer3CaHo%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\", \"azureml-logs/75_job_post-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/azureml-logs/75_job_post-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt?sv=2019-02-02&sr=b&sig=F4FZ%2BjvWEg4Z3P2K4D5zu56bgoFLdk2tw5vve%2BBQWiw%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\", \"azureml-logs/process_info.json\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/azureml-logs/process_info.json?sv=2019-02-02&sr=b&sig=qXjyQgZ%2BuJ8dGUqN0w3dZ57UvwniCIDGWkJ%2FWdrQvXY%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\", \"azureml-logs/process_status.json\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/azureml-logs/process_status.json?sv=2019-02-02&sr=b&sig=fQWQdBDmQRe9rSD4dP86fz%2BcF4FZohduxJDNDF3EB6U%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\", \"logs/azureml/128_azureml.log\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/logs/azureml/128_azureml.log?sv=2019-02-02&sr=b&sig=H9EWvif%2FXCydI%2Fc3q904l9SmCJSFVpUn2IisIKk0mzc%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\", \"logs/azureml/azureml.log\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/logs/azureml/azureml.log?sv=2019-02-02&sr=b&sig=7fmXIgzkpt9vOC27ztQ1oj96GRhVwG6BpDAk7FLODEA%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\"}, \"log_groups\": [[\"azureml-logs/process_info.json\", \"azureml-logs/process_status.json\", \"logs/azureml/azureml.log\"], [\"azureml-logs/55_azureml-execution-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt\"], [\"azureml-logs/65_job_prep-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt\"], [\"azureml-logs/70_driver_log.txt\"], [\"azureml-logs/75_job_post-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt\"], [\"logs/azureml/128_azureml.log\"]], \"run_duration\": \"0:11:39\"}, \"child_runs\": [], \"children_metrics\": {}, \"run_metrics\": [], \"run_logs\": \"bash: /azureml-envs/azureml_22f4953361f29da25c4cd1cf47ce4970/lib/libtinfo.so.5: no version information available (required by bash)\\nbash: /azureml-envs/azureml_22f4953361f29da25c4cd1cf47ce4970/lib/libtinfo.so.5: no version information available (required by bash)\\nInitialize DatasetContextManager.\\nStarting the daemon thread to refresh tokens in background for process with pid = 128\\nEnter __enter__ of DatasetContextManager\\nProcessing 'azureservicedata'\\nProcessing dataset FileDataset\\n{\\n \\\"source\\\": [\\n \\\"('tfworld', 'azure-service-classifier/data')\\\"\\n ],\\n \\\"definition\\\": [\\n \\\"GetDatastoreFiles\\\"\\n ],\\n \\\"registration\\\": {\\n \\\"name\\\": null,\\n \\\"version\\\": null,\\n \\\"workspace\\\": \\\"Workspace.create(name='tf-world', subscription_id='15ae9cb6-95c1-483d-a0e3-b1a1a3b06324', resource_group='tf-world')\\\"\\n }\\n}\\nMounting azureservicedata to /Dataset/azureservicedata\\n/azureml-envs/azureml_22f4953361f29da25c4cd1cf47ce4970/lib/python3.6/site-packages/pyarrow/pandas_compat.py:752: FutureWarning: .labels was deprecated in version 0.24.0. Use .codes instead.\\n labels, = index.labels\\nMounted azureservicedata to /Dataset/azureservicedata\\nExit __enter__ of DatasetContextManager\\nEntering Run History Context Manager.\\nWARNING - To use data.metrics please install scikit-learn. See https://scikit-learn.org/stable/index.html\\nI1105 07:28:15.159490 140555282306880 file_utils.py:296] https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-cased-vocab.txt not found in cache or force_download set to True, downloading to /tmp/tmphou97am6\\n\\r 0%| | 0/213450 [00:00 physical GPU (device: 0, name: Tesla V100-PCIE-16GB, pci bus id: 52fc:00:00.0, compute capability: 7.0)\\n2019-11-05 07:28:30.199838: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10.0\\nTrain for 150 steps\\nEpoch 1/3\\n\\r 1/150 [..............................] - ETA: 49:41 - loss: 1.6570 - accuracy: 0.2812\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 2/150 [..............................] - ETA: 25:18 - loss: 1.6326 - accuracy: 0.2500\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 3/150 [..............................] - ETA: 17:08 - loss: 1.6099 - accuracy: 0.3021\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 4/150 [..............................] - ETA: 13:04 - loss: 1.6217 - accuracy: 0.2734\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 5/150 [>.............................] - ETA: 10:35 - loss: 1.6151 - accuracy: 0.2750\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 6/150 [>.............................] - ETA: 8:56 - loss: 1.6105 - accuracy: 0.2708 \\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 7/150 [>.............................] - ETA: 7:46 - loss: 1.6099 - accuracy: 0.2679\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 8/150 [>.............................] - ETA: 6:53 - loss: 1.6227 - accuracy: 0.2539\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 9/150 [>.............................] - ETA: 6:12 - loss: 1.6289 - accuracy: 0.2396\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 10/150 [=>............................] - ETA: 5:39 - loss: 1.6250 - accuracy: 0.2438\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 11/150 [=>............................] - ETA: 5:13 - loss: 1.6214 - accuracy: 0.2386\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 12/150 [=>............................] - ETA: 4:50 - loss: 1.6219 - accuracy: 0.2292\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 13/150 [=>............................] - ETA: 4:31 - loss: 1.6207 - accuracy: 0.2332\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 14/150 [=>............................] - ETA: 4:14 - loss: 1.6181 - accuracy: 0.2299\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 15/150 [==>...........................] - ETA: 3:59 - loss: 1.6177 - accuracy: 0.2250\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 16/150 [==>...........................] - ETA: 3:47 - loss: 1.6184 - accuracy: 0.2207\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 17/150 [==>...........................] - ETA: 3:35 - loss: 1.6190 - accuracy: 0.2206\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 18/150 [==>...........................] - ETA: 3:25 - loss: 1.6133 - accuracy: 0.2309\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 19/150 [==>...........................] - ETA: 3:16 - loss: 1.6139 - accuracy: 0.2237\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 20/150 [===>..........................] - ETA: 3:08 - loss: 1.6122 - accuracy: 0.2281\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 21/150 [===>..........................] - ETA: 3:00 - loss: 1.6103 - accuracy: 0.2336\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 22/150 [===>..........................] - ETA: 2:53 - loss: 1.6117 - accuracy: 0.2287\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 23/150 [===>..........................] - ETA: 2:47 - loss: 1.6117 - accuracy: 0.2310\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 24/150 [===>..........................] - ETA: 2:42 - loss: 1.6112 - accuracy: 0.2318\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 25/150 [====>.........................] - ETA: 2:37 - loss: 1.6121 - accuracy: 0.2300\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 26/150 [====>.........................] - ETA: 2:32 - loss: 1.6112 - accuracy: 0.2296\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 27/150 [====>.........................] - ETA: 2:27 - loss: 1.6086 - accuracy: 0.2326\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 28/150 [====>.........................] - ETA: 2:23 - loss: 1.6071 - accuracy: 0.2299\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 29/150 [====>.........................] - ETA: 2:19 - loss: 1.6046 - accuracy: 0.2317\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 30/150 [=====>........................] - ETA: 2:15 - loss: 1.6016 - accuracy: 0.2365\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 31/150 [=====>........................] - ETA: 2:11 - loss: 1.5991 - accuracy: 0.2429\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 32/150 [=====>........................] - ETA: 2:08 - loss: 1.5971 - accuracy: 0.2441\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 33/150 [=====>........................] - ETA: 2:04 - loss: 1.5928 - accuracy: 0.2481\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 34/150 [=====>........................] - ETA: 2:01 - loss: 1.5892 - accuracy: 0.2518\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 35/150 [======>.......................] - ETA: 1:58 - loss: 1.5843 - accuracy: 0.2580\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 36/150 [======>.......................] - ETA: 1:55 - loss: 1.5820 - accuracy: 0.2604\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 37/150 [======>.......................] - ETA: 1:53 - loss: 1.5800 - accuracy: 0.2627\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 38/150 [======>.......................] - ETA: 1:50 - loss: 1.5768 - accuracy: 0.2673\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 39/150 [======>.......................] - ETA: 1:48 - loss: 1.5718 - accuracy: 0.2684\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 40/150 [=======>......................] - ETA: 1:45 - loss: 1.5658 - accuracy: 0.2727\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 41/150 [=======>......................] - ETA: 1:43 - loss: 1.5609 - accuracy: 0.2752\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 42/150 [=======>......................] - ETA: 1:40 - loss: 1.5574 - accuracy: 0.2775\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 43/150 [=======>......................] - ETA: 1:38 - loss: 1.5516 - accuracy: 0.2812\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 44/150 [=======>......................] - ETA: 1:36 - loss: 1.5446 - accuracy: 0.2869\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 45/150 [========>.....................] - ETA: 1:34 - loss: 1.5396 - accuracy: 0.2896\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 46/150 [========>.....................] - ETA: 1:32 - loss: 1.5322 - accuracy: 0.2942\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 47/150 [========>.....................] - ETA: 1:31 - loss: 1.5286 - accuracy: 0.2965\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 48/150 [========>.....................] - ETA: 1:29 - loss: 1.5226 - accuracy: 0.3001\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 49/150 [========>.....................] - ETA: 1:27 - loss: 1.5170 - accuracy: 0.3042\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 50/150 [=========>....................] - ETA: 1:25 - loss: 1.5119 - accuracy: 0.3075\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 51/150 [=========>....................] - ETA: 1:24 - loss: 1.5075 - accuracy: 0.3119\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 52/150 [=========>....................] - ETA: 1:22 - loss: 1.5025 - accuracy: 0.3161\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 53/150 [=========>....................] - ETA: 1:21 - loss: 1.4979 - accuracy: 0.3196\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 54/150 [=========>....................] - ETA: 1:19 - loss: 1.4919 - accuracy: 0.3235\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 55/150 [==========>...................] - ETA: 1:18 - loss: 1.4869 - accuracy: 0.3267\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 56/150 [==========>...................] - ETA: 1:16 - loss: 1.4828 - accuracy: 0.3320\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 57/150 [==========>...................] - ETA: 1:15 - loss: 1.4799 - accuracy: 0.3339\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 58/150 [==========>...................] - ETA: 1:14 - loss: 1.4754 - accuracy: 0.3367\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 59/150 [==========>...................] - ETA: 1:12 - loss: 1.4704 - accuracy: 0.3406\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 60/150 [===========>..................] - ETA: 1:11 - loss: 1.4661 - accuracy: 0.3443\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 61/150 [===========>..................] - ETA: 1:10 - loss: 1.4632 - accuracy: 0.3494\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 62/150 [===========>..................] - ETA: 1:09 - loss: 1.4557 - accuracy: 0.3564\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 63/150 [===========>..................] - ETA: 1:07 - loss: 1.4479 - accuracy: 0.3641\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 64/150 [===========>..................] - ETA: 1:06 - loss: 1.4422 - accuracy: 0.3691\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 65/150 [============>.................] - ETA: 1:05 - loss: 1.4367 - accuracy: 0.3731\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 66/150 [============>.................] - ETA: 1:04 - loss: 1.4300 - accuracy: 0.3793\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 67/150 [============>.................] - ETA: 1:03 - loss: 1.4233 - accuracy: 0.3857\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 68/150 [============>.................] - ETA: 1:02 - loss: 1.4157 - accuracy: 0.3920\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 69/150 [============>.................] - ETA: 1:01 - loss: 1.4082 - accuracy: 0.3972\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 70/150 [=============>................] - ETA: 1:00 - loss: 1.4007 - accuracy: 0.4036\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 71/150 [=============>................] - ETA: 58s - loss: 1.3924 - accuracy: 0.4107 \\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 72/150 [=============>................] - ETA: 57s - loss: 1.3860 - accuracy: 0.4158\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 73/150 [=============>................] - ETA: 56s - loss: 1.3805 - accuracy: 0.4217\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 74/150 [=============>................] - ETA: 55s - loss: 1.3728 - accuracy: 0.4282\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 75/150 [==============>...............] - ETA: 54s - loss: 1.3663 - accuracy: 0.4342\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 76/150 [==============>...............] - ETA: 53s - loss: 1.3583 - accuracy: 0.4400\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 77/150 [==============>...............] - ETA: 52s - loss: 1.3531 - accuracy: 0.4440\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 78/150 [==============>...............] - ETA: 51s - loss: 1.3489 - accuracy: 0.4479\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 79/150 [==============>...............] - ETA: 50s - loss: 1.3424 - accuracy: 0.4525\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 80/150 [===============>..............] - ETA: 50s - loss: 1.3345 - accuracy: 0.4586\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 81/150 [===============>..............] - ETA: 49s - loss: 1.3280 - accuracy: 0.4630\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 82/150 [===============>..............] - ETA: 48s - loss: 1.3227 - accuracy: 0.4665\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 83/150 [===============>..............] - ETA: 47s - loss: 1.3160 - accuracy: 0.4714\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 84/150 [===============>..............] - ETA: 46s - loss: 1.3088 - accuracy: 0.4766\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 85/150 [================>.............] - ETA: 45s - loss: 1.3012 - accuracy: 0.4816\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 86/150 [================>.............] - ETA: 44s - loss: 1.2928 - accuracy: 0.4866\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 87/150 [================>.............] - ETA: 43s - loss: 1.2841 - accuracy: 0.4914\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 88/150 [================>.............] - ETA: 42s - loss: 1.2769 - accuracy: 0.4957\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 89/150 [================>.............] - ETA: 42s - loss: 1.2711 - accuracy: 0.4993\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 90/150 [=================>............] - ETA: 41s - loss: 1.2618 - accuracy: 0.5045\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 91/150 [=================>............] - ETA: 40s - loss: 1.2534 - accuracy: 0.5093\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 92/150 [=================>............] - ETA: 39s - loss: 1.2458 - accuracy: 0.5132\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 93/150 [=================>............] - ETA: 38s - loss: 1.2397 - accuracy: 0.5161\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 94/150 [=================>............] - ETA: 38s - loss: 1.2313 - accuracy: 0.5203\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 95/150 [==================>...........] - ETA: 37s - loss: 1.2242 - accuracy: 0.5240\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 96/150 [==================>...........] - ETA: 36s - loss: 1.2158 - accuracy: 0.5283\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 97/150 [==================>...........] - ETA: 35s - loss: 1.2068 - accuracy: 0.5329\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 98/150 [==================>...........] - ETA: 34s - loss: 1.2019 - accuracy: 0.5360\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 99/150 [==================>...........] - ETA: 34s - loss: 1.1934 - accuracy: 0.5398\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r100/150 [===================>..........] - ETA: 33s - loss: 1.1870 - accuracy: 0.5431\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r101/150 [===================>..........] - ETA: 32s - loss: 1.1801 - accuracy: 0.5464\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r102/150 [===================>..........] - ETA: 31s - loss: 1.1710 - accuracy: 0.5509\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r103/150 [===================>..........] - ETA: 31s - loss: 1.1650 - accuracy: 0.5531\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r104/150 [===================>..........] - ETA: 30s - loss: 1.1588 - accuracy: 0.5562\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r105/150 [====================>.........] - ETA: 29s - loss: 1.1553 - accuracy: 0.5577\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r106/150 [====================>.........] - ETA: 28s - loss: 1.1494 - accuracy: 0.5607\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r107/150 [====================>.........] - ETA: 28s - loss: 1.1441 - accuracy: 0.5631\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r108/150 [====================>.........] - ETA: 27s - loss: 1.1377 - accuracy: 0.5660\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r109/150 [====================>.........] - ETA: 26s - loss: 1.1302 - accuracy: 0.5694\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r110/150 [=====================>........] - ETA: 26s - loss: 1.1246 - accuracy: 0.5722\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r111/150 [=====================>........] - ETA: 25s - loss: 1.1179 - accuracy: 0.5755\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r112/150 [=====================>........] - ETA: 24s - loss: 1.1115 - accuracy: 0.5787\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r113/150 [=====================>........] - ETA: 23s - loss: 1.1067 - accuracy: 0.5805\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r114/150 [=====================>........] - ETA: 23s - loss: 1.1006 - accuracy: 0.5833\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r115/150 [======================>.......] - ETA: 22s - loss: 1.0954 - accuracy: 0.5856\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r116/150 [======================>.......] - ETA: 21s - loss: 1.0914 - accuracy: 0.5873\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r117/150 [======================>.......] - ETA: 21s - loss: 1.0844 - accuracy: 0.5903\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r118/150 [======================>.......] - ETA: 20s - loss: 1.0804 - accuracy: 0.5922\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r119/150 [======================>.......] - ETA: 19s - loss: 1.0754 - accuracy: 0.5948\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r120/150 [=======================>......] - ETA: 19s - loss: 1.0695 - accuracy: 0.5974\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r121/150 [=======================>......] - ETA: 18s - loss: 1.0628 - accuracy: 0.6002\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r122/150 [=======================>......] - ETA: 17s - loss: 1.0569 - accuracy: 0.6030\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r123/150 [=======================>......] - ETA: 17s - loss: 1.0521 - accuracy: 0.6052\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r124/150 [=======================>......] - ETA: 16s - loss: 1.0474 - accuracy: 0.6074\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r125/150 [========================>.....] - ETA: 15s - loss: 1.0444 - accuracy: 0.6095\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r126/150 [========================>.....] - ETA: 15s - loss: 1.0392 - accuracy: 0.6116\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r127/150 [========================>.....] - ETA: 14s - loss: 1.0349 - accuracy: 0.6134\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r128/150 [========================>.....] - ETA: 13s - loss: 1.0293 - accuracy: 0.6155\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r129/150 [========================>.....] - ETA: 13s - loss: 1.0248 - accuracy: 0.6175\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r130/150 [=========================>....] - ETA: 12s - loss: 1.0212 - accuracy: 0.6192\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r131/150 [=========================>....] - ETA: 11s - loss: 1.0191 - accuracy: 0.6200\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r132/150 [=========================>....] - ETA: 11s - loss: 1.0145 - accuracy: 0.6219\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r133/150 [=========================>....] - ETA: 10s - loss: 1.0093 - accuracy: 0.6241\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r134/150 [=========================>....] - ETA: 9s - loss: 1.0063 - accuracy: 0.6255 \\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r135/150 [==========================>...] - ETA: 9s - loss: 1.0015 - accuracy: 0.6273\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r136/150 [==========================>...] - ETA: 8s - loss: 0.9968 - accuracy: 0.6294\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r137/150 [==========================>...] - ETA: 8s - loss: 0.9914 - accuracy: 0.6316\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r138/150 [==========================>...] - ETA: 7s - loss: 0.9868 - accuracy: 0.6338\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r139/150 [==========================>...] - ETA: 6s - loss: 0.9831 - accuracy: 0.6356\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r140/150 [===========================>..] - ETA: 6s - loss: 0.9780 - accuracy: 0.6377\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r141/150 [===========================>..] - ETA: 5s - loss: 0.9735 - accuracy: 0.6396\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r142/150 [===========================>..] - ETA: 4s - loss: 0.9702 - accuracy: 0.6413\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r143/150 [===========================>..] - ETA: 4s - loss: 0.9662 - accuracy: 0.6429\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r144/150 [===========================>..] - ETA: 3s - loss: 0.9642 - accuracy: 0.6441\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r145/150 [============================>.] - ETA: 3s - loss: 0.9602 - accuracy: 0.6459\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r146/150 [============================>.] - ETA: 2s - loss: 0.9578 - accuracy: 0.6466\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r147/150 [============================>.] - ETA: 1s - loss: 0.9537 - accuracy: 0.6480\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r148/150 [============================>.] - ETA: 1s - loss: 0.9502 - accuracy: 0.6495\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r149/150 [============================>.] - ETA: 0s - loss: 0.9454 - accuracy: 0.65142019-11-05 07:30:25.909761: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n\\t [[tf_bert_for_multi_classification/bert/embeddings/Shape/_10]]\\n2019-11-05 07:30:25.909859: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r150/150 [==============================] - 107s 711ms/step - loss: 0.9405 - accuracy: 0.6533 - val_loss: 0.3507 - val_accuracy: 0.9084\\nEpoch 2/3\\n\\r 1/46 [..............................] - ETA: 22s - loss: 0.2386 - accuracy: 0.9688\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 2/46 [>.............................] - ETA: 22s - loss: 0.4241 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 3/46 [>.............................] - ETA: 20s - loss: 0.3798 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 4/46 [=>............................] - ETA: 20s - loss: 0.3692 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 5/46 [==>...........................] - ETA: 19s - loss: 0.3722 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 6/46 [==>...........................] - ETA: 17s - loss: 0.3586 - accuracy: 0.9115\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 7/46 [===>..........................] - ETA: 16s - loss: 0.3391 - accuracy: 0.9152\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 8/46 [====>.........................] - ETA: 18s - loss: 0.3636 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 9/46 [====>.........................] - ETA: 17s - loss: 0.3681 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r10/46 [=====>........................] - ETA: 17s - loss: 0.3544 - accuracy: 0.9094\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r11/46 [======>.......................] - ETA: 16s - loss: 0.3446 - accuracy: 0.9119\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r12/46 [======>.......................] - ETA: 16s - loss: 0.3614 - accuracy: 0.9036\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r13/46 [=======>......................] - ETA: 15s - loss: 0.3583 - accuracy: 0.8990\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r14/46 [========>.....................] - ETA: 15s - loss: 0.3621 - accuracy: 0.8973\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r15/46 [========>.....................] - ETA: 14s - loss: 0.3666 - accuracy: 0.8958\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r16/46 [=========>....................] - ETA: 14s - loss: 0.3728 - accuracy: 0.8926\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r17/46 [==========>...................] - ETA: 13s - loss: 0.3773 - accuracy: 0.8897\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r18/46 [==========>...................] - ETA: 13s - loss: 0.3773 - accuracy: 0.8889\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r19/46 [===========>..................] - ETA: 12s - loss: 0.3798 - accuracy: 0.8865\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r20/46 [============>.................] - ETA: 12s - loss: 0.3714 - accuracy: 0.8906\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r21/46 [============>.................] - ETA: 11s - loss: 0.3703 - accuracy: 0.8914\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r22/46 [=============>................] - ETA: 11s - loss: 0.3659 - accuracy: 0.8949\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r23/46 [==============>...............] - ETA: 10s - loss: 0.3564 - accuracy: 0.8981\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r24/46 [==============>...............] - ETA: 10s - loss: 0.3496 - accuracy: 0.8997\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r25/46 [===============>..............] - ETA: 9s - loss: 0.3509 - accuracy: 0.8988 \\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r26/46 [===============>..............] - ETA: 9s - loss: 0.3491 - accuracy: 0.9002\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r27/46 [================>.............] - ETA: 8s - loss: 0.3556 - accuracy: 0.8981\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r28/46 [=================>............] - ETA: 8s - loss: 0.3490 - accuracy: 0.9007\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r29/46 [=================>............] - ETA: 8s - loss: 0.3509 - accuracy: 0.8998\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r30/46 [==================>...........] - ETA: 7s - loss: 0.3497 - accuracy: 0.9000\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r31/46 [===================>..........] - ETA: 7s - loss: 0.3489 - accuracy: 0.9002\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r32/46 [===================>..........] - ETA: 6s - loss: 0.3483 - accuracy: 0.9004\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r33/46 [====================>.........] - ETA: 6s - loss: 0.3476 - accuracy: 0.9006\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r34/46 [=====================>........] - ETA: 5s - loss: 0.3419 - accuracy: 0.9017\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r35/46 [=====================>........] - ETA: 5s - loss: 0.3413 - accuracy: 0.9018\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r36/46 [======================>.......] - ETA: 4s - loss: 0.3451 - accuracy: 0.9002\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r37/46 [=======================>......] - ETA: 4s - loss: 0.3406 - accuracy: 0.9020\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r38/46 [=======================>......] - ETA: 3s - loss: 0.3373 - accuracy: 0.9038\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r39/46 [========================>.....] - ETA: 3s - loss: 0.3450 - accuracy: 0.9022\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r40/46 [=========================>....] - ETA: 2s - loss: 0.3385 - accuracy: 0.9047\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r41/46 [=========================>....] - ETA: 2s - loss: 0.3355 - accuracy: 0.9055\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r42/46 [==========================>...] - ETA: 1s - loss: 0.3384 - accuracy: 0.9048\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r43/46 [===========================>..] - ETA: 1s - loss: 0.3372 - accuracy: 0.9055\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r44/46 [===========================>..] - ETA: 0s - loss: 0.3318 - accuracy: 0.9070\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r45/46 [============================>.] - ETA: 0s - loss: 0.3321 - accuracy: 0.90622019-11-05 07:31:50.145547: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n2019-11-05 07:31:50.145577: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n\\t [[tf_bert_for_multi_classification/bert/embeddings/Shape/_10]]\\n\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r150/46 [=================================================================================================] - 84s 562ms/step - loss: 0.3625 - accuracy: 0.9094 - val_loss: 0.2860 - val_accuracy: 0.9160\\nEpoch 3/3\\n\\r 1/46 [..............................] - ETA: 19s - loss: 0.3330 - accuracy: 0.8750\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 2/46 [>.............................] - ETA: 20s - loss: 0.2360 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 3/46 [>.............................] - ETA: 19s - loss: 0.2620 - accuracy: 0.9167\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 4/46 [=>............................] - ETA: 19s - loss: 0.2156 - accuracy: 0.9375\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 5/46 [==>...........................] - ETA: 19s - loss: 0.2054 - accuracy: 0.9438\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 6/46 [==>...........................] - ETA: 18s - loss: 0.2340 - accuracy: 0.9323\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 7/46 [===>..........................] - ETA: 18s - loss: 0.2082 - accuracy: 0.9420\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 8/46 [====>.........................] - ETA: 18s - loss: 0.2136 - accuracy: 0.9414\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 9/46 [====>.........................] - ETA: 18s - loss: 0.2301 - accuracy: 0.9375\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r10/46 [=====>........................] - ETA: 17s - loss: 0.2172 - accuracy: 0.9406\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r11/46 [======>.......................] - ETA: 16s - loss: 0.2019 - accuracy: 0.9460\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r12/46 [======>.......................] - ETA: 16s - loss: 0.1981 - accuracy: 0.9479\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r13/46 [=======>......................] - ETA: 15s - loss: 0.2031 - accuracy: 0.9471\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r14/46 [========>.....................] - ETA: 14s - loss: 0.2130 - accuracy: 0.9420\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r15/46 [========>.....................] - ETA: 14s - loss: 0.2172 - accuracy: 0.9417\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r16/46 [=========>....................] - ETA: 14s - loss: 0.2243 - accuracy: 0.9414\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r17/46 [==========>...................] - ETA: 14s - loss: 0.2258 - accuracy: 0.9412\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r18/46 [==========>...................] - ETA: 13s - loss: 0.2161 - accuracy: 0.9444\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r19/46 [===========>..................] - ETA: 13s - loss: 0.2291 - accuracy: 0.9408\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r20/46 [============>.................] - ETA: 12s - loss: 0.2373 - accuracy: 0.9391\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r21/46 [============>.................] - ETA: 11s - loss: 0.2553 - accuracy: 0.9345\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r22/46 [=============>................] - ETA: 11s - loss: 0.2621 - accuracy: 0.9290\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r23/46 [==============>...............] - ETA: 11s - loss: 0.2628 - accuracy: 0.9293\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r24/46 [==============>...............] - ETA: 10s - loss: 0.2788 - accuracy: 0.9219\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r25/46 [===============>..............] - ETA: 10s - loss: 0.2731 - accuracy: 0.9237\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r26/46 [===============>..............] - ETA: 9s - loss: 0.2804 - accuracy: 0.9207 \\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r27/46 [================>.............] - ETA: 9s - loss: 0.2884 - accuracy: 0.9190\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r28/46 [=================>............] - ETA: 8s - loss: 0.2813 - accuracy: 0.9219\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r29/46 [=================>............] - ETA: 8s - loss: 0.2761 - accuracy: 0.9235\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r30/46 [==================>...........] - ETA: 7s - loss: 0.2723 - accuracy: 0.9240\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r31/46 [===================>..........] - ETA: 7s - loss: 0.2654 - accuracy: 0.9264\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r32/46 [===================>..........] - ETA: 6s - loss: 0.2622 - accuracy: 0.9277\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r33/46 [====================>.........] - ETA: 6s - loss: 0.2601 - accuracy: 0.9290\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r34/46 [=====================>........] - ETA: 5s - loss: 0.2546 - accuracy: 0.9311\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r35/46 [=====================>........] - ETA: 5s - loss: 0.2494 - accuracy: 0.9321\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r36/46 [======================>.......] - ETA: 4s - loss: 0.2487 - accuracy: 0.9323\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r37/46 [=======================>......] - ETA: 4s - loss: 0.2472 - accuracy: 0.9333\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r38/46 [=======================>......] - ETA: 3s - loss: 0.2440 - accuracy: 0.9342\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r39/46 [========================>.....] - ETA: 3s - loss: 0.2421 - accuracy: 0.9351\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r40/46 [=========================>....] - ETA: 2s - loss: 0.2372 - accuracy: 0.9367\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r41/46 [=========================>....] - ETA: 2s - loss: 0.2348 - accuracy: 0.9375\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r42/46 [==========================>...] - ETA: 1s - loss: 0.2345 - accuracy: 0.9375\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r43/46 [===========================>..] - ETA: 1s - loss: 0.2355 - accuracy: 0.9375\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r44/46 [===========================>..] - ETA: 0s - loss: 0.2309 - accuracy: 0.9389\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r45/46 [============================>.] - ETA: 0s - loss: 0.2327 - accuracy: 0.93822019-11-05 07:33:14.535059: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n2019-11-05 07:33:14.535096: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n\\t [[tf_bert_for_multi_classification/bert/embeddings/Shape/_10]]\\n\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r150/46 [=================================================================================================] - 84s 563ms/step - loss: 0.1885 - accuracy: 0.9383 - val_loss: 0.2857 - val_accuracy: 0.9216\\n\\r 1/Unknown - 0s 416ms/step - loss: 0.3374 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 2/Unknown - 1s 324ms/step - loss: 0.2122 - accuracy: 0.9531\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 3/Unknown - 1s 303ms/step - loss: 0.2031 - accuracy: 0.9479\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 4/Unknown - 1s 294ms/step - loss: 0.2419 - accuracy: 0.9375\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 5/Unknown - 1s 286ms/step - loss: 0.2545 - accuracy: 0.9312\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 6/Unknown - 2s 308ms/step - loss: 0.2389 - accuracy: 0.9219\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 7/Unknown - 2s 302ms/step - loss: 0.2100 - accuracy: 0.9330\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 8/Unknown - 2s 300ms/step - loss: 0.1981 - accuracy: 0.9375\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 9/Unknown - 3s 297ms/step - loss: 0.1921 - accuracy: 0.9410\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 10/Unknown - 3s 296ms/step - loss: 0.1926 - accuracy: 0.9406\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 11/Unknown - 3s 294ms/step - loss: 0.2302 - accuracy: 0.9347\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 12/Unknown - 4s 292ms/step - loss: 0.2411 - accuracy: 0.9323\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 13/Unknown - 4s 290ms/step - loss: 0.2424 - accuracy: 0.9327\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 14/Unknown - 4s 288ms/step - loss: 0.2415 - accuracy: 0.9353\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 15/Unknown - 4s 288ms/step - loss: 0.2441 - accuracy: 0.9312\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 16/Unknown - 5s 288ms/step - loss: 0.2546 - accuracy: 0.9277\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 17/Unknown - 5s 287ms/step - loss: 0.2573 - accuracy: 0.9246\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 18/Unknown - 5s 285ms/step - loss: 0.2443 - accuracy: 0.9288\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 19/Unknown - 5s 282ms/step - loss: 0.2422 - accuracy: 0.9276\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 20/Unknown - 6s 282ms/step - loss: 0.2418 - accuracy: 0.9281\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 21/Unknown - 6s 281ms/step - loss: 0.2328 - accuracy: 0.9301\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 22/Unknown - 6s 276ms/step - loss: 0.2448 - accuracy: 0.92602019-11-05 07:33:20.626245: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n2019-11-05 07:33:20.626263: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n\\t [[tf_bert_for_multi_classification/bert/embeddings/Shape/_10]]\\n\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r22/22 [==============================] - 6s 276ms/step - loss: 0.2448 - accuracy: 0.9260\\nI1105 07:33:20.798741 140555282306880 configuration_utils.py:70] Configuration saved in ./outputs/model/config.json\\nI1105 07:33:22.790246 140555282306880 modeling_tf_utils.py:136] Model weights saved in ./outputs/model/tf_model.h5\\n\\n\\nThe experiment completed successfully. Finalizing run...\\nI1105 07:33:22.791280 140555282306880 context_manager_injector.py:48] Exiting context: UserExceptions\\nI1105 07:33:22.791399 140555282306880 context_manager_injector.py:48] Exiting context: TrackUserError\\nI1105 07:33:22.791497 140555282306880 context_manager_injector.py:48] Exiting context: RunHistory\\nCleaning up all outstanding Run operations, waiting 300.0 seconds\\n1 items cleaning up...\\nCleanup took 0.0005791187286376953 seconds\\nI1105 07:33:22.833946 140555282306880 context_manager_injector.py:48] Exiting context: Dataset\\nEnter __exit__ of DatasetContextManager\\nUnmounting /Dataset/azureservicedata.\\nFinishing unmounting /Dataset/azureservicedata.\\nExit __exit__ of DatasetContextManager\\nI1105 07:33:22.939827 140555282306880 context_manager_injector.py:48] Exiting context: ProjectPythonPath\\n\", \"graph\": {}, \"widget_settings\": {\"childWidgetDisplay\": \"popup\", \"send_telemetry\": false, \"log_level\": \"INFO\", \"sdk_version\": \"1.0.72\"}, \"loading\": false}" + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "from azureml.widgets import RunDetails\n", "RunDetails(run1).show()" @@ -1279,7 +1320,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.2" + "version": "3.6.9" }, "mimetype": "text/x-python", "name": "python", From 69016d7ea04406fb4bd3c21889a189939db13f5c Mon Sep 17 00:00:00 2001 From: John Wu Date: Tue, 5 Nov 2019 07:38:49 +0000 Subject: [PATCH 17/22] Clearing kernel --- .../AzureServiceClassifier_Training.ipynb | 71 ++++--------------- 1 file changed, 15 insertions(+), 56 deletions(-) diff --git a/1-Training/AzureServiceClassifier_Training.ipynb b/1-Training/AzureServiceClassifier_Training.ipynb index d93f278..23453cc 100644 --- a/1-Training/AzureServiceClassifier_Training.ipynb +++ b/1-Training/AzureServiceClassifier_Training.ipynb @@ -56,19 +56,11 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Azure Machine Learning Python SDK version: 1.0.72\n" - ] - } - ], + "outputs": [], "source": [ "import azureml.core\n", "\n", @@ -198,20 +190,9 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Workspace name: tf-world\n", - "Azure region: eastus\n", - "Subscription id: 15ae9cb6-95c1-483d-a0e3-b1a1a3b06324\n", - "Resource group: tf-world\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "from azureml.core import Workspace\n", "\n", @@ -287,7 +268,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "metadata": { "scrolled": true }, @@ -327,7 +308,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "metadata": { "scrolled": true }, @@ -356,7 +337,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "metadata": { "scrolled": true }, @@ -431,7 +412,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": { "scrolled": true }, @@ -453,7 +434,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "metadata": { "scrolled": true }, @@ -583,7 +564,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "metadata": { "scrolled": true }, @@ -610,7 +591,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "metadata": { "scrolled": true }, @@ -667,7 +648,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "metadata": { "scrolled": true }, @@ -685,33 +666,11 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "588c5b93a3014e15a1a3a84be2d75548", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "_UserRunWidget(widget_settings={'childWidgetDisplay': 'popup', 'send_telemetry': False, 'log_level': 'INFO', '…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/aml.mini.widget.v1": "{\"status\": \"Finalizing\", \"workbench_run_details_uri\": \"https://ml.azure.com/experiments/azure-service-classifier/runs/azure-service-classifier_1572938510_086e7ba7?wsid=/subscriptions/15ae9cb6-95c1-483d-a0e3-b1a1a3b06324/resourcegroups/tf-world/workspaces/tf-world\", \"run_id\": \"azure-service-classifier_1572938510_086e7ba7\", \"run_properties\": {\"run_id\": \"azure-service-classifier_1572938510_086e7ba7\", \"created_utc\": \"2019-11-05T07:21:58.136068Z\", \"properties\": {\"_azureml.ComputeTargetType\": \"batchai\", \"ContentSnapshotId\": \"800f7f9a-b9fd-40bf-837b-b46e03d87443\", \"azureml.git.repository_uri\": \"https://github.com/microsoft/bert-stack-overflow\", \"mlflow.source.git.repoURL\": \"https://github.com/microsoft/bert-stack-overflow\", \"azureml.git.branch\": \"john\", \"mlflow.source.git.branch\": \"john\", \"azureml.git.commit\": \"4edfc80623764230a078657e733bf9c66299648d\", \"mlflow.source.git.commit\": \"4edfc80623764230a078657e733bf9c66299648d\", \"azureml.git.dirty\": \"True\", \"AzureML.DerivedImageName\": \"azureml/azureml_1271f539ed7050f0782c7c949c545c29\", \"ProcessInfoFile\": \"azureml-logs/process_info.json\", \"ProcessStatusFile\": \"azureml-logs/process_status.json\"}, \"tags\": {\"_aml_system_ComputeTargetStatus\": \"{\\\"AllocationState\\\":\\\"steady\\\",\\\"PreparingNodeCount\\\":1,\\\"RunningNodeCount\\\":0,\\\"CurrentNodeCount\\\":1}\"}, \"script_name\": null, \"arguments\": null, \"end_time_utc\": null, \"status\": \"Finalizing\", \"log_files\": {\"azureml-logs/55_azureml-execution-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/azureml-logs/55_azureml-execution-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt?sv=2019-02-02&sr=b&sig=37F8joHisHEy1Os1IGzVBIZD6Yf7XRPapGh%2FG1M8Xg4%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\", \"azureml-logs/65_job_prep-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/azureml-logs/65_job_prep-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt?sv=2019-02-02&sr=b&sig=2%2FxR3xTCfgqdHEy5iw%2F49yRAtlvo9jH%2B0wQGiZGLxn8%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\", \"azureml-logs/70_driver_log.txt\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/azureml-logs/70_driver_log.txt?sv=2019-02-02&sr=b&sig=YN6%2BoPYIzA6Z8CVz3kHcwFgXp6nKXlY%2F55feer3CaHo%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\", \"azureml-logs/75_job_post-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/azureml-logs/75_job_post-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt?sv=2019-02-02&sr=b&sig=F4FZ%2BjvWEg4Z3P2K4D5zu56bgoFLdk2tw5vve%2BBQWiw%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\", \"azureml-logs/process_info.json\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/azureml-logs/process_info.json?sv=2019-02-02&sr=b&sig=qXjyQgZ%2BuJ8dGUqN0w3dZ57UvwniCIDGWkJ%2FWdrQvXY%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\", \"azureml-logs/process_status.json\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/azureml-logs/process_status.json?sv=2019-02-02&sr=b&sig=fQWQdBDmQRe9rSD4dP86fz%2BcF4FZohduxJDNDF3EB6U%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\", \"logs/azureml/128_azureml.log\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/logs/azureml/128_azureml.log?sv=2019-02-02&sr=b&sig=H9EWvif%2FXCydI%2Fc3q904l9SmCJSFVpUn2IisIKk0mzc%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\", \"logs/azureml/azureml.log\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572938510_086e7ba7/logs/azureml/azureml.log?sv=2019-02-02&sr=b&sig=7fmXIgzkpt9vOC27ztQ1oj96GRhVwG6BpDAk7FLODEA%3D&st=2019-11-05T07%3A23%3A37Z&se=2019-11-05T15%3A33%3A37Z&sp=r\"}, \"log_groups\": [[\"azureml-logs/process_info.json\", \"azureml-logs/process_status.json\", \"logs/azureml/azureml.log\"], [\"azureml-logs/55_azureml-execution-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt\"], [\"azureml-logs/65_job_prep-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt\"], [\"azureml-logs/70_driver_log.txt\"], [\"azureml-logs/75_job_post-tvmps_0d032ffcc4bf96607142814f696802a970675d4cfd1b61465d5a8394053730ec_d.txt\"], [\"logs/azureml/128_azureml.log\"]], \"run_duration\": \"0:11:39\"}, \"child_runs\": [], \"children_metrics\": {}, \"run_metrics\": [], \"run_logs\": \"bash: /azureml-envs/azureml_22f4953361f29da25c4cd1cf47ce4970/lib/libtinfo.so.5: no version information available (required by bash)\\nbash: /azureml-envs/azureml_22f4953361f29da25c4cd1cf47ce4970/lib/libtinfo.so.5: no version information available (required by bash)\\nInitialize DatasetContextManager.\\nStarting the daemon thread to refresh tokens in background for process with pid = 128\\nEnter __enter__ of DatasetContextManager\\nProcessing 'azureservicedata'\\nProcessing dataset FileDataset\\n{\\n \\\"source\\\": [\\n \\\"('tfworld', 'azure-service-classifier/data')\\\"\\n ],\\n \\\"definition\\\": [\\n \\\"GetDatastoreFiles\\\"\\n ],\\n \\\"registration\\\": {\\n \\\"name\\\": null,\\n \\\"version\\\": null,\\n \\\"workspace\\\": \\\"Workspace.create(name='tf-world', subscription_id='15ae9cb6-95c1-483d-a0e3-b1a1a3b06324', resource_group='tf-world')\\\"\\n }\\n}\\nMounting azureservicedata to /Dataset/azureservicedata\\n/azureml-envs/azureml_22f4953361f29da25c4cd1cf47ce4970/lib/python3.6/site-packages/pyarrow/pandas_compat.py:752: FutureWarning: .labels was deprecated in version 0.24.0. Use .codes instead.\\n labels, = index.labels\\nMounted azureservicedata to /Dataset/azureservicedata\\nExit __enter__ of DatasetContextManager\\nEntering Run History Context Manager.\\nWARNING - To use data.metrics please install scikit-learn. See https://scikit-learn.org/stable/index.html\\nI1105 07:28:15.159490 140555282306880 file_utils.py:296] https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-cased-vocab.txt not found in cache or force_download set to True, downloading to /tmp/tmphou97am6\\n\\r 0%| | 0/213450 [00:00 physical GPU (device: 0, name: Tesla V100-PCIE-16GB, pci bus id: 52fc:00:00.0, compute capability: 7.0)\\n2019-11-05 07:28:30.199838: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10.0\\nTrain for 150 steps\\nEpoch 1/3\\n\\r 1/150 [..............................] - ETA: 49:41 - loss: 1.6570 - accuracy: 0.2812\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 2/150 [..............................] - ETA: 25:18 - loss: 1.6326 - accuracy: 0.2500\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 3/150 [..............................] - ETA: 17:08 - loss: 1.6099 - accuracy: 0.3021\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 4/150 [..............................] - ETA: 13:04 - loss: 1.6217 - accuracy: 0.2734\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 5/150 [>.............................] - ETA: 10:35 - loss: 1.6151 - accuracy: 0.2750\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 6/150 [>.............................] - ETA: 8:56 - loss: 1.6105 - accuracy: 0.2708 \\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 7/150 [>.............................] - ETA: 7:46 - loss: 1.6099 - accuracy: 0.2679\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 8/150 [>.............................] - ETA: 6:53 - loss: 1.6227 - accuracy: 0.2539\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 9/150 [>.............................] - ETA: 6:12 - loss: 1.6289 - accuracy: 0.2396\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 10/150 [=>............................] - ETA: 5:39 - loss: 1.6250 - accuracy: 0.2438\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 11/150 [=>............................] - ETA: 5:13 - loss: 1.6214 - accuracy: 0.2386\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 12/150 [=>............................] - ETA: 4:50 - loss: 1.6219 - accuracy: 0.2292\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 13/150 [=>............................] - ETA: 4:31 - loss: 1.6207 - accuracy: 0.2332\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 14/150 [=>............................] - ETA: 4:14 - loss: 1.6181 - accuracy: 0.2299\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 15/150 [==>...........................] - ETA: 3:59 - loss: 1.6177 - accuracy: 0.2250\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 16/150 [==>...........................] - ETA: 3:47 - loss: 1.6184 - accuracy: 0.2207\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 17/150 [==>...........................] - ETA: 3:35 - loss: 1.6190 - accuracy: 0.2206\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 18/150 [==>...........................] - ETA: 3:25 - loss: 1.6133 - accuracy: 0.2309\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 19/150 [==>...........................] - ETA: 3:16 - loss: 1.6139 - accuracy: 0.2237\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 20/150 [===>..........................] - ETA: 3:08 - loss: 1.6122 - accuracy: 0.2281\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 21/150 [===>..........................] - ETA: 3:00 - loss: 1.6103 - accuracy: 0.2336\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 22/150 [===>..........................] - ETA: 2:53 - loss: 1.6117 - accuracy: 0.2287\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 23/150 [===>..........................] - ETA: 2:47 - loss: 1.6117 - accuracy: 0.2310\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 24/150 [===>..........................] - ETA: 2:42 - loss: 1.6112 - accuracy: 0.2318\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 25/150 [====>.........................] - ETA: 2:37 - loss: 1.6121 - accuracy: 0.2300\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 26/150 [====>.........................] - ETA: 2:32 - loss: 1.6112 - accuracy: 0.2296\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 27/150 [====>.........................] - ETA: 2:27 - loss: 1.6086 - accuracy: 0.2326\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 28/150 [====>.........................] - ETA: 2:23 - loss: 1.6071 - accuracy: 0.2299\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 29/150 [====>.........................] - ETA: 2:19 - loss: 1.6046 - accuracy: 0.2317\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 30/150 [=====>........................] - ETA: 2:15 - loss: 1.6016 - accuracy: 0.2365\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 31/150 [=====>........................] - ETA: 2:11 - loss: 1.5991 - accuracy: 0.2429\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 32/150 [=====>........................] - ETA: 2:08 - loss: 1.5971 - accuracy: 0.2441\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 33/150 [=====>........................] - ETA: 2:04 - loss: 1.5928 - accuracy: 0.2481\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 34/150 [=====>........................] - ETA: 2:01 - loss: 1.5892 - accuracy: 0.2518\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 35/150 [======>.......................] - ETA: 1:58 - loss: 1.5843 - accuracy: 0.2580\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 36/150 [======>.......................] - ETA: 1:55 - loss: 1.5820 - accuracy: 0.2604\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 37/150 [======>.......................] - ETA: 1:53 - loss: 1.5800 - accuracy: 0.2627\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 38/150 [======>.......................] - ETA: 1:50 - loss: 1.5768 - accuracy: 0.2673\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 39/150 [======>.......................] - ETA: 1:48 - loss: 1.5718 - accuracy: 0.2684\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 40/150 [=======>......................] - ETA: 1:45 - loss: 1.5658 - accuracy: 0.2727\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 41/150 [=======>......................] - ETA: 1:43 - loss: 1.5609 - accuracy: 0.2752\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 42/150 [=======>......................] - ETA: 1:40 - loss: 1.5574 - accuracy: 0.2775\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 43/150 [=======>......................] - ETA: 1:38 - loss: 1.5516 - accuracy: 0.2812\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 44/150 [=======>......................] - ETA: 1:36 - loss: 1.5446 - accuracy: 0.2869\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 45/150 [========>.....................] - ETA: 1:34 - loss: 1.5396 - accuracy: 0.2896\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 46/150 [========>.....................] - ETA: 1:32 - loss: 1.5322 - accuracy: 0.2942\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 47/150 [========>.....................] - ETA: 1:31 - loss: 1.5286 - accuracy: 0.2965\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 48/150 [========>.....................] - ETA: 1:29 - loss: 1.5226 - accuracy: 0.3001\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 49/150 [========>.....................] - ETA: 1:27 - loss: 1.5170 - accuracy: 0.3042\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 50/150 [=========>....................] - ETA: 1:25 - loss: 1.5119 - accuracy: 0.3075\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 51/150 [=========>....................] - ETA: 1:24 - loss: 1.5075 - accuracy: 0.3119\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 52/150 [=========>....................] - ETA: 1:22 - loss: 1.5025 - accuracy: 0.3161\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 53/150 [=========>....................] - ETA: 1:21 - loss: 1.4979 - accuracy: 0.3196\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 54/150 [=========>....................] - ETA: 1:19 - loss: 1.4919 - accuracy: 0.3235\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 55/150 [==========>...................] - ETA: 1:18 - loss: 1.4869 - accuracy: 0.3267\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 56/150 [==========>...................] - ETA: 1:16 - loss: 1.4828 - accuracy: 0.3320\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 57/150 [==========>...................] - ETA: 1:15 - loss: 1.4799 - accuracy: 0.3339\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 58/150 [==========>...................] - ETA: 1:14 - loss: 1.4754 - accuracy: 0.3367\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 59/150 [==========>...................] - ETA: 1:12 - loss: 1.4704 - accuracy: 0.3406\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 60/150 [===========>..................] - ETA: 1:11 - loss: 1.4661 - accuracy: 0.3443\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 61/150 [===========>..................] - ETA: 1:10 - loss: 1.4632 - accuracy: 0.3494\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 62/150 [===========>..................] - ETA: 1:09 - loss: 1.4557 - accuracy: 0.3564\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 63/150 [===========>..................] - ETA: 1:07 - loss: 1.4479 - accuracy: 0.3641\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 64/150 [===========>..................] - ETA: 1:06 - loss: 1.4422 - accuracy: 0.3691\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 65/150 [============>.................] - ETA: 1:05 - loss: 1.4367 - accuracy: 0.3731\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 66/150 [============>.................] - ETA: 1:04 - loss: 1.4300 - accuracy: 0.3793\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 67/150 [============>.................] - ETA: 1:03 - loss: 1.4233 - accuracy: 0.3857\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 68/150 [============>.................] - ETA: 1:02 - loss: 1.4157 - accuracy: 0.3920\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 69/150 [============>.................] - ETA: 1:01 - loss: 1.4082 - accuracy: 0.3972\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 70/150 [=============>................] - ETA: 1:00 - loss: 1.4007 - accuracy: 0.4036\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 71/150 [=============>................] - ETA: 58s - loss: 1.3924 - accuracy: 0.4107 \\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 72/150 [=============>................] - ETA: 57s - loss: 1.3860 - accuracy: 0.4158\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 73/150 [=============>................] - ETA: 56s - loss: 1.3805 - accuracy: 0.4217\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 74/150 [=============>................] - ETA: 55s - loss: 1.3728 - accuracy: 0.4282\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 75/150 [==============>...............] - ETA: 54s - loss: 1.3663 - accuracy: 0.4342\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 76/150 [==============>...............] - ETA: 53s - loss: 1.3583 - accuracy: 0.4400\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 77/150 [==============>...............] - ETA: 52s - loss: 1.3531 - accuracy: 0.4440\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 78/150 [==============>...............] - ETA: 51s - loss: 1.3489 - accuracy: 0.4479\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 79/150 [==============>...............] - ETA: 50s - loss: 1.3424 - accuracy: 0.4525\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 80/150 [===============>..............] - ETA: 50s - loss: 1.3345 - accuracy: 0.4586\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 81/150 [===============>..............] - ETA: 49s - loss: 1.3280 - accuracy: 0.4630\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 82/150 [===============>..............] - ETA: 48s - loss: 1.3227 - accuracy: 0.4665\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 83/150 [===============>..............] - ETA: 47s - loss: 1.3160 - accuracy: 0.4714\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 84/150 [===============>..............] - ETA: 46s - loss: 1.3088 - accuracy: 0.4766\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 85/150 [================>.............] - ETA: 45s - loss: 1.3012 - accuracy: 0.4816\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 86/150 [================>.............] - ETA: 44s - loss: 1.2928 - accuracy: 0.4866\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 87/150 [================>.............] - ETA: 43s - loss: 1.2841 - accuracy: 0.4914\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 88/150 [================>.............] - ETA: 42s - loss: 1.2769 - accuracy: 0.4957\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 89/150 [================>.............] - ETA: 42s - loss: 1.2711 - accuracy: 0.4993\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 90/150 [=================>............] - ETA: 41s - loss: 1.2618 - accuracy: 0.5045\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 91/150 [=================>............] - ETA: 40s - loss: 1.2534 - accuracy: 0.5093\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 92/150 [=================>............] - ETA: 39s - loss: 1.2458 - accuracy: 0.5132\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 93/150 [=================>............] - ETA: 38s - loss: 1.2397 - accuracy: 0.5161\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 94/150 [=================>............] - ETA: 38s - loss: 1.2313 - accuracy: 0.5203\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 95/150 [==================>...........] - ETA: 37s - loss: 1.2242 - accuracy: 0.5240\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 96/150 [==================>...........] - ETA: 36s - loss: 1.2158 - accuracy: 0.5283\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 97/150 [==================>...........] - ETA: 35s - loss: 1.2068 - accuracy: 0.5329\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 98/150 [==================>...........] - ETA: 34s - loss: 1.2019 - accuracy: 0.5360\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 99/150 [==================>...........] - ETA: 34s - loss: 1.1934 - accuracy: 0.5398\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r100/150 [===================>..........] - ETA: 33s - loss: 1.1870 - accuracy: 0.5431\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r101/150 [===================>..........] - ETA: 32s - loss: 1.1801 - accuracy: 0.5464\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r102/150 [===================>..........] - ETA: 31s - loss: 1.1710 - accuracy: 0.5509\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r103/150 [===================>..........] - ETA: 31s - loss: 1.1650 - accuracy: 0.5531\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r104/150 [===================>..........] - ETA: 30s - loss: 1.1588 - accuracy: 0.5562\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r105/150 [====================>.........] - ETA: 29s - loss: 1.1553 - accuracy: 0.5577\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r106/150 [====================>.........] - ETA: 28s - loss: 1.1494 - accuracy: 0.5607\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r107/150 [====================>.........] - ETA: 28s - loss: 1.1441 - accuracy: 0.5631\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r108/150 [====================>.........] - ETA: 27s - loss: 1.1377 - accuracy: 0.5660\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r109/150 [====================>.........] - ETA: 26s - loss: 1.1302 - accuracy: 0.5694\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r110/150 [=====================>........] - ETA: 26s - loss: 1.1246 - accuracy: 0.5722\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r111/150 [=====================>........] - ETA: 25s - loss: 1.1179 - accuracy: 0.5755\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r112/150 [=====================>........] - ETA: 24s - loss: 1.1115 - accuracy: 0.5787\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r113/150 [=====================>........] - ETA: 23s - loss: 1.1067 - accuracy: 0.5805\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r114/150 [=====================>........] - ETA: 23s - loss: 1.1006 - accuracy: 0.5833\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r115/150 [======================>.......] - ETA: 22s - loss: 1.0954 - accuracy: 0.5856\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r116/150 [======================>.......] - ETA: 21s - loss: 1.0914 - accuracy: 0.5873\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r117/150 [======================>.......] - ETA: 21s - loss: 1.0844 - accuracy: 0.5903\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r118/150 [======================>.......] - ETA: 20s - loss: 1.0804 - accuracy: 0.5922\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r119/150 [======================>.......] - ETA: 19s - loss: 1.0754 - accuracy: 0.5948\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r120/150 [=======================>......] - ETA: 19s - loss: 1.0695 - accuracy: 0.5974\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r121/150 [=======================>......] - ETA: 18s - loss: 1.0628 - accuracy: 0.6002\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r122/150 [=======================>......] - ETA: 17s - loss: 1.0569 - accuracy: 0.6030\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r123/150 [=======================>......] - ETA: 17s - loss: 1.0521 - accuracy: 0.6052\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r124/150 [=======================>......] - ETA: 16s - loss: 1.0474 - accuracy: 0.6074\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r125/150 [========================>.....] - ETA: 15s - loss: 1.0444 - accuracy: 0.6095\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r126/150 [========================>.....] - ETA: 15s - loss: 1.0392 - accuracy: 0.6116\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r127/150 [========================>.....] - ETA: 14s - loss: 1.0349 - accuracy: 0.6134\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r128/150 [========================>.....] - ETA: 13s - loss: 1.0293 - accuracy: 0.6155\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r129/150 [========================>.....] - ETA: 13s - loss: 1.0248 - accuracy: 0.6175\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r130/150 [=========================>....] - ETA: 12s - loss: 1.0212 - accuracy: 0.6192\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r131/150 [=========================>....] - ETA: 11s - loss: 1.0191 - accuracy: 0.6200\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r132/150 [=========================>....] - ETA: 11s - loss: 1.0145 - accuracy: 0.6219\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r133/150 [=========================>....] - ETA: 10s - loss: 1.0093 - accuracy: 0.6241\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r134/150 [=========================>....] - ETA: 9s - loss: 1.0063 - accuracy: 0.6255 \\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r135/150 [==========================>...] - ETA: 9s - loss: 1.0015 - accuracy: 0.6273\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r136/150 [==========================>...] - ETA: 8s - loss: 0.9968 - accuracy: 0.6294\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r137/150 [==========================>...] - ETA: 8s - loss: 0.9914 - accuracy: 0.6316\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r138/150 [==========================>...] - ETA: 7s - loss: 0.9868 - accuracy: 0.6338\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r139/150 [==========================>...] - ETA: 6s - loss: 0.9831 - accuracy: 0.6356\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r140/150 [===========================>..] - ETA: 6s - loss: 0.9780 - accuracy: 0.6377\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r141/150 [===========================>..] - ETA: 5s - loss: 0.9735 - accuracy: 0.6396\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r142/150 [===========================>..] - ETA: 4s - loss: 0.9702 - accuracy: 0.6413\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r143/150 [===========================>..] - ETA: 4s - loss: 0.9662 - accuracy: 0.6429\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r144/150 [===========================>..] - ETA: 3s - loss: 0.9642 - accuracy: 0.6441\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r145/150 [============================>.] - ETA: 3s - loss: 0.9602 - accuracy: 0.6459\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r146/150 [============================>.] - ETA: 2s - loss: 0.9578 - accuracy: 0.6466\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r147/150 [============================>.] - ETA: 1s - loss: 0.9537 - accuracy: 0.6480\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r148/150 [============================>.] - ETA: 1s - loss: 0.9502 - accuracy: 0.6495\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r149/150 [============================>.] - ETA: 0s - loss: 0.9454 - accuracy: 0.65142019-11-05 07:30:25.909761: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n\\t [[tf_bert_for_multi_classification/bert/embeddings/Shape/_10]]\\n2019-11-05 07:30:25.909859: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r150/150 [==============================] - 107s 711ms/step - loss: 0.9405 - accuracy: 0.6533 - val_loss: 0.3507 - val_accuracy: 0.9084\\nEpoch 2/3\\n\\r 1/46 [..............................] - ETA: 22s - loss: 0.2386 - accuracy: 0.9688\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 2/46 [>.............................] - ETA: 22s - loss: 0.4241 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 3/46 [>.............................] - ETA: 20s - loss: 0.3798 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 4/46 [=>............................] - ETA: 20s - loss: 0.3692 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 5/46 [==>...........................] - ETA: 19s - loss: 0.3722 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 6/46 [==>...........................] - ETA: 17s - loss: 0.3586 - accuracy: 0.9115\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 7/46 [===>..........................] - ETA: 16s - loss: 0.3391 - accuracy: 0.9152\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 8/46 [====>.........................] - ETA: 18s - loss: 0.3636 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 9/46 [====>.........................] - ETA: 17s - loss: 0.3681 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r10/46 [=====>........................] - ETA: 17s - loss: 0.3544 - accuracy: 0.9094\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r11/46 [======>.......................] - ETA: 16s - loss: 0.3446 - accuracy: 0.9119\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r12/46 [======>.......................] - ETA: 16s - loss: 0.3614 - accuracy: 0.9036\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r13/46 [=======>......................] - ETA: 15s - loss: 0.3583 - accuracy: 0.8990\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r14/46 [========>.....................] - ETA: 15s - loss: 0.3621 - accuracy: 0.8973\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r15/46 [========>.....................] - ETA: 14s - loss: 0.3666 - accuracy: 0.8958\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r16/46 [=========>....................] - ETA: 14s - loss: 0.3728 - accuracy: 0.8926\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r17/46 [==========>...................] - ETA: 13s - loss: 0.3773 - accuracy: 0.8897\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r18/46 [==========>...................] - ETA: 13s - loss: 0.3773 - accuracy: 0.8889\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r19/46 [===========>..................] - ETA: 12s - loss: 0.3798 - accuracy: 0.8865\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r20/46 [============>.................] - ETA: 12s - loss: 0.3714 - accuracy: 0.8906\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r21/46 [============>.................] - ETA: 11s - loss: 0.3703 - accuracy: 0.8914\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r22/46 [=============>................] - ETA: 11s - loss: 0.3659 - accuracy: 0.8949\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r23/46 [==============>...............] - ETA: 10s - loss: 0.3564 - accuracy: 0.8981\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r24/46 [==============>...............] - ETA: 10s - loss: 0.3496 - accuracy: 0.8997\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r25/46 [===============>..............] - ETA: 9s - loss: 0.3509 - accuracy: 0.8988 \\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r26/46 [===============>..............] - ETA: 9s - loss: 0.3491 - accuracy: 0.9002\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r27/46 [================>.............] - ETA: 8s - loss: 0.3556 - accuracy: 0.8981\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r28/46 [=================>............] - ETA: 8s - loss: 0.3490 - accuracy: 0.9007\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r29/46 [=================>............] - ETA: 8s - loss: 0.3509 - accuracy: 0.8998\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r30/46 [==================>...........] - ETA: 7s - loss: 0.3497 - accuracy: 0.9000\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r31/46 [===================>..........] - ETA: 7s - loss: 0.3489 - accuracy: 0.9002\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r32/46 [===================>..........] - ETA: 6s - loss: 0.3483 - accuracy: 0.9004\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r33/46 [====================>.........] - ETA: 6s - loss: 0.3476 - accuracy: 0.9006\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r34/46 [=====================>........] - ETA: 5s - loss: 0.3419 - accuracy: 0.9017\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r35/46 [=====================>........] - ETA: 5s - loss: 0.3413 - accuracy: 0.9018\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r36/46 [======================>.......] - ETA: 4s - loss: 0.3451 - accuracy: 0.9002\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r37/46 [=======================>......] - ETA: 4s - loss: 0.3406 - accuracy: 0.9020\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r38/46 [=======================>......] - ETA: 3s - loss: 0.3373 - accuracy: 0.9038\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r39/46 [========================>.....] - ETA: 3s - loss: 0.3450 - accuracy: 0.9022\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r40/46 [=========================>....] - ETA: 2s - loss: 0.3385 - accuracy: 0.9047\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r41/46 [=========================>....] - ETA: 2s - loss: 0.3355 - accuracy: 0.9055\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r42/46 [==========================>...] - ETA: 1s - loss: 0.3384 - accuracy: 0.9048\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r43/46 [===========================>..] - ETA: 1s - loss: 0.3372 - accuracy: 0.9055\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r44/46 [===========================>..] - ETA: 0s - loss: 0.3318 - accuracy: 0.9070\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r45/46 [============================>.] - ETA: 0s - loss: 0.3321 - accuracy: 0.90622019-11-05 07:31:50.145547: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n2019-11-05 07:31:50.145577: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n\\t [[tf_bert_for_multi_classification/bert/embeddings/Shape/_10]]\\n\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r150/46 [=================================================================================================] - 84s 562ms/step - loss: 0.3625 - accuracy: 0.9094 - val_loss: 0.2860 - val_accuracy: 0.9160\\nEpoch 3/3\\n\\r 1/46 [..............................] - ETA: 19s - loss: 0.3330 - accuracy: 0.8750\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 2/46 [>.............................] - ETA: 20s - loss: 0.2360 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 3/46 [>.............................] - ETA: 19s - loss: 0.2620 - accuracy: 0.9167\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 4/46 [=>............................] - ETA: 19s - loss: 0.2156 - accuracy: 0.9375\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 5/46 [==>...........................] - ETA: 19s - loss: 0.2054 - accuracy: 0.9438\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 6/46 [==>...........................] - ETA: 18s - loss: 0.2340 - accuracy: 0.9323\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 7/46 [===>..........................] - ETA: 18s - loss: 0.2082 - accuracy: 0.9420\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 8/46 [====>.........................] - ETA: 18s - loss: 0.2136 - accuracy: 0.9414\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 9/46 [====>.........................] - ETA: 18s - loss: 0.2301 - accuracy: 0.9375\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r10/46 [=====>........................] - ETA: 17s - loss: 0.2172 - accuracy: 0.9406\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r11/46 [======>.......................] - ETA: 16s - loss: 0.2019 - accuracy: 0.9460\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r12/46 [======>.......................] - ETA: 16s - loss: 0.1981 - accuracy: 0.9479\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r13/46 [=======>......................] - ETA: 15s - loss: 0.2031 - accuracy: 0.9471\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r14/46 [========>.....................] - ETA: 14s - loss: 0.2130 - accuracy: 0.9420\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r15/46 [========>.....................] - ETA: 14s - loss: 0.2172 - accuracy: 0.9417\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r16/46 [=========>....................] - ETA: 14s - loss: 0.2243 - accuracy: 0.9414\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r17/46 [==========>...................] - ETA: 14s - loss: 0.2258 - accuracy: 0.9412\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r18/46 [==========>...................] - ETA: 13s - loss: 0.2161 - accuracy: 0.9444\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r19/46 [===========>..................] - ETA: 13s - loss: 0.2291 - accuracy: 0.9408\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r20/46 [============>.................] - ETA: 12s - loss: 0.2373 - accuracy: 0.9391\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r21/46 [============>.................] - ETA: 11s - loss: 0.2553 - accuracy: 0.9345\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r22/46 [=============>................] - ETA: 11s - loss: 0.2621 - accuracy: 0.9290\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r23/46 [==============>...............] - ETA: 11s - loss: 0.2628 - accuracy: 0.9293\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r24/46 [==============>...............] - ETA: 10s - loss: 0.2788 - accuracy: 0.9219\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r25/46 [===============>..............] - ETA: 10s - loss: 0.2731 - accuracy: 0.9237\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r26/46 [===============>..............] - ETA: 9s - loss: 0.2804 - accuracy: 0.9207 \\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r27/46 [================>.............] - ETA: 9s - loss: 0.2884 - accuracy: 0.9190\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r28/46 [=================>............] - ETA: 8s - loss: 0.2813 - accuracy: 0.9219\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r29/46 [=================>............] - ETA: 8s - loss: 0.2761 - accuracy: 0.9235\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r30/46 [==================>...........] - ETA: 7s - loss: 0.2723 - accuracy: 0.9240\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r31/46 [===================>..........] - ETA: 7s - loss: 0.2654 - accuracy: 0.9264\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r32/46 [===================>..........] - ETA: 6s - loss: 0.2622 - accuracy: 0.9277\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r33/46 [====================>.........] - ETA: 6s - loss: 0.2601 - accuracy: 0.9290\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r34/46 [=====================>........] - ETA: 5s - loss: 0.2546 - accuracy: 0.9311\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r35/46 [=====================>........] - ETA: 5s - loss: 0.2494 - accuracy: 0.9321\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r36/46 [======================>.......] - ETA: 4s - loss: 0.2487 - accuracy: 0.9323\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r37/46 [=======================>......] - ETA: 4s - loss: 0.2472 - accuracy: 0.9333\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r38/46 [=======================>......] - ETA: 3s - loss: 0.2440 - accuracy: 0.9342\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r39/46 [========================>.....] - ETA: 3s - loss: 0.2421 - accuracy: 0.9351\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r40/46 [=========================>....] - ETA: 2s - loss: 0.2372 - accuracy: 0.9367\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r41/46 [=========================>....] - ETA: 2s - loss: 0.2348 - accuracy: 0.9375\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r42/46 [==========================>...] - ETA: 1s - loss: 0.2345 - accuracy: 0.9375\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r43/46 [===========================>..] - ETA: 1s - loss: 0.2355 - accuracy: 0.9375\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r44/46 [===========================>..] - ETA: 0s - loss: 0.2309 - accuracy: 0.9389\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r45/46 [============================>.] - ETA: 0s - loss: 0.2327 - accuracy: 0.93822019-11-05 07:33:14.535059: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n2019-11-05 07:33:14.535096: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n\\t [[tf_bert_for_multi_classification/bert/embeddings/Shape/_10]]\\n\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r150/46 [=================================================================================================] - 84s 563ms/step - loss: 0.1885 - accuracy: 0.9383 - val_loss: 0.2857 - val_accuracy: 0.9216\\n\\r 1/Unknown - 0s 416ms/step - loss: 0.3374 - accuracy: 0.9062\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 2/Unknown - 1s 324ms/step - loss: 0.2122 - accuracy: 0.9531\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 3/Unknown - 1s 303ms/step - loss: 0.2031 - accuracy: 0.9479\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 4/Unknown - 1s 294ms/step - loss: 0.2419 - accuracy: 0.9375\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 5/Unknown - 1s 286ms/step - loss: 0.2545 - accuracy: 0.9312\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 6/Unknown - 2s 308ms/step - loss: 0.2389 - accuracy: 0.9219\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 7/Unknown - 2s 302ms/step - loss: 0.2100 - accuracy: 0.9330\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 8/Unknown - 2s 300ms/step - loss: 0.1981 - accuracy: 0.9375\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 9/Unknown - 3s 297ms/step - loss: 0.1921 - accuracy: 0.9410\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 10/Unknown - 3s 296ms/step - loss: 0.1926 - accuracy: 0.9406\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 11/Unknown - 3s 294ms/step - loss: 0.2302 - accuracy: 0.9347\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 12/Unknown - 4s 292ms/step - loss: 0.2411 - accuracy: 0.9323\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 13/Unknown - 4s 290ms/step - loss: 0.2424 - accuracy: 0.9327\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 14/Unknown - 4s 288ms/step - loss: 0.2415 - accuracy: 0.9353\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 15/Unknown - 4s 288ms/step - loss: 0.2441 - accuracy: 0.9312\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 16/Unknown - 5s 288ms/step - loss: 0.2546 - accuracy: 0.9277\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 17/Unknown - 5s 287ms/step - loss: 0.2573 - accuracy: 0.9246\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 18/Unknown - 5s 285ms/step - loss: 0.2443 - accuracy: 0.9288\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 19/Unknown - 5s 282ms/step - loss: 0.2422 - accuracy: 0.9276\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 20/Unknown - 6s 282ms/step - loss: 0.2418 - accuracy: 0.9281\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 21/Unknown - 6s 281ms/step - loss: 0.2328 - accuracy: 0.9301\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r 22/Unknown - 6s 276ms/step - loss: 0.2448 - accuracy: 0.92602019-11-05 07:33:20.626245: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n2019-11-05 07:33:20.626263: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Out of range: End of sequence\\n\\t [[{{node IteratorGetNext}}]]\\n\\t [[tf_bert_for_multi_classification/bert/embeddings/Shape/_10]]\\n\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\r22/22 [==============================] - 6s 276ms/step - loss: 0.2448 - accuracy: 0.9260\\nI1105 07:33:20.798741 140555282306880 configuration_utils.py:70] Configuration saved in ./outputs/model/config.json\\nI1105 07:33:22.790246 140555282306880 modeling_tf_utils.py:136] Model weights saved in ./outputs/model/tf_model.h5\\n\\n\\nThe experiment completed successfully. Finalizing run...\\nI1105 07:33:22.791280 140555282306880 context_manager_injector.py:48] Exiting context: UserExceptions\\nI1105 07:33:22.791399 140555282306880 context_manager_injector.py:48] Exiting context: TrackUserError\\nI1105 07:33:22.791497 140555282306880 context_manager_injector.py:48] Exiting context: RunHistory\\nCleaning up all outstanding Run operations, waiting 300.0 seconds\\n1 items cleaning up...\\nCleanup took 0.0005791187286376953 seconds\\nI1105 07:33:22.833946 140555282306880 context_manager_injector.py:48] Exiting context: Dataset\\nEnter __exit__ of DatasetContextManager\\nUnmounting /Dataset/azureservicedata.\\nFinishing unmounting /Dataset/azureservicedata.\\nExit __exit__ of DatasetContextManager\\nI1105 07:33:22.939827 140555282306880 context_manager_injector.py:48] Exiting context: ProjectPythonPath\\n\", \"graph\": {}, \"widget_settings\": {\"childWidgetDisplay\": \"popup\", \"send_telemetry\": false, \"log_level\": \"INFO\", \"sdk_version\": \"1.0.72\"}, \"loading\": false}" - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from azureml.widgets import RunDetails\n", "RunDetails(run1).show()" From 3d44dd1f49fc8632cfce709895eaea07d4722c9e Mon Sep 17 00:00:00 2001 From: John Wu Date: Tue, 5 Nov 2019 08:14:29 +0000 Subject: [PATCH 18/22] Fixed dataprep version issue --- .../AzureServiceClassifier_Training.ipynb | 63 ++++++++++++++----- 1 file changed, 48 insertions(+), 15 deletions(-) diff --git a/1-Training/AzureServiceClassifier_Training.ipynb b/1-Training/AzureServiceClassifier_Training.ipynb index 23453cc..041dc1e 100644 --- a/1-Training/AzureServiceClassifier_Training.ipynb +++ b/1-Training/AzureServiceClassifier_Training.ipynb @@ -190,9 +190,20 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Workspace name: tf-world\n", + "Azure region: eastus\n", + "Subscription id: 15ae9cb6-95c1-483d-a0e3-b1a1a3b06324\n", + "Resource group: tf-world\n" + ] + } + ], "source": [ "from azureml.core import Workspace\n", "\n", @@ -268,7 +279,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": { "scrolled": true }, @@ -337,7 +348,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": { "scrolled": true }, @@ -434,7 +445,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": { "scrolled": true }, @@ -564,7 +575,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": { "scrolled": true }, @@ -591,7 +602,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": { "scrolled": true }, @@ -613,7 +624,7 @@ " },\n", " framework_version='2.0',\n", " use_gpu=True,\n", - " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.1.22'])" + " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.1.29'])" ] }, { @@ -648,7 +659,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": { "scrolled": true }, @@ -666,11 +677,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "95b9771e1b5241a3b547462ee3ae9484", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "_UserRunWidget(widget_settings={'childWidgetDisplay': 'popup', 'send_telemetry': False, 'log_level': 'INFO', '…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/aml.mini.widget.v1": "{\"status\": \"Preparing\", \"workbench_run_details_uri\": \"https://ml.azure.com/experiments/azure-service-classifier/runs/azure-service-classifier_1572941031_afae9b73?wsid=/subscriptions/15ae9cb6-95c1-483d-a0e3-b1a1a3b06324/resourcegroups/tf-world/workspaces/tf-world\", \"run_id\": \"azure-service-classifier_1572941031_afae9b73\", \"run_properties\": {\"run_id\": \"azure-service-classifier_1572941031_afae9b73\", \"created_utc\": \"2019-11-05T08:03:56.674875Z\", \"properties\": {\"_azureml.ComputeTargetType\": \"batchai\", \"ContentSnapshotId\": \"bb3af30c-764f-4f25-85e2-857df51ab757\", \"azureml.git.repository_uri\": \"https://github.com/microsoft/bert-stack-overflow\", \"mlflow.source.git.repoURL\": \"https://github.com/microsoft/bert-stack-overflow\", \"azureml.git.branch\": \"john\", \"mlflow.source.git.branch\": \"john\", \"azureml.git.commit\": \"69016d7ea04406fb4bd3c21889a189939db13f5c\", \"mlflow.source.git.commit\": \"69016d7ea04406fb4bd3c21889a189939db13f5c\", \"azureml.git.dirty\": \"True\", \"AzureML.DerivedImageName\": \"azureml/azureml_8b8765b28a4a858399aa44e9096a8d04\"}, \"tags\": {}, \"script_name\": null, \"arguments\": null, \"end_time_utc\": null, \"status\": \"Preparing\", \"log_files\": {\"azureml-logs/20_image_build_log.txt\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572941031_afae9b73/azureml-logs/20_image_build_log.txt?sv=2019-02-02&sr=b&sig=OH01XkDPZBeS14EeGdBdjl%2Bl8oApXY%2FQ4MxHmnDsXm8%3D&st=2019-11-05T08%3A03%3A39Z&se=2019-11-05T16%3A13%3A39Z&sp=r\"}, \"log_groups\": [[\"azureml-logs/20_image_build_log.txt\"]], \"run_duration\": \"0:09:42\"}, \"child_runs\": [], \"children_metrics\": {}, \"run_metrics\": [], \"run_logs\": \"2019/11/05 08:04:08 Downloading source code...\\r\\n2019/11/05 08:04:11 Finished downloading source code\\r\\n2019/11/05 08:04:11 Creating Docker network: acb_default_network, driver: 'bridge'\\n2019/11/05 08:04:12 Successfully set up Docker network: acb_default_network\\n2019/11/05 08:04:12 Setting up Docker configuration...\\n2019/11/05 08:04:13 Successfully set up Docker configuration\\n2019/11/05 08:04:13 Logging in to registry: tfworld0b69c845.azurecr.io\\n2019/11/05 08:04:14 Successfully logged into tfworld0b69c845.azurecr.io\\r\\n2019/11/05 08:04:14 Executing step ID: acb_step_0. Timeout(sec): 5400, Working directory: '', Network: 'acb_default_network'\\n2019/11/05 08:04:14 Scanning for dependencies...\\n2019/11/05 08:04:15 Successfully scanned dependencies\\n2019/11/05 08:04:15 Launching container with name: acb_step_0\\nSending build context to Docker daemon 59.39kB\\r\\r\\nStep 1/14 : FROM mcr.microsoft.com/azureml/base-gpu:openmpi3.1.2-cuda10.0-cudnn7-ubuntu18.04@sha256:887cd45a30688c445afa08378f88b4e5aef820bc3e2c9af6e1c89a41a8aaf33e\\nsha256:887cd45a30688c445afa08378f88b4e5aef820bc3e2c9af6e1c89a41a8aaf33e: Pulling from azureml/base-gpu\\n35c102085707: Pulling fs layer\\n251f5509d51d: Pulling fs layer\\n8e829fe70a46: Pulling fs layer\\n6001e1789921: Pulling fs layer\\n9f0a21d58e5d: Pulling fs layer\\n8810fcda1e6e: Pulling fs layer\\nd701a76e3193: Pulling fs layer\\n34be232fb7a6: Pulling fs layer\\n7e62b1ed3410: Pulling fs layer\\n47526c6630b9: Pulling fs layer\\nc8225a1ab66d: Pulling fs layer\\nba6ff8ef019c: Pulling fs layer\\n8c8fdd713d59: Pulling fs layer\\n412b4d6d8136: Pulling fs layer\\n517038e68f47: Pulling fs layer\\n10001740b54b: Pulling fs layer\\n49e1d575d70f: Pulling fs layer\\n6001e1789921: Waiting\\n9f0a21d58e5d: Waiting\\n8810fcda1e6e: Waiting\\nd701a76e3193: Waiting\\n34be232fb7a6: Waiting\\n7e62b1ed3410: Waiting\\n47526c6630b9: Waiting\\nc8225a1ab66d: Waiting\\nba6ff8ef019c: Waiting\\n8c8fdd713d59: Waiting\\n412b4d6d8136: Waiting\\n517038e68f47: Waiting\\n10001740b54b: Waiting\\n49e1d575d70f: Waiting\\n8e829fe70a46: Verifying Checksum\\n8e829fe70a46: Download complete\\r\\n251f5509d51d: Verifying Checksum\\n251f5509d51d: Download complete\\n6001e1789921: Verifying Checksum\\n6001e1789921: Download complete\\n35c102085707: Verifying Checksum\\n35c102085707: Download complete\\nd701a76e3193: Verifying Checksum\\nd701a76e3193: Download complete\\n8810fcda1e6e: Verifying Checksum\\n8810fcda1e6e: Download complete\\n9f0a21d58e5d: Verifying Checksum\\n9f0a21d58e5d: Download complete\\n35c102085707: Pull complete\\r\\n251f5509d51d: Pull complete\\n8e829fe70a46: Pull complete\\n6001e1789921: Pull complete\\n9f0a21d58e5d: Pull complete\\r\\n47526c6630b9: Verifying Checksum\\n47526c6630b9: Download complete\\r\\n8810fcda1e6e: Pull complete\\n34be232fb7a6: Verifying Checksum\\n34be232fb7a6: Download complete\\nc8225a1ab66d: Verifying Checksum\\nc8225a1ab66d: Download complete\\n8c8fdd713d59: Verifying Checksum\\nd701a76e3193: Pull complete\\n8c8fdd713d59: Download complete\\r\\nba6ff8ef019c: Verifying Checksum\\nba6ff8ef019c: Download complete\\n517038e68f47: Verifying Checksum\\n517038e68f47: Download complete\\n412b4d6d8136: Verifying Checksum\\n412b4d6d8136: Download complete\\n49e1d575d70f: Verifying Checksum\\n49e1d575d70f: Download complete\\r\\n10001740b54b: Verifying Checksum\\n10001740b54b: Download complete\\n7e62b1ed3410: Verifying Checksum\\n7e62b1ed3410: Download complete\\r\\n34be232fb7a6: Pull complete\\r\\n7e62b1ed3410: Pull complete\\r\\n47526c6630b9: Pull complete\\r\\nc8225a1ab66d: Pull complete\\r\\nba6ff8ef019c: Pull complete\\r\\n8c8fdd713d59: Pull complete\\n412b4d6d8136: Pull complete\\r\\n517038e68f47: Pull complete\\n10001740b54b: Pull complete\\n49e1d575d70f: Pull complete\\nDigest: sha256:887cd45a30688c445afa08378f88b4e5aef820bc3e2c9af6e1c89a41a8aaf33e\\nStatus: Downloaded newer image for mcr.microsoft.com/azureml/base-gpu:openmpi3.1.2-cuda10.0-cudnn7-ubuntu18.04@sha256:887cd45a30688c445afa08378f88b4e5aef820bc3e2c9af6e1c89a41a8aaf33e\\n ---> caf09b9e3e4d\\nStep 2/14 : USER root\\n ---> Running in 783fc5a92066\\r\\nRemoving intermediate container 783fc5a92066\\n ---> 6ed98cded985\\nStep 3/14 : RUN mkdir -p $HOME/.cache\\n ---> Running in 76a5af8c2f60\\r\\nRemoving intermediate container 76a5af8c2f60\\n ---> 833c7485e88c\\nStep 4/14 : WORKDIR /\\n ---> Running in 28f408902b12\\nRemoving intermediate container 28f408902b12\\n ---> 6fa6f0d06eb3\\nStep 5/14 : COPY azureml-environment-setup/99brokenproxy /etc/apt/apt.conf.d/\\r\\n ---> 49ac6f789d08\\nStep 6/14 : RUN if dpkg --compare-versions `conda --version | grep -oE '[^ ]+$'` lt 4.4.11; then conda install conda==4.4.11; fi\\n ---> Running in 3c8e37aeb68d\\nRemoving intermediate container 3c8e37aeb68d\\n ---> a542c833745e\\nStep 7/14 : COPY azureml-environment-setup/mutated_conda_dependencies.yml azureml-environment-setup/mutated_conda_dependencies.yml\\r\\n ---> a24c7198d716\\nStep 8/14 : RUN ldconfig /usr/local/cuda/lib64/stubs && conda env create -p /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817 -f azureml-environment-setup/mutated_conda_dependencies.yml && rm -rf \\\"$HOME/.cache/pip\\\" && conda clean -aqy && CONDA_ROOT_DIR=$(conda info --root) && rm -rf \\\"$CONDA_ROOT_DIR/pkgs\\\" && find \\\"$CONDA_ROOT_DIR\\\" -type d -name __pycache__ -exec rm -rf {} + && ldconfig\\n ---> Running in 16ad378da3e0\\nSolving environment: ...working... done\\r\\n\\u001b[91m\\n\\n==> WARNING: A newer version of conda exists. <==\\n current version: 4.5.11\\n latest version: 4.7.12\\n\\nPlease update conda by running\\n\\n $ conda update -n base -c defaults conda\\n\\n\\n\\rreadline-6.2 | 713 KB | | 0% \\u001b[0m\\u001b[91m\\rreadline-6.2 | 713 KB | ########9 | 90% \\u001b[0m\\u001b[91m\\rreadline-6.2 | 713 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\ropenssl-1.0.2r | 3.1 MB | | 0% \\u001b[0m\\u001b[91m\\ropenssl-1.0.2r | 3.1 MB | #######7 | 78% \\u001b[0m\\u001b[91m\\ropenssl-1.0.2r | 3.1 MB | #########8 | 98% \\u001b[0m\\u001b[91m\\ropenssl-1.0.2r | 3.1 MB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rca-certificates-2019 | 144 KB | | 0% \\u001b[0m\\u001b[91m\\rca-certificates-2019 | 144 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rncurses-5.9 | 1.1 MB | | 0% \\u001b[0m\\u001b[91m\\rncurses-5.9 | 1.1 MB | #######8 | 79% \\u001b[0m\\u001b[91m\\rncurses-5.9 | 1.1 MB | ########7 | 87% \\u001b[0m\\u001b[91m\\rncurses-5.9 | 1.1 MB | #########7 | 97% \\u001b[0m\\u001b[91m\\rncurses-5.9 | 1.1 MB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rlibgcc-ng-9.1.0 | 8.1 MB | | 0% \\u001b[0m\\u001b[91m\\rlibgcc-ng-9.1.0 | 8.1 MB | #######5 | 75% \\u001b[0m\\u001b[91m\\rlibgcc-ng-9.1.0 | 8.1 MB | #########7 | 98% \\u001b[0m\\u001b[91m\\rlibgcc-ng-9.1.0 | 8.1 MB | ########## | 100% \\u001b[0m\\u001b[91m\\r\\n\\rsetuptools-41.6.0 | 629 KB | | 0% \\u001b[0m\\u001b[91m\\rsetuptools-41.6.0 | 629 KB | ########7 | 88% \\u001b[0m\\u001b[91m\\rsetuptools-41.6.0 | 629 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rzlib-1.2.11 | 105 KB | | 0% \\u001b[0m\\u001b[91m\\rzlib-1.2.11 | 105 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\r_libgcc_mutex-0.1 | 3 KB | | 0% \\u001b[0m\\u001b[91m\\r_libgcc_mutex-0.1 | 3 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rsqlite-3.13.0 | 4.9 MB | | 0% \\u001b[0m\\u001b[91m\\rsqlite-3.13.0 | 4.9 MB | #######5 | 75% \\u001b[0m\\u001b[91m\\rsqlite-3.13.0 | 4.9 MB | #########7 | 98% \\u001b[0m\\u001b[91m\\rsqlite-3.13.0 | 4.9 MB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rcertifi-2019.9.11 | 147 KB | | 0% \\u001b[0m\\u001b[91m\\rcertifi-2019.9.11 | 147 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rwheel-0.33.6 | 35 KB | | 0% \\u001b[0m\\u001b[91m\\rwheel-0.33.6 | 35 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rtk-8.5.19 | 1.9 MB | | 0% \\u001b[0m\\u001b[91m\\rtk-8.5.19 | 1.9 MB | #######7 | 78% \\u001b[0m\\u001b[91m\\rtk-8.5.19 | 1.9 MB | #########1 | 91% \\u001b[0m\\u001b[91m\\rtk-8.5.19 | 1.9 MB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rpip-19.3.1 | 1.9 MB | | 0% \\u001b[0m\\u001b[91m\\rpip-19.3.1 | 1.9 MB | #######7 | 77% \\u001b[0m\\u001b[91m\\rpip-19.3.1 | 1.9 MB | ######### | 91% \\u001b[0m\\u001b[91m\\rpip-19.3.1 | 1.9 MB | ########## | 100% \\u001b[0m\\u001b[91m\\r\\n\\rxz-5.2.4 | 366 KB | | 0% \\u001b[0m\\u001b[91m\\rxz-5.2.4 | 366 KB | #########4 | 95% \\u001b[0m\\u001b[91m\\rxz-5.2.4 | 366 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rpython-3.6.2 | 19.0 MB | | 0% \\u001b[0m\\u001b[91m\\rpython-3.6.2 | 19.0 MB | ##9 | 29% \\u001b[0m\\u001b[91m\\rpython-3.6.2 | 19.0 MB | ######9 | 70% \\u001b[0m\\u001b[91m\\rpython-3.6.2 | 19.0 MB | ########8 | 88% \\u001b[0m\\u001b[91m\\rpython-3.6.2 | 19.0 MB | ########## | 100% \\u001b[0m\\nDownloading and Extracting Packages\\r\\nPreparing transaction: ...working... done\\nVerifying transaction: ...working... done\\r\\nExecuting transaction: ...working... done\\nCollecting transformers==2.0.0\\n Downloading https://files.pythonhosted.org/packages/66/99/ca0e4c35ccde7d290de3c9c236d5629d1879b04927e5ace9bd6d9183e236/transformers-2.0.0-py3-none-any.whl (290kB)\\nCollecting azureml-dataprep[fuse,pandas]==1.1.29\\n Downloading https://files.pythonhosted.org/packages/d5/2d/8e283d6db5156c5ed28fb02d074258409007a77ea52ecb430461470d4f56/azureml_dataprep-1.1.29-py3-none-any.whl (26.9MB)\\nCollecting azureml-defaults\\r\\n Downloading https://files.pythonhosted.org/packages/f9/ca/14357f9496cde331cf0926505c9ea2e280b887f33e5e0a65322ddda606a9/azureml_defaults-1.0.72-py2.py3-none-any.whl\\nCollecting tensorflow-gpu==2.0.0\\n Downloading https://files.pythonhosted.org/packages/25/44/47f0722aea081697143fbcf5d2aa60d1aee4aaacb5869aee2b568974777b/tensorflow_gpu-2.0.0-cp36-cp36m-manylinux2010_x86_64.whl (380.8MB)\\nCollecting horovod==0.18.1\\r\\n Downloading https://files.pythonhosted.org/packages/8b/a0/27b00807e6ed78bcab146594acd680e6493d9e49b43ed1649ccf70e2a95d/horovod-0.18.1.tar.gz (2.8MB)\\nCollecting regex\\r\\n Downloading https://files.pythonhosted.org/packages/e3/8e/cbf2295643d7265e7883326fb4654e643bfc93b3a8a8274d8010a39d8804/regex-2019.11.1-cp36-cp36m-manylinux1_x86_64.whl (643kB)\\nCollecting tqdm\\n Downloading https://files.pythonhosted.org/packages/05/f2/764a5d530cf143ded9bc95216edb6e258c6554511e78de7c250557e8f3ed/tqdm-4.37.0-py2.py3-none-any.whl (53kB)\\nCollecting requests\\n Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB)\\nCollecting boto3\\n Downloading https://files.pythonhosted.org/packages/a3/a4/75004e7352a9f3565331e6881a2312a79e46e434c24e5146b0e6c97fa08f/boto3-1.10.9-py2.py3-none-any.whl (128kB)\\nCollecting numpy\\n Downloading https://files.pythonhosted.org/packages/0e/46/ae6773894f7eacf53308086287897ec568eac9768918d913d5b9d366c5db/numpy-1.17.3-cp36-cp36m-manylinux1_x86_64.whl (20.0MB)\\nCollecting sacremoses\\r\\n Downloading https://files.pythonhosted.org/packages/1f/8e/ed5364a06a9ba720fddd9820155cc57300d28f5f43a6fd7b7e817177e642/sacremoses-0.0.35.tar.gz (859kB)\\nCollecting sentencepiece\\n Downloading https://files.pythonhosted.org/packages/14/3d/efb655a670b98f62ec32d66954e1109f403db4d937c50d779a75b9763a29/sentencepiece-0.1.83-cp36-cp36m-manylinux1_x86_64.whl (1.0MB)\\nCollecting azureml-dataprep-native<14.0.0,>=13.1.0\\n Downloading https://files.pythonhosted.org/packages/2a/b8/36399cebff8045a05cb69181771e450101ea3ac14f02ad564d63634b8aca/azureml_dataprep_native-13.1.0-cp36-cp36m-manylinux1_x86_64.whl (1.3MB)\\nCollecting cloudpickle>=1.1.0\\n Downloading https://files.pythonhosted.org/packages/c1/49/334e279caa3231255725c8e860fa93e72083567625573421db8875846c14/cloudpickle-1.2.2-py2.py3-none-any.whl\\nCollecting dotnetcore2>=2.1.9\\n Downloading https://files.pythonhosted.org/packages/e7/11/699ec6c3ec5e73437834203e4b530fdc760517498208eaa0b37a7f1e10af/dotnetcore2-2.1.9-py3-none-manylinux1_x86_64.whl (29.3MB)\\nCollecting fusepy>=3.0.1; extra == \\\"fuse\\\"\\r\\n Downloading https://files.pythonhosted.org/packages/04/0b/4506cb2e831cea4b0214d3625430e921faaa05a7fb520458c75a2dbd2152/fusepy-3.0.1.tar.gz\\nCollecting pandas>=0.19.2; extra == \\\"pandas\\\"\\n Downloading https://files.pythonhosted.org/packages/52/3f/f6a428599e0d4497e1595030965b5ba455fd8ade6e977e3c819973c4b41d/pandas-0.25.3-cp36-cp36m-manylinux1_x86_64.whl (10.4MB)\\nCollecting pyarrow==0.11.*; extra == \\\"pandas\\\"\\n Downloading https://files.pythonhosted.org/packages/36/94/23135312f97b20d6457294606fb70fad43ef93b7bffe567088ebe3623703/pyarrow-0.11.1-cp36-cp36m-manylinux1_x86_64.whl (11.6MB)\\nCollecting azureml-model-management-sdk==1.0.1b6.post1\\r\\n Downloading https://files.pythonhosted.org/packages/4e/53/9004a1e7d6d4e796abc4bcc8286bfc2a32739c5fbac3859ca7429a228897/azureml_model_management_sdk-1.0.1b6.post1-py2.py3-none-any.whl (130kB)\\nCollecting gunicorn==19.9.0\\n Downloading https://files.pythonhosted.org/packages/8c/da/b8dd8deb741bff556db53902d4706774c8e1e67265f69528c14c003644e6/gunicorn-19.9.0-py2.py3-none-any.whl (112kB)\\nCollecting applicationinsights>=0.11.7\\n Downloading https://files.pythonhosted.org/packages/a1/53/234c53004f71f0717d8acd37876e0b65c121181167057b9ce1b1795f96a0/applicationinsights-0.11.9-py2.py3-none-any.whl (58kB)\\nCollecting configparser==3.7.4\\n Downloading https://files.pythonhosted.org/packages/ba/05/6c96328e92e625fc31445d24d75a2c92ef9ba34fc5b037fe69693c362a0d/configparser-3.7.4-py2.py3-none-any.whl\\nCollecting azureml-core==1.0.72.*\\n Downloading https://files.pythonhosted.org/packages/b3/40/5f3478937e925a44a92c343b97f71243e9bcbedebc50f67038df044c97d9/azureml_core-1.0.72-py2.py3-none-any.whl (1.1MB)\\nCollecting flask==1.0.3\\n Downloading https://files.pythonhosted.org/packages/9a/74/670ae9737d14114753b8c8fdf2e8bd212a05d3b361ab15b44937dfd40985/Flask-1.0.3-py2.py3-none-any.whl (92kB)\\nCollecting json-logging-py==0.2\\n Downloading https://files.pythonhosted.org/packages/e9/e1/46c70eebf216b830867c4896ee678cb7f1b28bb68a2810c7e9a811cecfbc/json-logging-py-0.2.tar.gz\\nCollecting absl-py>=0.7.0\\n Downloading https://files.pythonhosted.org/packages/3b/72/e6e483e2db953c11efa44ee21c5fdb6505c4dffa447b4263ca8af6676b62/absl-py-0.8.1.tar.gz (103kB)\\nRequirement already satisfied: wheel>=0.26 in /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib/python3.6/site-packages (from tensorflow-gpu==2.0.0->-r /azureml-environment-setup/condaenv.mh4fscwv.requirements.txt (line 4)) (0.33.6)\\nCollecting opt-einsum>=2.3.2\\n Downloading https://files.pythonhosted.org/packages/b8/83/755bd5324777875e9dff19c2e59daec837d0378c09196634524a3d7269ac/opt_einsum-3.1.0.tar.gz (69kB)\\nCollecting keras-preprocessing>=1.0.5\\n Downloading https://files.pythonhosted.org/packages/28/6a/8c1f62c37212d9fc441a7e26736df51ce6f0e38455816445471f10da4f0a/Keras_Preprocessing-1.1.0-py2.py3-none-any.whl (41kB)\\nCollecting tensorboard<2.1.0,>=2.0.0\\n Downloading https://files.pythonhosted.org/packages/d3/9e/a48cd34dd7b672ffc227b566f7d16d63c62c58b542d54efa45848c395dd4/tensorboard-2.0.1-py3-none-any.whl (3.8MB)\\nCollecting wrapt>=1.11.1\\r\\n Downloading https://files.pythonhosted.org/packages/23/84/323c2415280bc4fc880ac5050dddfb3c8062c2552b34c2e512eb4aa68f79/wrapt-1.11.2.tar.gz\\nCollecting astor>=0.6.0\\n Downloading https://files.pythonhosted.org/packages/d1/4f/950dfae467b384fc96bc6469de25d832534f6b4441033c39f914efd13418/astor-0.8.0-py2.py3-none-any.whl\\nCollecting protobuf>=3.6.1\\n Downloading https://files.pythonhosted.org/packages/a8/52/d8d2dbff74b8bf517c42db8d44c3f9ef6555e6f5d6caddfa3f207b9143df/protobuf-3.10.0-cp36-cp36m-manylinux1_x86_64.whl (1.3MB)\\nCollecting keras-applications>=1.0.8\\n Downloading https://files.pythonhosted.org/packages/71/e3/19762fdfc62877ae9102edf6342d71b28fbfd9dea3d2f96a882ce099b03f/Keras_Applications-1.0.8-py3-none-any.whl (50kB)\\nCollecting six>=1.10.0\\n Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl\\nCollecting grpcio>=1.8.6\\n Downloading https://files.pythonhosted.org/packages/30/54/c9810421e41ec0bca2228c6f06b1b1189b196b69533cbcac9f71b44727f8/grpcio-1.24.3-cp36-cp36m-manylinux2010_x86_64.whl (2.2MB)\\nCollecting termcolor>=1.1.0\\n Downloading https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz\\nCollecting gast==0.2.2\\n Downloading https://files.pythonhosted.org/packages/4e/35/11749bf99b2d4e3cceb4d55ca22590b0d7c2c62b9de38ac4a4a7f4687421/gast-0.2.2.tar.gz\\nCollecting google-pasta>=0.1.6\\r\\n Downloading https://files.pythonhosted.org/packages/c3/fd/1e86bc4837cc9a3a5faf3db9b1854aa04ad35b5f381f9648fbe81a6f94e4/google_pasta-0.1.8-py3-none-any.whl (57kB)\\nCollecting tensorflow-estimator<2.1.0,>=2.0.0\\n Downloading https://files.pythonhosted.org/packages/fc/08/8b927337b7019c374719145d1dceba21a8bb909b93b1ad6f8fb7d22c1ca1/tensorflow_estimator-2.0.1-py2.py3-none-any.whl (449kB)\\nCollecting psutil\\n Downloading https://files.pythonhosted.org/packages/47/ea/d3b6d6fd0b4a6c12984df652525f394e68c8678d2b05075219144eb3a1cf/psutil-5.6.4.tar.gz (447kB)\\n Installing build dependencies: started\\n Installing build dependencies: finished with status 'done'\\r\\n Getting requirements to build wheel: started\\n Getting requirements to build wheel: finished with status 'done'\\n Preparing wheel metadata: started\\n Preparing wheel metadata: finished with status 'done'\\nCollecting pyyaml\\n Downloading https://files.pythonhosted.org/packages/e3/e8/b3212641ee2718d556df0f23f78de8303f068fe29cdaa7a91018849582fe/PyYAML-5.1.2.tar.gz (265kB)\\nCollecting cffi>=1.4.0\\n Downloading https://files.pythonhosted.org/packages/49/72/0d42f94fe94afa8030350c26e9d787219f3f008ec9bf6b86c66532b29236/cffi-1.13.2-cp36-cp36m-manylinux1_x86_64.whl (397kB)\\nCollecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1\\n Downloading https://files.pythonhosted.org/packages/e0/da/55f51ea951e1b7c63a579c09dd7db825bb730ec1fe9c0180fc77bfb31448/urllib3-1.25.6-py2.py3-none-any.whl (125kB)\\nRequirement already satisfied: certifi>=2017.4.17 in /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib/python3.6/site-packages (from requests->transformers==2.0.0->-r /azureml-environment-setup/condaenv.mh4fscwv.requirements.txt (line 1)) (2019.9.11)\\nCollecting idna<2.9,>=2.5\\n Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB)\\nCollecting chardet<3.1.0,>=3.0.2\\n Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)\\nCollecting s3transfer<0.3.0,>=0.2.0\\n Downloading https://files.pythonhosted.org/packages/16/8a/1fc3dba0c4923c2a76e1ff0d52b305c44606da63f718d14d3231e21c51b0/s3transfer-0.2.1-py2.py3-none-any.whl (70kB)\\nCollecting botocore<1.14.0,>=1.13.9\\r\\n Downloading https://files.pythonhosted.org/packages/bd/45/042a6db7d025be8b04bd47528bc8db414de02e2e5802142e9fb45610d620/botocore-1.13.9-py2.py3-none-any.whl (5.3MB)\\nCollecting jmespath<1.0.0,>=0.7.1\\n Downloading https://files.pythonhosted.org/packages/83/94/7179c3832a6d45b266ddb2aac329e101367fbdb11f425f13771d27f225bb/jmespath-0.9.4-py2.py3-none-any.whl\\nCollecting click\\n Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)\\nCollecting joblib\\n Downloading https://files.pythonhosted.org/packages/8f/42/155696f85f344c066e17af287359c9786b436b1bf86029bb3411283274f3/joblib-0.14.0-py2.py3-none-any.whl (294kB)\\nCollecting distro>=1.2.0\\n Downloading https://files.pythonhosted.org/packages/ea/35/82f79b92fa4d937146c660a6482cee4f3dfa1f97ff3d2a6f3ecba33e712e/distro-1.4.0-py2.py3-none-any.whl\\nCollecting python-dateutil>=2.6.1\\n Downloading https://files.pythonhosted.org/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl (227kB)\\nCollecting pytz>=2017.2\\n Downloading https://files.pythonhosted.org/packages/e7/f9/f0b53f88060247251bf481fa6ea62cd0d25bf1b11a87888e53ce5b7c8ad2/pytz-2019.3-py2.py3-none-any.whl (509kB)\\nCollecting adal>=0.4.5\\n Downloading https://files.pythonhosted.org/packages/4f/b5/3ea9ae3d1096b9ff31e8f1846c47d49f3129a12464ac0a73b602de458298/adal-1.2.2-py2.py3-none-any.whl (53kB)\\nCollecting liac-arff>=2.1.1\\n Downloading https://files.pythonhosted.org/packages/e9/35/fbc9217cfa91d98888b43e1a19c03a50d716108c58494c558c65e308f372/liac-arff-2.4.0.tar.gz\\nCollecting dill>=0.2.7.1\\n Downloading https://files.pythonhosted.org/packages/c7/11/345f3173809cea7f1a193bfbf02403fff250a3360e0e118a1630985e547d/dill-0.3.1.1.tar.gz (151kB)\\nCollecting azure-graphrbac>=0.40.0\\r\\n Downloading https://files.pythonhosted.org/packages/3e/93/02056aca45162f9fc275d1eaad12a2a07ef92375afb48eabddc4134b8315/azure_graphrbac-0.61.1-py2.py3-none-any.whl (141kB)\\nCollecting msrest>=0.5.1\\n Downloading https://files.pythonhosted.org/packages/27/b0/c34b3ea9b2ed74b800520fbefb312cdb7f05c20b8bd42e5e7662a5614f98/msrest-0.6.10-py2.py3-none-any.whl (82kB)\\nCollecting contextlib2\\n Downloading https://files.pythonhosted.org/packages/85/60/370352f7ef6aa96c52fb001831622f50f923c1d575427d021b8ab3311236/contextlib2-0.6.0.post1-py2.py3-none-any.whl\\nCollecting docker\\n Downloading https://files.pythonhosted.org/packages/cc/ca/699d4754a932787ef353a157ada74efd1ceb6d1fc0bfb7989ae1e7b33111/docker-4.1.0-py2.py3-none-any.whl (139kB)\\nCollecting azure-mgmt-storage>=1.5.0\\n Downloading https://files.pythonhosted.org/packages/8a/d9/117216e5f671f6c3238c50cba583924252c5ee08091a7d10fa1d3113faa3/azure_mgmt_storage-6.0.0-py2.py3-none-any.whl (514kB)\\nCollecting pyopenssl\\n Downloading https://files.pythonhosted.org/packages/01/c8/ceb170d81bd3941cbeb9940fc6cc2ef2ca4288d0ca8929ea4db5905d904d/pyOpenSSL-19.0.0-py2.py3-none-any.whl (53kB)\\nCollecting backports.tempfile\\n Downloading https://files.pythonhosted.org/packages/b4/5c/077f910632476281428fe254807952eb47ca78e720d059a46178c541e669/backports.tempfile-1.0-py2.py3-none-any.whl\\nCollecting ndg-httpsclient\\n Downloading https://files.pythonhosted.org/packages/fb/67/c2f508c00ed2a6911541494504b7cac16fe0b0473912568df65fd1801132/ndg_httpsclient-0.5.1-py3-none-any.whl\\nCollecting azure-mgmt-authorization>=0.40.0\\n Downloading https://files.pythonhosted.org/packages/5e/17/4724694ddb3311955ddc367eddcd0928f8ee2c7b12d5a6f0b12bca0b03db/azure_mgmt_authorization-0.60.0-py2.py3-none-any.whl (82kB)\\nCollecting SecretStorage\\n Downloading https://files.pythonhosted.org/packages/82/59/cb226752e20d83598d7fdcabd7819570b0329a61db07cfbdd21b2ef546e3/SecretStorage-3.1.1-py3-none-any.whl\\nCollecting jsonpickle\\n Downloading https://files.pythonhosted.org/packages/07/07/c157520a3ebd166c8c24c6ae0ecae7c3968eb4653ff0e5af369bb82f004d/jsonpickle-1.2-py2.py3-none-any.whl\\nCollecting cryptography!=1.9,!=2.0.*,!=2.1.*,!=2.2.*\\n Downloading https://files.pythonhosted.org/packages/ca/9a/7cece52c46546e214e10811b36b2da52ce1ea7fa203203a629b8dfadad53/cryptography-2.8-cp34-abi3-manylinux2010_x86_64.whl (2.3MB)\\nCollecting PyJWT\\n Downloading https://files.pythonhosted.org/packages/87/8b/6a9f14b5f781697e51259d81657e6048fd31a113229cf346880bb7545565/PyJWT-1.7.1-py2.py3-none-any.whl\\nCollecting ruamel.yaml<=0.15.89,>=0.15.35\\r\\n Downloading https://files.pythonhosted.org/packages/36/e1/cc2fa400fa5ffde3efa834ceb15c464075586de05ca3c553753dcd6f1d3b/ruamel.yaml-0.15.89-cp36-cp36m-manylinux1_x86_64.whl (651kB)\\nCollecting pathspec\\n Downloading https://files.pythonhosted.org/packages/7a/68/5902e8cd7f7b17c5879982a3a3ee2ad0c3b92b80c79989a2d3e1ca8d29e1/pathspec-0.6.0.tar.gz\\nCollecting msrestazure>=0.4.33\\n Downloading https://files.pythonhosted.org/packages/68/75/5cb56ca8cbc6c5fe476e4878c73f57a331edcf55e5d3fcb4a7377d7d659d/msrestazure-0.6.2-py2.py3-none-any.whl (40kB)\\nCollecting azure-mgmt-resource>=1.2.1\\n Downloading https://files.pythonhosted.org/packages/7c/0d/80815326fa04f2a73ea94b0f57c29669c89df5aa5f5e285952f6445a91c4/azure_mgmt_resource-5.1.0-py2.py3-none-any.whl (681kB)\\nCollecting azure-mgmt-keyvault>=0.40.0\\n Downloading https://files.pythonhosted.org/packages/b3/d1/9fed0a3a3b43d0b1ad59599b5c836ccc4cf117e26458075385bafe79575b/azure_mgmt_keyvault-2.0.0-py2.py3-none-any.whl (80kB)\\nCollecting azure-mgmt-containerregistry>=2.0.0\\n Downloading https://files.pythonhosted.org/packages/97/70/8c2d0509db466678eba16fa2b0a539499f3b351b1f2993126ad843d5be13/azure_mgmt_containerregistry-2.8.0-py2.py3-none-any.whl (718kB)\\nCollecting azure-common>=1.1.12\\n Downloading https://files.pythonhosted.org/packages/00/55/a703923c12cd3172d5c007beda0c1a34342a17a6a72779f8a7c269af0cd6/azure_common-1.1.23-py2.py3-none-any.whl\\nCollecting Werkzeug>=0.14\\n Downloading https://files.pythonhosted.org/packages/ce/42/3aeda98f96e85fd26180534d36570e4d18108d62ae36f87694b476b83d6f/Werkzeug-0.16.0-py2.py3-none-any.whl (327kB)\\nCollecting itsdangerous>=0.24\\n Downloading https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl\\nCollecting Jinja2>=2.10\\n Downloading https://files.pythonhosted.org/packages/65/e0/eb35e762802015cab1ccee04e8a277b03f1d8e53da3ec3106882ec42558b/Jinja2-2.10.3-py2.py3-none-any.whl (125kB)\\nCollecting google-auth-oauthlib<0.5,>=0.4.1\\n Downloading https://files.pythonhosted.org/packages/7b/b8/88def36e74bee9fce511c9519571f4e485e890093ab7442284f4ffaef60b/google_auth_oauthlib-0.4.1-py2.py3-none-any.whl\\nCollecting markdown>=2.6.8\\n Downloading https://files.pythonhosted.org/packages/c0/4e/fd492e91abdc2d2fcb70ef453064d980688762079397f779758e055f6575/Markdown-3.1.1-py2.py3-none-any.whl (87kB)\\nRequirement already satisfied: setuptools>=41.0.0 in /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib/python3.6/site-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow-gpu==2.0.0->-r /azureml-environment-setup/condaenv.mh4fscwv.requirements.txt (line 4)) (41.6.0.post20191101)\\nCollecting google-auth<2,>=1.6.3\\n Downloading https://files.pythonhosted.org/packages/2f/81/d1e7d9974ba7c886f6d133a8baae18cb8d92b2d09bcc4f46328306825de0/google_auth-1.7.0-py2.py3-none-any.whl (74kB)\\nCollecting h5py\\n Downloading https://files.pythonhosted.org/packages/60/06/cafdd44889200e5438b897388f3075b52a8ef01f28a17366d91de0fa2d05/h5py-2.10.0-cp36-cp36m-manylinux1_x86_64.whl (2.9MB)\\nCollecting pycparser\\n Downloading https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz (158kB)\\nCollecting docutils<0.16,>=0.10\\r\\n Downloading https://files.pythonhosted.org/packages/22/cd/a6aa959dca619918ccb55023b4cb151949c64d4d5d55b3f4ffd7eee0c6e8/docutils-0.15.2-py3-none-any.whl (547kB)\\nCollecting isodate>=0.6.0\\n Downloading https://files.pythonhosted.org/packages/9b/9f/b36f7774ff5ea8e428fdcfc4bb332c39ee5b9362ddd3d40d9516a55221b2/isodate-0.6.0-py2.py3-none-any.whl (45kB)\\nCollecting requests-oauthlib>=0.5.0\\n Downloading https://files.pythonhosted.org/packages/c2/e2/9fd03d55ffb70fe51f587f20bcf407a6927eb121de86928b34d162f0b1ac/requests_oauthlib-1.2.0-py2.py3-none-any.whl\\nCollecting websocket-client>=0.32.0\\n Downloading https://files.pythonhosted.org/packages/29/19/44753eab1fdb50770ac69605527e8859468f3c0fd7dc5a76dd9c4dbd7906/websocket_client-0.56.0-py2.py3-none-any.whl (200kB)\\nCollecting backports.weakref\\n Downloading https://files.pythonhosted.org/packages/88/ec/f598b633c3d5ffe267aaada57d961c94fdfa183c5c3ebda2b6d151943db6/backports.weakref-1.0.post1-py2.py3-none-any.whl\\nCollecting pyasn1>=0.1.1\\n Downloading https://files.pythonhosted.org/packages/a1/71/8f0d444e3a74e5640a3d5d967c1c6b015da9c655f35b2d308a55d907a517/pyasn1-0.4.7-py2.py3-none-any.whl (76kB)\\nCollecting jeepney\\n Downloading https://files.pythonhosted.org/packages/0a/4c/ef880713a6c6d628869596703167eab2edf8e0ec2d870d1089dcb0901b81/jeepney-0.4.1-py3-none-any.whl (60kB)\\nCollecting MarkupSafe>=0.23\\n Downloading https://files.pythonhosted.org/packages/b2/5f/23e0023be6bb885d00ffbefad2942bc51a620328ee910f64abe5a8d18dd1/MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl\\nCollecting cachetools<3.2,>=2.0.0\\n Downloading https://files.pythonhosted.org/packages/2f/a6/30b0a0bef12283e83e58c1d6e7b5aabc7acfc4110df81a4471655d33e704/cachetools-3.1.1-py2.py3-none-any.whl\\nCollecting rsa<4.1,>=3.1.4\\n Downloading https://files.pythonhosted.org/packages/02/e5/38518af393f7c214357079ce67a317307936896e961e35450b70fad2a9cf/rsa-4.0-py2.py3-none-any.whl\\nCollecting pyasn1-modules>=0.2.1\\n Downloading https://files.pythonhosted.org/packages/52/50/bb4cefca37da63a0c52218ba2cb1b1c36110d84dcbae8aa48cd67c5e95c2/pyasn1_modules-0.2.7-py2.py3-none-any.whl (131kB)\\nCollecting oauthlib>=3.0.0\\n Downloading https://files.pythonhosted.org/packages/05/57/ce2e7a8fa7c0afb54a0581b14a65b56e62b5759dbc98e80627142b8a3704/oauthlib-3.1.0-py2.py3-none-any.whl (147kB)\\nBuilding wheels for collected packages: psutil\\n Building wheel for psutil (PEP 517): started\\n Building wheel for psutil (PEP 517): finished with status 'done'\\r\\n Created wheel for psutil: filename=psutil-5.6.4-cp36-cp36m-linux_x86_64.whl size=274379 sha256=01aaeb57d750872bc0187e9f73de611d602de2071b19571418b7d2db1eec148c\\n Stored in directory: /root/.cache/pip/wheels/1a/98/c1/36abacc61566e32c22317111d85ca6977c9788ba0cadf8687a\\nSuccessfully built psutil\\nBuilding wheels for collected packages: horovod, sacremoses, fusepy, json-logging-py, absl-py, opt-einsum, wrapt, termcolor, gast, pyyaml, liac-arff, dill, pathspec, pycparser\\n Building wheel for horovod (setup.py): started\\n Building wheel for horovod (setup.py): finished with status 'error'\\r\\n Running setup.py clean for horovod\\n\\u001b[91m ERROR: Command errored out with exit status 1:\\n command: /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '\\\"'\\\"'/tmp/pip-install-s42uo1fu/horovod/setup.py'\\\"'\\\"'; __file__='\\\"'\\\"'/tmp/pip-install-s42uo1fu/horovod/setup.py'\\\"'\\\"';f=getattr(tokenize, '\\\"'\\\"'open'\\\"'\\\"', open)(__file__);code=f.read().replace('\\\"'\\\"'\\\\r\\\\n'\\\"'\\\"', '\\\"'\\\"'\\\\n'\\\"'\\\"');f.close();exec(compile(code, __file__, '\\\"'\\\"'exec'\\\"'\\\"'))' bdist_wheel -d /tmp/pip-wheel-nfy_y1sl --python-tag cp36\\n cwd: /tmp/pip-install-s42uo1fu/horovod/\\n Complete output (220 lines):\\n In file included from ext/_yaml.c:596:0:\\n ext/_yaml.h:2:10: fatal error: yaml.h: No such file or directory\\n #include \\n ^~~~~~~~\\n compilation terminated.\\n Error compiling module, falling back to pure Python\\n zip_safe flag not set; analyzing archive contents...\\n \\n Installed /tmp/pip-install-s42uo1fu/horovod/.eggs/PyYAML-5.1.2-py3.6-linux-x86_64.egg\\n Searching for psutil\\n Reading https://pypi.org/simple/psutil/\\n Downloading https://files.pythonhosted.org/packages/47/ea/d3b6d6fd0b4a6c12984df652525f394e68c8678d2b05075219144eb3a1cf/psutil-5.6.4.tar.gz#sha256=512e854d68f8b42f79b2c7864d997b39125baff9bcff00028ce43543867de7c4\\n Best match: psutil 5.6.4\\n Processing psutil-5.6.4.tar.gz\\n Writing /tmp/easy_install-sl1xieai/psutil-5.6.4/setup.cfg\\n Running psutil-5.6.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-sl1xieai/psutil-5.6.4/egg-dist-tmp-be1ztjcy\\n creating /tmp/pip-install-s42uo1fu/horovod/.eggs/psutil-5.6.4-py3.6-linux-x86_64.egg\\n Extracting psutil-5.6.4-py3.6-linux-x86_64.egg to /tmp/pip-install-s42uo1fu/horovod/.eggs\\n \\n Installed /tmp/pip-install-s42uo1fu/horovod/.eggs/psutil-5.6.4-py3.6-linux-x86_64.egg\\n Searching for cloudpickle\\n Reading https://pypi.org/simple/cloudpickle/\\n Downloading https://files.pythonhosted.org/packages/c1/49/334e279caa3231255725c8e860fa93e72083567625573421db8875846c14/cloudpickle-1.2.2-py2.py3-none-any.whl#sha256=f3ef2c9d438f1553ce7795afb18c1f190d8146132496169ef6aa9b7b65caa4c3\\n Best match: cloudpickle 1.2.2\\n Processing cloudpickle-1.2.2-py2.py3-none-any.whl\\n Installing cloudpickle-1.2.2-py2.py3-none-any.whl to /tmp/pip-install-s42uo1fu/horovod/.eggs\\n \\n Installed /tmp/pip-install-s42uo1fu/horovod/.eggs/cloudpickle-1.2.2-py3.6.egg\\n Searching for pycparser\\n Reading https://pypi.org/simple/pycparser/\\n Downloading https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz#sha256=a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3\\n Best match: pycparser 2.19\\n Processing pycparser-2.19.tar.gz\\n Writing /tmp/easy_install-de7rwtbf/pycparser-2.19/setup.cfg\\n Running pycparser-2.19/setup.py -q bdist_egg --dist-dir /tmp/easy_install-de7rwtbf/pycparser-2.19/egg-dist-tmp-bgl_7iqb\\n warning: no previously-included files found matching 'setup.pyc'\\n warning: no previously-included files matching 'yacctab.*' found under directory 'tests'\\n warning: no previously-included files matching 'lextab.*' found under directory 'tests'\\n warning: no previously-included files matching 'yacctab.*' found under directory 'examples'\\n warning: no previously-included files matching 'lextab.*' found under directory 'examples'\\n zip_safe flag not set; analyzing archive contents...\\n pycparser.ply.__pycache__.lex.cpython-36: module references __file__\\n pycparser.ply.__pycache__.lex.cpython-36: module MAY be using inspect.getsourcefile\\n pycparser.ply.__pycache__.yacc.cpython-36: module references __file__\\n pycparser.ply.__pycache__.yacc.cpython-36: module MAY be using inspect.getsourcefile\\n pycparser.ply.__pycache__.yacc.cpython-36: module MAY be using inspect.stack\\n pycparser.ply.__pycache__.ygen.cpython-36: module references __file__\\n creating /tmp/pip-install-s42uo1fu/horovod/.eggs/pycparser-2.19-py3.6.egg\\n Extracting pycparser-2.19-py3.6.egg to /tmp/pip-install-s42uo1fu/horovod/.eggs\\n \\n Installed /tmp/pip-install-s42uo1fu/horovod/.eggs/pycparser-2.19-py3.6.egg\\n running bdist_wheel\\n running build\\n running build_py\\n creating build\\n creating build/lib.linux-x86_64-3.6\\n creating build/lib.linux-x86_64-3.6/horovod\\n copying horovod/__init__.py -> build/lib.linux-x86_64-3.6/horovod\\n creating build/lib.linux-x86_64-3.6/horovod/torch\\n copying horovod/torch/mpi_ops.py -> build/lib.linux-x86_64-3.6/horovod/torch\\n copying horovod/torch/compression.py -> build/lib.linux-x86_64-3.6/horovod/torch\\n copying horovod/torch/__init__.py -> build/lib.linux-x86_64-3.6/horovod/torch\\n creating build/lib.linux-x86_64-3.6/horovod/spark\\n copying horovod/spark/__init__.py -> build/lib.linux-x86_64-3.6/horovod/spark\\n creating build/lib.linux-x86_64-3.6/horovod/_keras\\n copying horovod/_keras/callbacks.py -> build/lib.linux-x86_64-3.6/horovod/_keras\\n copying horovod/_keras/__init__.py -> build/lib.linux-x86_64-3.6/horovod/_keras\\n creating build/lib.linux-x86_64-3.6/horovod/common\\n copying horovod/common/basics.py -> build/lib.linux-x86_64-3.6/horovod/common\\n copying horovod/common/__init__.py -> build/lib.linux-x86_64-3.6/horovod/common\\n copying horovod/common/util.py -> build/lib.linux-x86_64-3.6/horovod/common\\n creating build/lib.linux-x86_64-3.6/horovod/tensorflow\\n copying horovod/tensorflow/mpi_ops.py -> build/lib.linux-x86_64-3.6/horovod/tensorflow\\n copying horovod/tensorflow/compression.py -> build/lib.linux-x86_64-3.6/horovod/tensorflow\\n copying horovod/tensorflow/__init__.py -> build/lib.linux-x86_64-3.6/horovod/tensorflow\\n copying horovod/tensorflow/util.py -> build/lib.linux-x86_64-3.6/horovod/tensorflow\\n creating build/lib.linux-x86_64-3.6/horovod/mxnet\\n copying horovod/mxnet/mpi_ops.py -> build/lib.linux-x86_64-3.6/horovod/mxnet\\n copying horovod/mxnet/__init__.py -> build/lib.linux-x86_64-3.6/horovod/mxnet\\n creating build/lib.linux-x86_64-3.6/horovod/run\\n copying horovod/run/run.py -> build/lib.linux-x86_64-3.6/horovod/run\\n copying horovod/run/task_fn.py -> build/lib.linux-x86_64-3.6/horovod/run\\n copying horovod/run/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run\\n copying horovod/run/gloo_run.py -> build/lib.linux-x86_64-3.6/horovod/run\\n copying horovod/run/mpi_run.py -> build/lib.linux-x86_64-3.6/horovod/run\\n creating build/lib.linux-x86_64-3.6/horovod/keras\\n copying horovod/keras/callbacks.py -> build/lib.linux-x86_64-3.6/horovod/keras\\n copying horovod/keras/__init__.py -> build/lib.linux-x86_64-3.6/horovod/keras\\n creating build/lib.linux-x86_64-3.6/horovod/torch/mpi_lib_impl\\n copying horovod/torch/mpi_lib_impl/__init__.py -> build/lib.linux-x86_64-3.6/horovod/torch/mpi_lib_impl\\n creating build/lib.linux-x86_64-3.6/horovod/torch/mpi_lib\\n copying horovod/torch/mpi_lib/__init__.py -> build/lib.linux-x86_64-3.6/horovod/torch/mpi_lib\\n creating build/lib.linux-x86_64-3.6/horovod/spark/driver\\n copying horovod/spark/driver/mpirun_rsh.py -> build/lib.linux-x86_64-3.6/horovod/spark/driver\\n copying horovod/spark/driver/job_id.py -> build/lib.linux-x86_64-3.6/horovod/spark/driver\\n copying horovod/spark/driver/driver_service.py -> build/lib.linux-x86_64-3.6/horovod/spark/driver\\n copying horovod/spark/driver/__init__.py -> build/lib.linux-x86_64-3.6/horovod/spark/driver\\n creating build/lib.linux-x86_64-3.6/horovod/spark/task\\n copying horovod/spark/task/task_service.py -> build/lib.linux-x86_64-3.6/horovod/spark/task\\n copying horovod/spark/task/mpirun_exec_fn.py -> build/lib.linux-x86_64-3.6/horovod/spark/task\\n copying horovod/spark/task/__init__.py -> build/lib.linux-x86_64-3.6/horovod/spark/task\\n creating build/lib.linux-x86_64-3.6/horovod/tensorflow/keras\\n copying horovod/tensorflow/keras/callbacks.py -> build/lib.linux-x86_64-3.6/horovod/tensorflow/keras\\n copying horovod/tensorflow/keras/__init__.py -> build/lib.linux-x86_64-3.6/horovod/tensorflow/keras\\n creating build/lib.linux-x86_64-3.6/horovod/run/driver\\n copying horovod/run/driver/driver_service.py -> build/lib.linux-x86_64-3.6/horovod/run/driver\\n copying horovod/run/driver/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run/driver\\n creating build/lib.linux-x86_64-3.6/horovod/run/common\\n copying horovod/run/common/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run/common\\n creating build/lib.linux-x86_64-3.6/horovod/run/task\\n copying horovod/run/task/task_service.py -> build/lib.linux-x86_64-3.6/horovod/run/task\\n copying horovod/run/task/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run/task\\n creating build/lib.linux-x86_64-3.6/horovod/run/util\\n copying horovod/run/util/cache.py -> build/lib.linux-x86_64-3.6/horovod/run/util\\n copying horovod/run/util/network.py -> build/lib.linux-x86_64-3.6/horovod/run/util\\n copying horovod/run/util/threads.py -> build/lib.linux-x86_64-3.6/horovod/run/util\\n copying horovod/run/util/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run/util\\n creating build/lib.linux-x86_64-3.6/horovod/run/rendezvous\\n copying horovod/run/rendezvous/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run/rendezvous\\n copying horovod/run/rendezvous/http_server.py -> build/lib.linux-x86_64-3.6/horovod/run/rendezvous\\n creating build/lib.linux-x86_64-3.6/horovod/run/common/service\\n copying horovod/run/common/service/task_service.py -> build/lib.linux-x86_64-3.6/horovod/run/common/service\\n copying horovod/run/common/service/driver_service.py -> build/lib.linux-x86_64-3.6/horovod/run/common/service\\n copying horovod/run/common/service/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run/common/service\\n creating build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/host_hash.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/settings.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/codec.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/network.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/safe_shell_exec.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/env.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/config_parser.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/secret.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/timeout.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n running build_ext\\n gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -std=c++11 -fPIC -O2 -Wall -I/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/include/python3.6m -c build/temp.linux-x86_64-3.6/test_compile/test_cpp_flags.cc -o build/temp.linux-x86_64-3.6/test_compile/test_cpp_flags.o\\n cc1plus: warning: command line option \\u2018-Wstrict-prototypes\\u2019 is valid for C/ObjC but not for C++\\n gcc -pthread -shared -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed build/temp.linux-x86_64-3.6/test_compile/test_cpp_flags.o -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -o build/temp.linux-x86_64-3.6/test_compile/test_cpp_flags.so\\n gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/include/python3.6m -c build/temp.linux-x86_64-3.6/test_compile/test_link_flags.cc -o build/temp.linux-x86_64-3.6/test_compile/test_link_flags.o\\n cc1plus: warning: command line option \\u2018-Wstrict-prototypes\\u2019 is valid for C/ObjC but not for C++\\n gcc -pthread -shared -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed -Wl,--version-script=horovod.lds build/temp.linux-x86_64-3.6/test_compile/test_link_flags.o -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -o build/temp.linux-x86_64-3.6/test_compile/test_link_flags.so\\n INFO: Cannot find CMake, will skip compiling Horovod with Gloo.\\n gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -std=c++11 -fPIC -O2 -Wall -I/usr/local/cuda/include -I/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/include/python3.6m -c build/temp.linux-x86_64-3.6/test_compile/test_cuda.cc -o build/temp.linux-x86_64-3.6/test_compile/test_cuda.o\\n cc1plus: warning: command line option \\u2018-Wstrict-prototypes\\u2019 is valid for C/ObjC but not for C++\\n gcc -pthread -shared -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed build/temp.linux-x86_64-3.6/test_compile/test_cuda.o -L/usr/local/cuda/lib -L/usr/local/cuda/lib64 -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -lcudart -o build/temp.linux-x86_64-3.6/test_compile/test_cuda.so\\n gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -std=c++11 -fPIC -O2 -Wall -I/usr/local/cuda/include -I/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/include/python3.6m -c build/temp.linux-x86_64-3.6/test_compile/test_nccl.cc -o build/temp.linux-x86_64-3.6/test_compile/test_nccl.o\\n cc1plus: warning: command line option \\u2018-Wstrict-prototypes\\u2019 is valid for C/ObjC but not for C++\\n gcc -pthread -shared -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed build/temp.linux-x86_64-3.6/test_compile/test_nccl.o -L/usr/local/cuda/lib -L/usr/local/cuda/lib64 -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -lnccl_static -o build/temp.linux-x86_64-3.6/test_compile/test_nccl.so\\n INFO: Unable to build TensorFlow plugin, will skip it.\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 72, in check_tf_version\\n import tensorflow as tf\\n ModuleNotFoundError: No module named 'tensorflow'\\n \\n During handling of the above exception, another exception occurred:\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 1375, in build_extensions\\n build_tf_extension(self, options)\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 851, in build_tf_extension\\n check_tf_version()\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 79, in check_tf_version\\n 'import tensorflow failed, is it installed?\\\\n\\\\n%s' % traceback.format_exc())\\n distutils.errors.DistutilsPlatformError: import tensorflow failed, is it installed?\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 72, in check_tf_version\\n import tensorflow as tf\\n ModuleNotFoundError: No module named 'tensorflow'\\n \\n \\n INFO: Unable to build PyTorch plugin, will skip it.\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 1060, in check_torch_version\\n import torch\\n ModuleNotFoundError: No module named 'torch'\\n \\n During handling of the above exception, another exception occurred:\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 1387, in build_extensions\\n torch_version = check_torch_version()\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 1067, in check_torch_version\\n 'import torch failed, is it installed?\\\\n\\\\n%s' % traceback.format_exc())\\n distutils.errors.DistutilsPlatformError: import torch failed, is it installed?\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 1060, in check_torch_version\\n import torch\\n ModuleNotFoundError: No module named 'torch'\\n \\n \\n INFO: Unable to build MXNet plugin, will skip it.\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 88, in check_mx_version\\n import mxnet as mx\\n ModuleNotFoundError: No module named 'mxnet'\\n \\n During handling of the above exception, another exception occurred:\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 1403, in build_extensions\\n build_mx_extension(self, options)\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 1000, in build_mx_extension\\n check_mx_version()\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 95, in check_mx_version\\n 'import mxnet failed, is it installed?\\\\n\\\\n%s' % traceback.format_exc())\\n distutils.errors.DistutilsPlatformError: import mxnet failed, is it installed?\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 88, in check_mx_version\\n import mxnet as mx\\n ModuleNotFoundError: No module named 'mxnet'\\n \\n \\n error: None of TensorFlow, PyTorch, or MXNet plugins were built. See errors above.\\n ----------------------------------------\\n ERROR: Failed building wheel for horovod\\r\\n\\u001b[0m Building wheel for sacremoses (setup.py): started\\n Building wheel for sacremoses (setup.py): finished with status 'done'\\n Created wheel for sacremoses: filename=sacremoses-0.0.35-cp36-none-any.whl size=883999 sha256=22d08ad0d9ffaf465f1f3f9520edf52f6f383e7cc707e14567f209d1bb10d74a\\n Stored in directory: /root/.cache/pip/wheels/63/2a/db/63e2909042c634ef551d0d9ac825b2b0b32dede4a6d87ddc94\\n Building wheel for fusepy (setup.py): started\\n Building wheel for fusepy (setup.py): finished with status 'done'\\n Created wheel for fusepy: filename=fusepy-3.0.1-cp36-none-any.whl size=10505 sha256=1c8979ab1980a7adfbb2a0489c0ee673f789be22acdd0b60cf58bf320a8b7119\\n Stored in directory: /root/.cache/pip/wheels/4c/a5/91/7772af9e21c461f07bb40f26d928d7d231d224977dd8353bab\\n Building wheel for json-logging-py (setup.py): started\\n Building wheel for json-logging-py (setup.py): finished with status 'done'\\n Created wheel for json-logging-py: filename=json_logging_py-0.2-cp36-none-any.whl size=3924 sha256=760a9fe1f5f87956b3fffe6f66563350340635c57c462319f3e85a1997b71d58\\n Stored in directory: /root/.cache/pip/wheels/0d/2e/1c/c638b7589610d8b9358a6e5eb008edacb8b3e9b6d1edc9479f\\n Building wheel for absl-py (setup.py): started\\n Building wheel for absl-py (setup.py): finished with status 'done'\\n Created wheel for absl-py: filename=absl_py-0.8.1-cp36-none-any.whl size=121167 sha256=13c57fcf8f4d15ad5457def6dcdd15a24bbb6739ef6dd56002df4922267deca6\\n Stored in directory: /root/.cache/pip/wheels/a7/15/a0/0a0561549ad11cdc1bc8fa1191a353efd30facf6bfb507aefc\\n Building wheel for opt-einsum (setup.py): started\\r\\n Building wheel for opt-einsum (setup.py): finished with status 'done'\\n Created wheel for opt-einsum: filename=opt_einsum-3.1.0-cp36-none-any.whl size=61682 sha256=57ab11d771663c98ba40987d761619757f8ab1d904b7344074a71bea2ab189f6\\n Stored in directory: /root/.cache/pip/wheels/2c/b1/94/43d03e130b929aae7ba3f8d15cbd7bc0d1cb5bb38a5c721833\\n Building wheel for wrapt (setup.py): started\\n Building wheel for wrapt (setup.py): finished with status 'done'\\n Created wheel for wrapt: filename=wrapt-1.11.2-cp36-cp36m-linux_x86_64.whl size=69926 sha256=304ac5c0cff98ac7fd60e3a02ce6b20c70843c824bb752ed61aeca997d507aed\\n Stored in directory: /root/.cache/pip/wheels/d7/de/2e/efa132238792efb6459a96e85916ef8597fcb3d2ae51590dfd\\n Building wheel for termcolor (setup.py): started\\n Building wheel for termcolor (setup.py): finished with status 'done'\\n Created wheel for termcolor: filename=termcolor-1.1.0-cp36-none-any.whl size=4832 sha256=a2e24ff8aec62a7dd7aafac4bde3afbb524bbc786e29814c6f0206bb3f91631f\\n Stored in directory: /root/.cache/pip/wheels/7c/06/54/bc84598ba1daf8f970247f550b175aaaee85f68b4b0c5ab2c6\\n Building wheel for gast (setup.py): started\\n Building wheel for gast (setup.py): finished with status 'done'\\r\\n Created wheel for gast: filename=gast-0.2.2-cp36-none-any.whl size=7540 sha256=0c48bed06277ddd75bbc25964b6215c013f723d2026145c4eb56fe4b562838b8\\n Stored in directory: /root/.cache/pip/wheels/5c/2e/7e/a1d4d4fcebe6c381f378ce7743a3ced3699feb89bcfbdadadd\\n Building wheel for pyyaml (setup.py): started\\n Building wheel for pyyaml (setup.py): finished with status 'done'\\n Created wheel for pyyaml: filename=PyYAML-5.1.2-cp36-cp36m-linux_x86_64.whl size=44104 sha256=0fbc1f1c255f8ae62e1aa67d6e8204998957b549edf40a96a9c8c8c971c05c93\\n Stored in directory: /root/.cache/pip/wheels/d9/45/dd/65f0b38450c47cf7e5312883deb97d065e030c5cca0a365030\\n Building wheel for liac-arff (setup.py): started\\n Building wheel for liac-arff (setup.py): finished with status 'done'\\n Created wheel for liac-arff: filename=liac_arff-2.4.0-cp36-none-any.whl size=13333 sha256=a7a20a3d71ad3b31bdb44bc5cd2193735ee84615cd039fd2170e2df6d321bfc8\\n Stored in directory: /root/.cache/pip/wheels/d1/6a/e7/529dc54d76ecede4346164a09ae3168df358945612710f5203\\n Building wheel for dill (setup.py): started\\n Building wheel for dill (setup.py): finished with status 'done'\\n Created wheel for dill: filename=dill-0.3.1.1-cp36-none-any.whl size=78532 sha256=8a08aca0b073fffb633d233ccd2fe94ed8887903e03907efff76ee85f01af4b1\\n Stored in directory: /root/.cache/pip/wheels/59/b1/91/f02e76c732915c4015ab4010f3015469866c1eb9b14058d8e7\\n Building wheel for pathspec (setup.py): started\\n Building wheel for pathspec (setup.py): finished with status 'done'\\n Created wheel for pathspec: filename=pathspec-0.6.0-cp36-none-any.whl size=26671 sha256=2b19abc41057836d66a030b25a526ccf954d3c8450be7eafa1388ec7dd3e21a5\\n Stored in directory: /root/.cache/pip/wheels/62/b8/e1/e2719465b5947c40cd85d613d6cb33449b86a1ca5a6c574269\\n Building wheel for pycparser (setup.py): started\\n Building wheel for pycparser (setup.py): finished with status 'done'\\r\\n Created wheel for pycparser: filename=pycparser-2.19-py2.py3-none-any.whl size=111029 sha256=2ea8046a43975c4bccb04a855d6d0b30ee94d9820624b5d9c1f70d8798aa9290\\n Stored in directory: /root/.cache/pip/wheels/f2/9a/90/de94f8556265ddc9d9c8b271b0f63e57b26fb1d67a45564511\\nSuccessfully built sacremoses fusepy json-logging-py absl-py opt-einsum wrapt termcolor gast pyyaml liac-arff dill pathspec pycparser\\nFailed to build horovod\\n\\u001b[91mERROR: botocore 1.13.9 has requirement python-dateutil<2.8.1,>=2.1; python_version >= \\\"2.7\\\", but you'll have python-dateutil 2.8.1 which is incompatible.\\n\\u001b[0mInstalling collected packages: regex, tqdm, urllib3, idna, chardet, requests, six, python-dateutil, jmespath, docutils, botocore, s3transfer, boto3, numpy, click, joblib, sacremoses, sentencepiece, transformers, azureml-dataprep-native, cloudpickle, distro, dotnetcore2, fusepy, pytz, pandas, pyarrow, azureml-dataprep, PyJWT, pycparser, cffi, cryptography, adal, liac-arff, dill, azureml-model-management-sdk, gunicorn, applicationinsights, configparser, isodate, oauthlib, requests-oauthlib, msrest, azure-common, msrestazure, azure-graphrbac, contextlib2, websocket-client, docker, azure-mgmt-storage, pyopenssl, backports.weakref, backports.tempfile, pyasn1, ndg-httpsclient, azure-mgmt-authorization, jeepney, SecretStorage, jsonpickle, ruamel.yaml, pathspec, azure-mgmt-resource, azure-mgmt-keyvault, azure-mgmt-containerregistry, azureml-core, Werkzeug, itsdangerous, MarkupSafe, Jinja2, flask, json-logging-py, azureml-defaults, absl-py, opt-einsum, keras-preprocessing, cachetools, rsa, pyasn1-modules, google-auth, google-auth-oauthlib, markdown, grpcio, protobuf, tensorboard, wrapt, astor, h5py, keras-applications, termcolor, gast, google-pasta, tensorflow-estimator, tensorflow-gpu, psutil, pyyaml, horovod\\n Running setup.py install for horovod: started\\r\\n Running setup.py install for horovod: still running...\\r\\n Running setup.py install for horovod: finished with status 'done'\\r\\nSuccessfully installed Jinja2-2.10.3 MarkupSafe-1.1.1 PyJWT-1.7.1 SecretStorage-3.1.1 Werkzeug-0.16.0 absl-py-0.8.1 adal-1.2.2 applicationinsights-0.11.9 astor-0.8.0 azure-common-1.1.23 azure-graphrbac-0.61.1 azure-mgmt-authorization-0.60.0 azure-mgmt-containerregistry-2.8.0 azure-mgmt-keyvault-2.0.0 azure-mgmt-resource-5.1.0 azure-mgmt-storage-6.0.0 azureml-core-1.0.72 azureml-dataprep-1.1.29 azureml-dataprep-native-13.1.0 azureml-defaults-1.0.72 azureml-model-management-sdk-1.0.1b6.post1 backports.tempfile-1.0 backports.weakref-1.0.post1 boto3-1.10.9 botocore-1.13.9 cachetools-3.1.1 cffi-1.13.2 chardet-3.0.4 click-7.0 cloudpickle-1.2.2 configparser-3.7.4 contextlib2-0.6.0.post1 cryptography-2.8 dill-0.3.1.1 distro-1.4.0 docker-4.1.0 docutils-0.15.2 dotnetcore2-2.1.9 flask-1.0.3 fusepy-3.0.1 gast-0.2.2 google-auth-1.7.0 google-auth-oauthlib-0.4.1 google-pasta-0.1.8 grpcio-1.24.3 gunicorn-19.9.0 h5py-2.10.0 horovod-0.18.1 idna-2.8 isodate-0.6.0 itsdangerous-1.1.0 jeepney-0.4.1 jmespath-0.9.4 joblib-0.14.0 json-logging-py-0.2 jsonpickle-1.2 keras-applications-1.0.8 keras-preprocessing-1.1.0 liac-arff-2.4.0 markdown-3.1.1 msrest-0.6.10 msrestazure-0.6.2 ndg-httpsclient-0.5.1 numpy-1.17.3 oauthlib-3.1.0 opt-einsum-3.1.0 pandas-0.25.3 pathspec-0.6.0 protobuf-3.10.0 psutil-5.6.4 pyarrow-0.11.1 pyasn1-0.4.7 pyasn1-modules-0.2.7 pycparser-2.19 pyopenssl-19.0.0 python-dateutil-2.8.1 pytz-2019.3 pyyaml-5.1.2 regex-2019.11.1 requests-2.22.0 requests-oauthlib-1.2.0 rsa-4.0 ruamel.yaml-0.15.89 s3transfer-0.2.1 sacremoses-0.0.35 sentencepiece-0.1.83 six-1.12.0 tensorboard-2.0.1 tensorflow-estimator-2.0.1 tensorflow-gpu-2.0.0 termcolor-1.1.0 tqdm-4.37.0 transformers-2.0.0 urllib3-1.25.6 websocket-client-0.56.0 wrapt-1.11.2\\n\\u001b[91m\\n\\u001b[0m#\\n# To activate this environment, use:\\n# > source activate /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817\\n#\\n# To deactivate an active environment, use:\\n# > source deactivate\\n#\\n\\nRemoving intermediate container 16ad378da3e0\\n ---> 8fb665df847e\\nStep 9/14 : ENV PATH /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/bin:$PATH\\r\\n ---> Running in acc6ce8f4345\\nRemoving intermediate container acc6ce8f4345\\n ---> e2cf3facb461\\nStep 10/14 : ENV AZUREML_CONDA_ENVIRONMENT_PATH /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817\\r\\n ---> Running in a2b6d91e7938\\nRemoving intermediate container a2b6d91e7938\\n ---> be71acf63d80\\nStep 11/14 : ENV LD_LIBRARY_PATH /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib:$LD_LIBRARY_PATH\\r\\n ---> Running in aeda99bc41c2\\nRemoving intermediate container aeda99bc41c2\\n ---> 8b23d11b9f6c\\nStep 12/14 : COPY azureml-environment-setup/spark_cache.py azureml-environment-setup/log4j.properties /azureml-environment-setup/\\r\\n ---> 919edcd35172\\nStep 13/14 : ENV AZUREML_ENVIRONMENT_IMAGE True\\r\\n ---> Running in 91c34529fb4c\\nRemoving intermediate container 91c34529fb4c\\n ---> 2e840614158e\\r\\nStep 14/14 : CMD [\\\"bash\\\"]\\n ---> Running in 0eedf38eaaaa\\nRemoving intermediate container 0eedf38eaaaa\\n ---> e5b0de0e4915\\r\\nSuccessfully built e5b0de0e4915\\nSuccessfully tagged tfworld0b69c845.azurecr.io/azureml/azureml_8b8765b28a4a858399aa44e9096a8d04:latest\\n2019/11/05 08:10:37 Successfully executed container: acb_step_0\\n2019/11/05 08:10:37 Executing step ID: acb_step_1. Timeout(sec): 5400, Working directory: '', Network: 'acb_default_network'\\n2019/11/05 08:10:37 Pushing image: tfworld0b69c845.azurecr.io/azureml/azureml_8b8765b28a4a858399aa44e9096a8d04:latest, attempt 1\\nThe push refers to repository [tfworld0b69c845.azurecr.io/azureml/azureml_8b8765b28a4a858399aa44e9096a8d04]\\n3743e8ca1060: Preparing\\nb6361dd54d01: Preparing\\nd13b5717cd37: Preparing\\nd5afe613e12e: Preparing\\n80be8e3af563: Preparing\\nb46cd0d11e4d: Preparing\\n5d80dfe95b9f: Preparing\\n88dba4d4b1b3: Preparing\\ndd1cdb245341: Preparing\\n632ac93df444: Preparing\\n85355e262b10: Preparing\\n5c11f617277f: Preparing\\n2f3abd252a36: Preparing\\n2eafd5e86d56: Preparing\\n1673fa18caaf: Preparing\\n7545d8b4edec: Preparing\\n718bbdc0b45f: Preparing\\n4a78de7ea906: Preparing\\n0bfa7a55184c: Preparing\\n122be11ab4a2: Preparing\\n7beb13bce073: Preparing\\nf7eae43028b3: Preparing\\n6cebf3abed5f: Preparing\\n2eafd5e86d56: Waiting\\n1673fa18caaf: Waiting\\n7545d8b4edec: Waiting\\n718bbdc0b45f: Waiting\\n4a78de7ea906: Waiting\\n0bfa7a55184c: Waiting\\n122be11ab4a2: Waiting\\n7beb13bce073: Waiting\\nf7eae43028b3: Waiting\\n6cebf3abed5f: Waiting\\ndd1cdb245341: Waiting\\n632ac93df444: Waiting\\n85355e262b10: Waiting\\n5c11f617277f: Waiting\\n2f3abd252a36: Waiting\\nb46cd0d11e4d: Waiting\\n5d80dfe95b9f: Waiting\\n88dba4d4b1b3: Waiting\\n3743e8ca1060: Pushed\\n80be8e3af563: Pushed\\nd5afe613e12e: Pushed\\r\\nd13b5717cd37: Pushed\\nb46cd0d11e4d: Pushed\\n5d80dfe95b9f: Pushed\\n88dba4d4b1b3: Pushed\\r\\ndd1cdb245341: Pushed\\r\\n85355e262b10: Pushed\\r\\n2f3abd252a36: Pushed\\r\\n5c11f617277f: Pushed\\r\\n632ac93df444: Pushed\\r\\n718bbdc0b45f: Pushed\\r\\n4a78de7ea906: Pushed\\r\\n0bfa7a55184c: Pushed\\r\\n122be11ab4a2: Pushed\\r\\n7beb13bce073: Pushed\\r\\nf7eae43028b3: Pushed\\r\\n6cebf3abed5f: Pushed\\r\\n\", \"graph\": {}, \"widget_settings\": {\"childWidgetDisplay\": \"popup\", \"send_telemetry\": false, \"log_level\": \"INFO\", \"sdk_version\": \"1.0.72\"}, \"loading\": false}" + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "from azureml.widgets import RunDetails\n", "RunDetails(run1).show()" @@ -760,7 +793,7 @@ " },\n", " framework_version='2.0',\n", " use_gpu=True,\n", - " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.1.22'])\n", + " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.1.29'])\n", "\n", "run2 = experiment.submit(estimator2)" ] @@ -1026,7 +1059,7 @@ " node_count=1,\n", " distributed_training=Mpi(process_count_per_node=2),\n", " use_gpu=True,\n", - " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.1.22'])\n", + " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.1.29'])\n", "\n", "run3 = experiment.submit(estimator3)" ] @@ -1147,7 +1180,7 @@ " },\n", " framework_version='2.0',\n", " use_gpu=True,\n", - " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.1.22'])" + " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.1.29'])" ] }, { From 9f6c8654275f0a872cf6a135701bccfe7640160e Mon Sep 17 00:00:00 2001 From: John Wu Date: Tue, 5 Nov 2019 08:17:04 +0000 Subject: [PATCH 19/22] Fixed dataprep version issue --- .../AzureServiceClassifier_Training.ipynb | 55 ++++--------------- 1 file changed, 11 insertions(+), 44 deletions(-) diff --git a/1-Training/AzureServiceClassifier_Training.ipynb b/1-Training/AzureServiceClassifier_Training.ipynb index 041dc1e..7bbd0f2 100644 --- a/1-Training/AzureServiceClassifier_Training.ipynb +++ b/1-Training/AzureServiceClassifier_Training.ipynb @@ -190,20 +190,9 @@ }, { "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Workspace name: tf-world\n", - "Azure region: eastus\n", - "Subscription id: 15ae9cb6-95c1-483d-a0e3-b1a1a3b06324\n", - "Resource group: tf-world\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "from azureml.core import Workspace\n", "\n", @@ -279,7 +268,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": { "scrolled": true }, @@ -348,7 +337,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": { "scrolled": true }, @@ -445,7 +434,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": { "scrolled": true }, @@ -575,7 +564,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": { "scrolled": true }, @@ -602,7 +591,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": { "scrolled": true }, @@ -659,7 +648,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": { "scrolled": true }, @@ -677,33 +666,11 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "95b9771e1b5241a3b547462ee3ae9484", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "_UserRunWidget(widget_settings={'childWidgetDisplay': 'popup', 'send_telemetry': False, 'log_level': 'INFO', '…" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/aml.mini.widget.v1": "{\"status\": \"Preparing\", \"workbench_run_details_uri\": \"https://ml.azure.com/experiments/azure-service-classifier/runs/azure-service-classifier_1572941031_afae9b73?wsid=/subscriptions/15ae9cb6-95c1-483d-a0e3-b1a1a3b06324/resourcegroups/tf-world/workspaces/tf-world\", \"run_id\": \"azure-service-classifier_1572941031_afae9b73\", \"run_properties\": {\"run_id\": \"azure-service-classifier_1572941031_afae9b73\", \"created_utc\": \"2019-11-05T08:03:56.674875Z\", \"properties\": {\"_azureml.ComputeTargetType\": \"batchai\", \"ContentSnapshotId\": \"bb3af30c-764f-4f25-85e2-857df51ab757\", \"azureml.git.repository_uri\": \"https://github.com/microsoft/bert-stack-overflow\", \"mlflow.source.git.repoURL\": \"https://github.com/microsoft/bert-stack-overflow\", \"azureml.git.branch\": \"john\", \"mlflow.source.git.branch\": \"john\", \"azureml.git.commit\": \"69016d7ea04406fb4bd3c21889a189939db13f5c\", \"mlflow.source.git.commit\": \"69016d7ea04406fb4bd3c21889a189939db13f5c\", \"azureml.git.dirty\": \"True\", \"AzureML.DerivedImageName\": \"azureml/azureml_8b8765b28a4a858399aa44e9096a8d04\"}, \"tags\": {}, \"script_name\": null, \"arguments\": null, \"end_time_utc\": null, \"status\": \"Preparing\", \"log_files\": {\"azureml-logs/20_image_build_log.txt\": \"https://tfworld6818510241.blob.core.windows.net/azureml/ExperimentRun/dcid.azure-service-classifier_1572941031_afae9b73/azureml-logs/20_image_build_log.txt?sv=2019-02-02&sr=b&sig=OH01XkDPZBeS14EeGdBdjl%2Bl8oApXY%2FQ4MxHmnDsXm8%3D&st=2019-11-05T08%3A03%3A39Z&se=2019-11-05T16%3A13%3A39Z&sp=r\"}, \"log_groups\": [[\"azureml-logs/20_image_build_log.txt\"]], \"run_duration\": \"0:09:42\"}, \"child_runs\": [], \"children_metrics\": {}, \"run_metrics\": [], \"run_logs\": \"2019/11/05 08:04:08 Downloading source code...\\r\\n2019/11/05 08:04:11 Finished downloading source code\\r\\n2019/11/05 08:04:11 Creating Docker network: acb_default_network, driver: 'bridge'\\n2019/11/05 08:04:12 Successfully set up Docker network: acb_default_network\\n2019/11/05 08:04:12 Setting up Docker configuration...\\n2019/11/05 08:04:13 Successfully set up Docker configuration\\n2019/11/05 08:04:13 Logging in to registry: tfworld0b69c845.azurecr.io\\n2019/11/05 08:04:14 Successfully logged into tfworld0b69c845.azurecr.io\\r\\n2019/11/05 08:04:14 Executing step ID: acb_step_0. Timeout(sec): 5400, Working directory: '', Network: 'acb_default_network'\\n2019/11/05 08:04:14 Scanning for dependencies...\\n2019/11/05 08:04:15 Successfully scanned dependencies\\n2019/11/05 08:04:15 Launching container with name: acb_step_0\\nSending build context to Docker daemon 59.39kB\\r\\r\\nStep 1/14 : FROM mcr.microsoft.com/azureml/base-gpu:openmpi3.1.2-cuda10.0-cudnn7-ubuntu18.04@sha256:887cd45a30688c445afa08378f88b4e5aef820bc3e2c9af6e1c89a41a8aaf33e\\nsha256:887cd45a30688c445afa08378f88b4e5aef820bc3e2c9af6e1c89a41a8aaf33e: Pulling from azureml/base-gpu\\n35c102085707: Pulling fs layer\\n251f5509d51d: Pulling fs layer\\n8e829fe70a46: Pulling fs layer\\n6001e1789921: Pulling fs layer\\n9f0a21d58e5d: Pulling fs layer\\n8810fcda1e6e: Pulling fs layer\\nd701a76e3193: Pulling fs layer\\n34be232fb7a6: Pulling fs layer\\n7e62b1ed3410: Pulling fs layer\\n47526c6630b9: Pulling fs layer\\nc8225a1ab66d: Pulling fs layer\\nba6ff8ef019c: Pulling fs layer\\n8c8fdd713d59: Pulling fs layer\\n412b4d6d8136: Pulling fs layer\\n517038e68f47: Pulling fs layer\\n10001740b54b: Pulling fs layer\\n49e1d575d70f: Pulling fs layer\\n6001e1789921: Waiting\\n9f0a21d58e5d: Waiting\\n8810fcda1e6e: Waiting\\nd701a76e3193: Waiting\\n34be232fb7a6: Waiting\\n7e62b1ed3410: Waiting\\n47526c6630b9: Waiting\\nc8225a1ab66d: Waiting\\nba6ff8ef019c: Waiting\\n8c8fdd713d59: Waiting\\n412b4d6d8136: Waiting\\n517038e68f47: Waiting\\n10001740b54b: Waiting\\n49e1d575d70f: Waiting\\n8e829fe70a46: Verifying Checksum\\n8e829fe70a46: Download complete\\r\\n251f5509d51d: Verifying Checksum\\n251f5509d51d: Download complete\\n6001e1789921: Verifying Checksum\\n6001e1789921: Download complete\\n35c102085707: Verifying Checksum\\n35c102085707: Download complete\\nd701a76e3193: Verifying Checksum\\nd701a76e3193: Download complete\\n8810fcda1e6e: Verifying Checksum\\n8810fcda1e6e: Download complete\\n9f0a21d58e5d: Verifying Checksum\\n9f0a21d58e5d: Download complete\\n35c102085707: Pull complete\\r\\n251f5509d51d: Pull complete\\n8e829fe70a46: Pull complete\\n6001e1789921: Pull complete\\n9f0a21d58e5d: Pull complete\\r\\n47526c6630b9: Verifying Checksum\\n47526c6630b9: Download complete\\r\\n8810fcda1e6e: Pull complete\\n34be232fb7a6: Verifying Checksum\\n34be232fb7a6: Download complete\\nc8225a1ab66d: Verifying Checksum\\nc8225a1ab66d: Download complete\\n8c8fdd713d59: Verifying Checksum\\nd701a76e3193: Pull complete\\n8c8fdd713d59: Download complete\\r\\nba6ff8ef019c: Verifying Checksum\\nba6ff8ef019c: Download complete\\n517038e68f47: Verifying Checksum\\n517038e68f47: Download complete\\n412b4d6d8136: Verifying Checksum\\n412b4d6d8136: Download complete\\n49e1d575d70f: Verifying Checksum\\n49e1d575d70f: Download complete\\r\\n10001740b54b: Verifying Checksum\\n10001740b54b: Download complete\\n7e62b1ed3410: Verifying Checksum\\n7e62b1ed3410: Download complete\\r\\n34be232fb7a6: Pull complete\\r\\n7e62b1ed3410: Pull complete\\r\\n47526c6630b9: Pull complete\\r\\nc8225a1ab66d: Pull complete\\r\\nba6ff8ef019c: Pull complete\\r\\n8c8fdd713d59: Pull complete\\n412b4d6d8136: Pull complete\\r\\n517038e68f47: Pull complete\\n10001740b54b: Pull complete\\n49e1d575d70f: Pull complete\\nDigest: sha256:887cd45a30688c445afa08378f88b4e5aef820bc3e2c9af6e1c89a41a8aaf33e\\nStatus: Downloaded newer image for mcr.microsoft.com/azureml/base-gpu:openmpi3.1.2-cuda10.0-cudnn7-ubuntu18.04@sha256:887cd45a30688c445afa08378f88b4e5aef820bc3e2c9af6e1c89a41a8aaf33e\\n ---> caf09b9e3e4d\\nStep 2/14 : USER root\\n ---> Running in 783fc5a92066\\r\\nRemoving intermediate container 783fc5a92066\\n ---> 6ed98cded985\\nStep 3/14 : RUN mkdir -p $HOME/.cache\\n ---> Running in 76a5af8c2f60\\r\\nRemoving intermediate container 76a5af8c2f60\\n ---> 833c7485e88c\\nStep 4/14 : WORKDIR /\\n ---> Running in 28f408902b12\\nRemoving intermediate container 28f408902b12\\n ---> 6fa6f0d06eb3\\nStep 5/14 : COPY azureml-environment-setup/99brokenproxy /etc/apt/apt.conf.d/\\r\\n ---> 49ac6f789d08\\nStep 6/14 : RUN if dpkg --compare-versions `conda --version | grep -oE '[^ ]+$'` lt 4.4.11; then conda install conda==4.4.11; fi\\n ---> Running in 3c8e37aeb68d\\nRemoving intermediate container 3c8e37aeb68d\\n ---> a542c833745e\\nStep 7/14 : COPY azureml-environment-setup/mutated_conda_dependencies.yml azureml-environment-setup/mutated_conda_dependencies.yml\\r\\n ---> a24c7198d716\\nStep 8/14 : RUN ldconfig /usr/local/cuda/lib64/stubs && conda env create -p /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817 -f azureml-environment-setup/mutated_conda_dependencies.yml && rm -rf \\\"$HOME/.cache/pip\\\" && conda clean -aqy && CONDA_ROOT_DIR=$(conda info --root) && rm -rf \\\"$CONDA_ROOT_DIR/pkgs\\\" && find \\\"$CONDA_ROOT_DIR\\\" -type d -name __pycache__ -exec rm -rf {} + && ldconfig\\n ---> Running in 16ad378da3e0\\nSolving environment: ...working... done\\r\\n\\u001b[91m\\n\\n==> WARNING: A newer version of conda exists. <==\\n current version: 4.5.11\\n latest version: 4.7.12\\n\\nPlease update conda by running\\n\\n $ conda update -n base -c defaults conda\\n\\n\\n\\rreadline-6.2 | 713 KB | | 0% \\u001b[0m\\u001b[91m\\rreadline-6.2 | 713 KB | ########9 | 90% \\u001b[0m\\u001b[91m\\rreadline-6.2 | 713 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\ropenssl-1.0.2r | 3.1 MB | | 0% \\u001b[0m\\u001b[91m\\ropenssl-1.0.2r | 3.1 MB | #######7 | 78% \\u001b[0m\\u001b[91m\\ropenssl-1.0.2r | 3.1 MB | #########8 | 98% \\u001b[0m\\u001b[91m\\ropenssl-1.0.2r | 3.1 MB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rca-certificates-2019 | 144 KB | | 0% \\u001b[0m\\u001b[91m\\rca-certificates-2019 | 144 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rncurses-5.9 | 1.1 MB | | 0% \\u001b[0m\\u001b[91m\\rncurses-5.9 | 1.1 MB | #######8 | 79% \\u001b[0m\\u001b[91m\\rncurses-5.9 | 1.1 MB | ########7 | 87% \\u001b[0m\\u001b[91m\\rncurses-5.9 | 1.1 MB | #########7 | 97% \\u001b[0m\\u001b[91m\\rncurses-5.9 | 1.1 MB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rlibgcc-ng-9.1.0 | 8.1 MB | | 0% \\u001b[0m\\u001b[91m\\rlibgcc-ng-9.1.0 | 8.1 MB | #######5 | 75% \\u001b[0m\\u001b[91m\\rlibgcc-ng-9.1.0 | 8.1 MB | #########7 | 98% \\u001b[0m\\u001b[91m\\rlibgcc-ng-9.1.0 | 8.1 MB | ########## | 100% \\u001b[0m\\u001b[91m\\r\\n\\rsetuptools-41.6.0 | 629 KB | | 0% \\u001b[0m\\u001b[91m\\rsetuptools-41.6.0 | 629 KB | ########7 | 88% \\u001b[0m\\u001b[91m\\rsetuptools-41.6.0 | 629 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rzlib-1.2.11 | 105 KB | | 0% \\u001b[0m\\u001b[91m\\rzlib-1.2.11 | 105 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\r_libgcc_mutex-0.1 | 3 KB | | 0% \\u001b[0m\\u001b[91m\\r_libgcc_mutex-0.1 | 3 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rsqlite-3.13.0 | 4.9 MB | | 0% \\u001b[0m\\u001b[91m\\rsqlite-3.13.0 | 4.9 MB | #######5 | 75% \\u001b[0m\\u001b[91m\\rsqlite-3.13.0 | 4.9 MB | #########7 | 98% \\u001b[0m\\u001b[91m\\rsqlite-3.13.0 | 4.9 MB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rcertifi-2019.9.11 | 147 KB | | 0% \\u001b[0m\\u001b[91m\\rcertifi-2019.9.11 | 147 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rwheel-0.33.6 | 35 KB | | 0% \\u001b[0m\\u001b[91m\\rwheel-0.33.6 | 35 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rtk-8.5.19 | 1.9 MB | | 0% \\u001b[0m\\u001b[91m\\rtk-8.5.19 | 1.9 MB | #######7 | 78% \\u001b[0m\\u001b[91m\\rtk-8.5.19 | 1.9 MB | #########1 | 91% \\u001b[0m\\u001b[91m\\rtk-8.5.19 | 1.9 MB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rpip-19.3.1 | 1.9 MB | | 0% \\u001b[0m\\u001b[91m\\rpip-19.3.1 | 1.9 MB | #######7 | 77% \\u001b[0m\\u001b[91m\\rpip-19.3.1 | 1.9 MB | ######### | 91% \\u001b[0m\\u001b[91m\\rpip-19.3.1 | 1.9 MB | ########## | 100% \\u001b[0m\\u001b[91m\\r\\n\\rxz-5.2.4 | 366 KB | | 0% \\u001b[0m\\u001b[91m\\rxz-5.2.4 | 366 KB | #########4 | 95% \\u001b[0m\\u001b[91m\\rxz-5.2.4 | 366 KB | ########## | 100% \\u001b[0m\\u001b[91m\\n\\rpython-3.6.2 | 19.0 MB | | 0% \\u001b[0m\\u001b[91m\\rpython-3.6.2 | 19.0 MB | ##9 | 29% \\u001b[0m\\u001b[91m\\rpython-3.6.2 | 19.0 MB | ######9 | 70% \\u001b[0m\\u001b[91m\\rpython-3.6.2 | 19.0 MB | ########8 | 88% \\u001b[0m\\u001b[91m\\rpython-3.6.2 | 19.0 MB | ########## | 100% \\u001b[0m\\nDownloading and Extracting Packages\\r\\nPreparing transaction: ...working... done\\nVerifying transaction: ...working... done\\r\\nExecuting transaction: ...working... done\\nCollecting transformers==2.0.0\\n Downloading https://files.pythonhosted.org/packages/66/99/ca0e4c35ccde7d290de3c9c236d5629d1879b04927e5ace9bd6d9183e236/transformers-2.0.0-py3-none-any.whl (290kB)\\nCollecting azureml-dataprep[fuse,pandas]==1.1.29\\n Downloading https://files.pythonhosted.org/packages/d5/2d/8e283d6db5156c5ed28fb02d074258409007a77ea52ecb430461470d4f56/azureml_dataprep-1.1.29-py3-none-any.whl (26.9MB)\\nCollecting azureml-defaults\\r\\n Downloading https://files.pythonhosted.org/packages/f9/ca/14357f9496cde331cf0926505c9ea2e280b887f33e5e0a65322ddda606a9/azureml_defaults-1.0.72-py2.py3-none-any.whl\\nCollecting tensorflow-gpu==2.0.0\\n Downloading https://files.pythonhosted.org/packages/25/44/47f0722aea081697143fbcf5d2aa60d1aee4aaacb5869aee2b568974777b/tensorflow_gpu-2.0.0-cp36-cp36m-manylinux2010_x86_64.whl (380.8MB)\\nCollecting horovod==0.18.1\\r\\n Downloading https://files.pythonhosted.org/packages/8b/a0/27b00807e6ed78bcab146594acd680e6493d9e49b43ed1649ccf70e2a95d/horovod-0.18.1.tar.gz (2.8MB)\\nCollecting regex\\r\\n Downloading https://files.pythonhosted.org/packages/e3/8e/cbf2295643d7265e7883326fb4654e643bfc93b3a8a8274d8010a39d8804/regex-2019.11.1-cp36-cp36m-manylinux1_x86_64.whl (643kB)\\nCollecting tqdm\\n Downloading https://files.pythonhosted.org/packages/05/f2/764a5d530cf143ded9bc95216edb6e258c6554511e78de7c250557e8f3ed/tqdm-4.37.0-py2.py3-none-any.whl (53kB)\\nCollecting requests\\n Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB)\\nCollecting boto3\\n Downloading https://files.pythonhosted.org/packages/a3/a4/75004e7352a9f3565331e6881a2312a79e46e434c24e5146b0e6c97fa08f/boto3-1.10.9-py2.py3-none-any.whl (128kB)\\nCollecting numpy\\n Downloading https://files.pythonhosted.org/packages/0e/46/ae6773894f7eacf53308086287897ec568eac9768918d913d5b9d366c5db/numpy-1.17.3-cp36-cp36m-manylinux1_x86_64.whl (20.0MB)\\nCollecting sacremoses\\r\\n Downloading https://files.pythonhosted.org/packages/1f/8e/ed5364a06a9ba720fddd9820155cc57300d28f5f43a6fd7b7e817177e642/sacremoses-0.0.35.tar.gz (859kB)\\nCollecting sentencepiece\\n Downloading https://files.pythonhosted.org/packages/14/3d/efb655a670b98f62ec32d66954e1109f403db4d937c50d779a75b9763a29/sentencepiece-0.1.83-cp36-cp36m-manylinux1_x86_64.whl (1.0MB)\\nCollecting azureml-dataprep-native<14.0.0,>=13.1.0\\n Downloading https://files.pythonhosted.org/packages/2a/b8/36399cebff8045a05cb69181771e450101ea3ac14f02ad564d63634b8aca/azureml_dataprep_native-13.1.0-cp36-cp36m-manylinux1_x86_64.whl (1.3MB)\\nCollecting cloudpickle>=1.1.0\\n Downloading https://files.pythonhosted.org/packages/c1/49/334e279caa3231255725c8e860fa93e72083567625573421db8875846c14/cloudpickle-1.2.2-py2.py3-none-any.whl\\nCollecting dotnetcore2>=2.1.9\\n Downloading https://files.pythonhosted.org/packages/e7/11/699ec6c3ec5e73437834203e4b530fdc760517498208eaa0b37a7f1e10af/dotnetcore2-2.1.9-py3-none-manylinux1_x86_64.whl (29.3MB)\\nCollecting fusepy>=3.0.1; extra == \\\"fuse\\\"\\r\\n Downloading https://files.pythonhosted.org/packages/04/0b/4506cb2e831cea4b0214d3625430e921faaa05a7fb520458c75a2dbd2152/fusepy-3.0.1.tar.gz\\nCollecting pandas>=0.19.2; extra == \\\"pandas\\\"\\n Downloading https://files.pythonhosted.org/packages/52/3f/f6a428599e0d4497e1595030965b5ba455fd8ade6e977e3c819973c4b41d/pandas-0.25.3-cp36-cp36m-manylinux1_x86_64.whl (10.4MB)\\nCollecting pyarrow==0.11.*; extra == \\\"pandas\\\"\\n Downloading https://files.pythonhosted.org/packages/36/94/23135312f97b20d6457294606fb70fad43ef93b7bffe567088ebe3623703/pyarrow-0.11.1-cp36-cp36m-manylinux1_x86_64.whl (11.6MB)\\nCollecting azureml-model-management-sdk==1.0.1b6.post1\\r\\n Downloading https://files.pythonhosted.org/packages/4e/53/9004a1e7d6d4e796abc4bcc8286bfc2a32739c5fbac3859ca7429a228897/azureml_model_management_sdk-1.0.1b6.post1-py2.py3-none-any.whl (130kB)\\nCollecting gunicorn==19.9.0\\n Downloading https://files.pythonhosted.org/packages/8c/da/b8dd8deb741bff556db53902d4706774c8e1e67265f69528c14c003644e6/gunicorn-19.9.0-py2.py3-none-any.whl (112kB)\\nCollecting applicationinsights>=0.11.7\\n Downloading https://files.pythonhosted.org/packages/a1/53/234c53004f71f0717d8acd37876e0b65c121181167057b9ce1b1795f96a0/applicationinsights-0.11.9-py2.py3-none-any.whl (58kB)\\nCollecting configparser==3.7.4\\n Downloading https://files.pythonhosted.org/packages/ba/05/6c96328e92e625fc31445d24d75a2c92ef9ba34fc5b037fe69693c362a0d/configparser-3.7.4-py2.py3-none-any.whl\\nCollecting azureml-core==1.0.72.*\\n Downloading https://files.pythonhosted.org/packages/b3/40/5f3478937e925a44a92c343b97f71243e9bcbedebc50f67038df044c97d9/azureml_core-1.0.72-py2.py3-none-any.whl (1.1MB)\\nCollecting flask==1.0.3\\n Downloading https://files.pythonhosted.org/packages/9a/74/670ae9737d14114753b8c8fdf2e8bd212a05d3b361ab15b44937dfd40985/Flask-1.0.3-py2.py3-none-any.whl (92kB)\\nCollecting json-logging-py==0.2\\n Downloading https://files.pythonhosted.org/packages/e9/e1/46c70eebf216b830867c4896ee678cb7f1b28bb68a2810c7e9a811cecfbc/json-logging-py-0.2.tar.gz\\nCollecting absl-py>=0.7.0\\n Downloading https://files.pythonhosted.org/packages/3b/72/e6e483e2db953c11efa44ee21c5fdb6505c4dffa447b4263ca8af6676b62/absl-py-0.8.1.tar.gz (103kB)\\nRequirement already satisfied: wheel>=0.26 in /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib/python3.6/site-packages (from tensorflow-gpu==2.0.0->-r /azureml-environment-setup/condaenv.mh4fscwv.requirements.txt (line 4)) (0.33.6)\\nCollecting opt-einsum>=2.3.2\\n Downloading https://files.pythonhosted.org/packages/b8/83/755bd5324777875e9dff19c2e59daec837d0378c09196634524a3d7269ac/opt_einsum-3.1.0.tar.gz (69kB)\\nCollecting keras-preprocessing>=1.0.5\\n Downloading https://files.pythonhosted.org/packages/28/6a/8c1f62c37212d9fc441a7e26736df51ce6f0e38455816445471f10da4f0a/Keras_Preprocessing-1.1.0-py2.py3-none-any.whl (41kB)\\nCollecting tensorboard<2.1.0,>=2.0.0\\n Downloading https://files.pythonhosted.org/packages/d3/9e/a48cd34dd7b672ffc227b566f7d16d63c62c58b542d54efa45848c395dd4/tensorboard-2.0.1-py3-none-any.whl (3.8MB)\\nCollecting wrapt>=1.11.1\\r\\n Downloading https://files.pythonhosted.org/packages/23/84/323c2415280bc4fc880ac5050dddfb3c8062c2552b34c2e512eb4aa68f79/wrapt-1.11.2.tar.gz\\nCollecting astor>=0.6.0\\n Downloading https://files.pythonhosted.org/packages/d1/4f/950dfae467b384fc96bc6469de25d832534f6b4441033c39f914efd13418/astor-0.8.0-py2.py3-none-any.whl\\nCollecting protobuf>=3.6.1\\n Downloading https://files.pythonhosted.org/packages/a8/52/d8d2dbff74b8bf517c42db8d44c3f9ef6555e6f5d6caddfa3f207b9143df/protobuf-3.10.0-cp36-cp36m-manylinux1_x86_64.whl (1.3MB)\\nCollecting keras-applications>=1.0.8\\n Downloading https://files.pythonhosted.org/packages/71/e3/19762fdfc62877ae9102edf6342d71b28fbfd9dea3d2f96a882ce099b03f/Keras_Applications-1.0.8-py3-none-any.whl (50kB)\\nCollecting six>=1.10.0\\n Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl\\nCollecting grpcio>=1.8.6\\n Downloading https://files.pythonhosted.org/packages/30/54/c9810421e41ec0bca2228c6f06b1b1189b196b69533cbcac9f71b44727f8/grpcio-1.24.3-cp36-cp36m-manylinux2010_x86_64.whl (2.2MB)\\nCollecting termcolor>=1.1.0\\n Downloading https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz\\nCollecting gast==0.2.2\\n Downloading https://files.pythonhosted.org/packages/4e/35/11749bf99b2d4e3cceb4d55ca22590b0d7c2c62b9de38ac4a4a7f4687421/gast-0.2.2.tar.gz\\nCollecting google-pasta>=0.1.6\\r\\n Downloading https://files.pythonhosted.org/packages/c3/fd/1e86bc4837cc9a3a5faf3db9b1854aa04ad35b5f381f9648fbe81a6f94e4/google_pasta-0.1.8-py3-none-any.whl (57kB)\\nCollecting tensorflow-estimator<2.1.0,>=2.0.0\\n Downloading https://files.pythonhosted.org/packages/fc/08/8b927337b7019c374719145d1dceba21a8bb909b93b1ad6f8fb7d22c1ca1/tensorflow_estimator-2.0.1-py2.py3-none-any.whl (449kB)\\nCollecting psutil\\n Downloading https://files.pythonhosted.org/packages/47/ea/d3b6d6fd0b4a6c12984df652525f394e68c8678d2b05075219144eb3a1cf/psutil-5.6.4.tar.gz (447kB)\\n Installing build dependencies: started\\n Installing build dependencies: finished with status 'done'\\r\\n Getting requirements to build wheel: started\\n Getting requirements to build wheel: finished with status 'done'\\n Preparing wheel metadata: started\\n Preparing wheel metadata: finished with status 'done'\\nCollecting pyyaml\\n Downloading https://files.pythonhosted.org/packages/e3/e8/b3212641ee2718d556df0f23f78de8303f068fe29cdaa7a91018849582fe/PyYAML-5.1.2.tar.gz (265kB)\\nCollecting cffi>=1.4.0\\n Downloading https://files.pythonhosted.org/packages/49/72/0d42f94fe94afa8030350c26e9d787219f3f008ec9bf6b86c66532b29236/cffi-1.13.2-cp36-cp36m-manylinux1_x86_64.whl (397kB)\\nCollecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1\\n Downloading https://files.pythonhosted.org/packages/e0/da/55f51ea951e1b7c63a579c09dd7db825bb730ec1fe9c0180fc77bfb31448/urllib3-1.25.6-py2.py3-none-any.whl (125kB)\\nRequirement already satisfied: certifi>=2017.4.17 in /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib/python3.6/site-packages (from requests->transformers==2.0.0->-r /azureml-environment-setup/condaenv.mh4fscwv.requirements.txt (line 1)) (2019.9.11)\\nCollecting idna<2.9,>=2.5\\n Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB)\\nCollecting chardet<3.1.0,>=3.0.2\\n Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)\\nCollecting s3transfer<0.3.0,>=0.2.0\\n Downloading https://files.pythonhosted.org/packages/16/8a/1fc3dba0c4923c2a76e1ff0d52b305c44606da63f718d14d3231e21c51b0/s3transfer-0.2.1-py2.py3-none-any.whl (70kB)\\nCollecting botocore<1.14.0,>=1.13.9\\r\\n Downloading https://files.pythonhosted.org/packages/bd/45/042a6db7d025be8b04bd47528bc8db414de02e2e5802142e9fb45610d620/botocore-1.13.9-py2.py3-none-any.whl (5.3MB)\\nCollecting jmespath<1.0.0,>=0.7.1\\n Downloading https://files.pythonhosted.org/packages/83/94/7179c3832a6d45b266ddb2aac329e101367fbdb11f425f13771d27f225bb/jmespath-0.9.4-py2.py3-none-any.whl\\nCollecting click\\n Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)\\nCollecting joblib\\n Downloading https://files.pythonhosted.org/packages/8f/42/155696f85f344c066e17af287359c9786b436b1bf86029bb3411283274f3/joblib-0.14.0-py2.py3-none-any.whl (294kB)\\nCollecting distro>=1.2.0\\n Downloading https://files.pythonhosted.org/packages/ea/35/82f79b92fa4d937146c660a6482cee4f3dfa1f97ff3d2a6f3ecba33e712e/distro-1.4.0-py2.py3-none-any.whl\\nCollecting python-dateutil>=2.6.1\\n Downloading https://files.pythonhosted.org/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl (227kB)\\nCollecting pytz>=2017.2\\n Downloading https://files.pythonhosted.org/packages/e7/f9/f0b53f88060247251bf481fa6ea62cd0d25bf1b11a87888e53ce5b7c8ad2/pytz-2019.3-py2.py3-none-any.whl (509kB)\\nCollecting adal>=0.4.5\\n Downloading https://files.pythonhosted.org/packages/4f/b5/3ea9ae3d1096b9ff31e8f1846c47d49f3129a12464ac0a73b602de458298/adal-1.2.2-py2.py3-none-any.whl (53kB)\\nCollecting liac-arff>=2.1.1\\n Downloading https://files.pythonhosted.org/packages/e9/35/fbc9217cfa91d98888b43e1a19c03a50d716108c58494c558c65e308f372/liac-arff-2.4.0.tar.gz\\nCollecting dill>=0.2.7.1\\n Downloading https://files.pythonhosted.org/packages/c7/11/345f3173809cea7f1a193bfbf02403fff250a3360e0e118a1630985e547d/dill-0.3.1.1.tar.gz (151kB)\\nCollecting azure-graphrbac>=0.40.0\\r\\n Downloading https://files.pythonhosted.org/packages/3e/93/02056aca45162f9fc275d1eaad12a2a07ef92375afb48eabddc4134b8315/azure_graphrbac-0.61.1-py2.py3-none-any.whl (141kB)\\nCollecting msrest>=0.5.1\\n Downloading https://files.pythonhosted.org/packages/27/b0/c34b3ea9b2ed74b800520fbefb312cdb7f05c20b8bd42e5e7662a5614f98/msrest-0.6.10-py2.py3-none-any.whl (82kB)\\nCollecting contextlib2\\n Downloading https://files.pythonhosted.org/packages/85/60/370352f7ef6aa96c52fb001831622f50f923c1d575427d021b8ab3311236/contextlib2-0.6.0.post1-py2.py3-none-any.whl\\nCollecting docker\\n Downloading https://files.pythonhosted.org/packages/cc/ca/699d4754a932787ef353a157ada74efd1ceb6d1fc0bfb7989ae1e7b33111/docker-4.1.0-py2.py3-none-any.whl (139kB)\\nCollecting azure-mgmt-storage>=1.5.0\\n Downloading https://files.pythonhosted.org/packages/8a/d9/117216e5f671f6c3238c50cba583924252c5ee08091a7d10fa1d3113faa3/azure_mgmt_storage-6.0.0-py2.py3-none-any.whl (514kB)\\nCollecting pyopenssl\\n Downloading https://files.pythonhosted.org/packages/01/c8/ceb170d81bd3941cbeb9940fc6cc2ef2ca4288d0ca8929ea4db5905d904d/pyOpenSSL-19.0.0-py2.py3-none-any.whl (53kB)\\nCollecting backports.tempfile\\n Downloading https://files.pythonhosted.org/packages/b4/5c/077f910632476281428fe254807952eb47ca78e720d059a46178c541e669/backports.tempfile-1.0-py2.py3-none-any.whl\\nCollecting ndg-httpsclient\\n Downloading https://files.pythonhosted.org/packages/fb/67/c2f508c00ed2a6911541494504b7cac16fe0b0473912568df65fd1801132/ndg_httpsclient-0.5.1-py3-none-any.whl\\nCollecting azure-mgmt-authorization>=0.40.0\\n Downloading https://files.pythonhosted.org/packages/5e/17/4724694ddb3311955ddc367eddcd0928f8ee2c7b12d5a6f0b12bca0b03db/azure_mgmt_authorization-0.60.0-py2.py3-none-any.whl (82kB)\\nCollecting SecretStorage\\n Downloading https://files.pythonhosted.org/packages/82/59/cb226752e20d83598d7fdcabd7819570b0329a61db07cfbdd21b2ef546e3/SecretStorage-3.1.1-py3-none-any.whl\\nCollecting jsonpickle\\n Downloading https://files.pythonhosted.org/packages/07/07/c157520a3ebd166c8c24c6ae0ecae7c3968eb4653ff0e5af369bb82f004d/jsonpickle-1.2-py2.py3-none-any.whl\\nCollecting cryptography!=1.9,!=2.0.*,!=2.1.*,!=2.2.*\\n Downloading https://files.pythonhosted.org/packages/ca/9a/7cece52c46546e214e10811b36b2da52ce1ea7fa203203a629b8dfadad53/cryptography-2.8-cp34-abi3-manylinux2010_x86_64.whl (2.3MB)\\nCollecting PyJWT\\n Downloading https://files.pythonhosted.org/packages/87/8b/6a9f14b5f781697e51259d81657e6048fd31a113229cf346880bb7545565/PyJWT-1.7.1-py2.py3-none-any.whl\\nCollecting ruamel.yaml<=0.15.89,>=0.15.35\\r\\n Downloading https://files.pythonhosted.org/packages/36/e1/cc2fa400fa5ffde3efa834ceb15c464075586de05ca3c553753dcd6f1d3b/ruamel.yaml-0.15.89-cp36-cp36m-manylinux1_x86_64.whl (651kB)\\nCollecting pathspec\\n Downloading https://files.pythonhosted.org/packages/7a/68/5902e8cd7f7b17c5879982a3a3ee2ad0c3b92b80c79989a2d3e1ca8d29e1/pathspec-0.6.0.tar.gz\\nCollecting msrestazure>=0.4.33\\n Downloading https://files.pythonhosted.org/packages/68/75/5cb56ca8cbc6c5fe476e4878c73f57a331edcf55e5d3fcb4a7377d7d659d/msrestazure-0.6.2-py2.py3-none-any.whl (40kB)\\nCollecting azure-mgmt-resource>=1.2.1\\n Downloading https://files.pythonhosted.org/packages/7c/0d/80815326fa04f2a73ea94b0f57c29669c89df5aa5f5e285952f6445a91c4/azure_mgmt_resource-5.1.0-py2.py3-none-any.whl (681kB)\\nCollecting azure-mgmt-keyvault>=0.40.0\\n Downloading https://files.pythonhosted.org/packages/b3/d1/9fed0a3a3b43d0b1ad59599b5c836ccc4cf117e26458075385bafe79575b/azure_mgmt_keyvault-2.0.0-py2.py3-none-any.whl (80kB)\\nCollecting azure-mgmt-containerregistry>=2.0.0\\n Downloading https://files.pythonhosted.org/packages/97/70/8c2d0509db466678eba16fa2b0a539499f3b351b1f2993126ad843d5be13/azure_mgmt_containerregistry-2.8.0-py2.py3-none-any.whl (718kB)\\nCollecting azure-common>=1.1.12\\n Downloading https://files.pythonhosted.org/packages/00/55/a703923c12cd3172d5c007beda0c1a34342a17a6a72779f8a7c269af0cd6/azure_common-1.1.23-py2.py3-none-any.whl\\nCollecting Werkzeug>=0.14\\n Downloading https://files.pythonhosted.org/packages/ce/42/3aeda98f96e85fd26180534d36570e4d18108d62ae36f87694b476b83d6f/Werkzeug-0.16.0-py2.py3-none-any.whl (327kB)\\nCollecting itsdangerous>=0.24\\n Downloading https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl\\nCollecting Jinja2>=2.10\\n Downloading https://files.pythonhosted.org/packages/65/e0/eb35e762802015cab1ccee04e8a277b03f1d8e53da3ec3106882ec42558b/Jinja2-2.10.3-py2.py3-none-any.whl (125kB)\\nCollecting google-auth-oauthlib<0.5,>=0.4.1\\n Downloading https://files.pythonhosted.org/packages/7b/b8/88def36e74bee9fce511c9519571f4e485e890093ab7442284f4ffaef60b/google_auth_oauthlib-0.4.1-py2.py3-none-any.whl\\nCollecting markdown>=2.6.8\\n Downloading https://files.pythonhosted.org/packages/c0/4e/fd492e91abdc2d2fcb70ef453064d980688762079397f779758e055f6575/Markdown-3.1.1-py2.py3-none-any.whl (87kB)\\nRequirement already satisfied: setuptools>=41.0.0 in /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib/python3.6/site-packages (from tensorboard<2.1.0,>=2.0.0->tensorflow-gpu==2.0.0->-r /azureml-environment-setup/condaenv.mh4fscwv.requirements.txt (line 4)) (41.6.0.post20191101)\\nCollecting google-auth<2,>=1.6.3\\n Downloading https://files.pythonhosted.org/packages/2f/81/d1e7d9974ba7c886f6d133a8baae18cb8d92b2d09bcc4f46328306825de0/google_auth-1.7.0-py2.py3-none-any.whl (74kB)\\nCollecting h5py\\n Downloading https://files.pythonhosted.org/packages/60/06/cafdd44889200e5438b897388f3075b52a8ef01f28a17366d91de0fa2d05/h5py-2.10.0-cp36-cp36m-manylinux1_x86_64.whl (2.9MB)\\nCollecting pycparser\\n Downloading https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz (158kB)\\nCollecting docutils<0.16,>=0.10\\r\\n Downloading https://files.pythonhosted.org/packages/22/cd/a6aa959dca619918ccb55023b4cb151949c64d4d5d55b3f4ffd7eee0c6e8/docutils-0.15.2-py3-none-any.whl (547kB)\\nCollecting isodate>=0.6.0\\n Downloading https://files.pythonhosted.org/packages/9b/9f/b36f7774ff5ea8e428fdcfc4bb332c39ee5b9362ddd3d40d9516a55221b2/isodate-0.6.0-py2.py3-none-any.whl (45kB)\\nCollecting requests-oauthlib>=0.5.0\\n Downloading https://files.pythonhosted.org/packages/c2/e2/9fd03d55ffb70fe51f587f20bcf407a6927eb121de86928b34d162f0b1ac/requests_oauthlib-1.2.0-py2.py3-none-any.whl\\nCollecting websocket-client>=0.32.0\\n Downloading https://files.pythonhosted.org/packages/29/19/44753eab1fdb50770ac69605527e8859468f3c0fd7dc5a76dd9c4dbd7906/websocket_client-0.56.0-py2.py3-none-any.whl (200kB)\\nCollecting backports.weakref\\n Downloading https://files.pythonhosted.org/packages/88/ec/f598b633c3d5ffe267aaada57d961c94fdfa183c5c3ebda2b6d151943db6/backports.weakref-1.0.post1-py2.py3-none-any.whl\\nCollecting pyasn1>=0.1.1\\n Downloading https://files.pythonhosted.org/packages/a1/71/8f0d444e3a74e5640a3d5d967c1c6b015da9c655f35b2d308a55d907a517/pyasn1-0.4.7-py2.py3-none-any.whl (76kB)\\nCollecting jeepney\\n Downloading https://files.pythonhosted.org/packages/0a/4c/ef880713a6c6d628869596703167eab2edf8e0ec2d870d1089dcb0901b81/jeepney-0.4.1-py3-none-any.whl (60kB)\\nCollecting MarkupSafe>=0.23\\n Downloading https://files.pythonhosted.org/packages/b2/5f/23e0023be6bb885d00ffbefad2942bc51a620328ee910f64abe5a8d18dd1/MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl\\nCollecting cachetools<3.2,>=2.0.0\\n Downloading https://files.pythonhosted.org/packages/2f/a6/30b0a0bef12283e83e58c1d6e7b5aabc7acfc4110df81a4471655d33e704/cachetools-3.1.1-py2.py3-none-any.whl\\nCollecting rsa<4.1,>=3.1.4\\n Downloading https://files.pythonhosted.org/packages/02/e5/38518af393f7c214357079ce67a317307936896e961e35450b70fad2a9cf/rsa-4.0-py2.py3-none-any.whl\\nCollecting pyasn1-modules>=0.2.1\\n Downloading https://files.pythonhosted.org/packages/52/50/bb4cefca37da63a0c52218ba2cb1b1c36110d84dcbae8aa48cd67c5e95c2/pyasn1_modules-0.2.7-py2.py3-none-any.whl (131kB)\\nCollecting oauthlib>=3.0.0\\n Downloading https://files.pythonhosted.org/packages/05/57/ce2e7a8fa7c0afb54a0581b14a65b56e62b5759dbc98e80627142b8a3704/oauthlib-3.1.0-py2.py3-none-any.whl (147kB)\\nBuilding wheels for collected packages: psutil\\n Building wheel for psutil (PEP 517): started\\n Building wheel for psutil (PEP 517): finished with status 'done'\\r\\n Created wheel for psutil: filename=psutil-5.6.4-cp36-cp36m-linux_x86_64.whl size=274379 sha256=01aaeb57d750872bc0187e9f73de611d602de2071b19571418b7d2db1eec148c\\n Stored in directory: /root/.cache/pip/wheels/1a/98/c1/36abacc61566e32c22317111d85ca6977c9788ba0cadf8687a\\nSuccessfully built psutil\\nBuilding wheels for collected packages: horovod, sacremoses, fusepy, json-logging-py, absl-py, opt-einsum, wrapt, termcolor, gast, pyyaml, liac-arff, dill, pathspec, pycparser\\n Building wheel for horovod (setup.py): started\\n Building wheel for horovod (setup.py): finished with status 'error'\\r\\n Running setup.py clean for horovod\\n\\u001b[91m ERROR: Command errored out with exit status 1:\\n command: /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '\\\"'\\\"'/tmp/pip-install-s42uo1fu/horovod/setup.py'\\\"'\\\"'; __file__='\\\"'\\\"'/tmp/pip-install-s42uo1fu/horovod/setup.py'\\\"'\\\"';f=getattr(tokenize, '\\\"'\\\"'open'\\\"'\\\"', open)(__file__);code=f.read().replace('\\\"'\\\"'\\\\r\\\\n'\\\"'\\\"', '\\\"'\\\"'\\\\n'\\\"'\\\"');f.close();exec(compile(code, __file__, '\\\"'\\\"'exec'\\\"'\\\"'))' bdist_wheel -d /tmp/pip-wheel-nfy_y1sl --python-tag cp36\\n cwd: /tmp/pip-install-s42uo1fu/horovod/\\n Complete output (220 lines):\\n In file included from ext/_yaml.c:596:0:\\n ext/_yaml.h:2:10: fatal error: yaml.h: No such file or directory\\n #include \\n ^~~~~~~~\\n compilation terminated.\\n Error compiling module, falling back to pure Python\\n zip_safe flag not set; analyzing archive contents...\\n \\n Installed /tmp/pip-install-s42uo1fu/horovod/.eggs/PyYAML-5.1.2-py3.6-linux-x86_64.egg\\n Searching for psutil\\n Reading https://pypi.org/simple/psutil/\\n Downloading https://files.pythonhosted.org/packages/47/ea/d3b6d6fd0b4a6c12984df652525f394e68c8678d2b05075219144eb3a1cf/psutil-5.6.4.tar.gz#sha256=512e854d68f8b42f79b2c7864d997b39125baff9bcff00028ce43543867de7c4\\n Best match: psutil 5.6.4\\n Processing psutil-5.6.4.tar.gz\\n Writing /tmp/easy_install-sl1xieai/psutil-5.6.4/setup.cfg\\n Running psutil-5.6.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-sl1xieai/psutil-5.6.4/egg-dist-tmp-be1ztjcy\\n creating /tmp/pip-install-s42uo1fu/horovod/.eggs/psutil-5.6.4-py3.6-linux-x86_64.egg\\n Extracting psutil-5.6.4-py3.6-linux-x86_64.egg to /tmp/pip-install-s42uo1fu/horovod/.eggs\\n \\n Installed /tmp/pip-install-s42uo1fu/horovod/.eggs/psutil-5.6.4-py3.6-linux-x86_64.egg\\n Searching for cloudpickle\\n Reading https://pypi.org/simple/cloudpickle/\\n Downloading https://files.pythonhosted.org/packages/c1/49/334e279caa3231255725c8e860fa93e72083567625573421db8875846c14/cloudpickle-1.2.2-py2.py3-none-any.whl#sha256=f3ef2c9d438f1553ce7795afb18c1f190d8146132496169ef6aa9b7b65caa4c3\\n Best match: cloudpickle 1.2.2\\n Processing cloudpickle-1.2.2-py2.py3-none-any.whl\\n Installing cloudpickle-1.2.2-py2.py3-none-any.whl to /tmp/pip-install-s42uo1fu/horovod/.eggs\\n \\n Installed /tmp/pip-install-s42uo1fu/horovod/.eggs/cloudpickle-1.2.2-py3.6.egg\\n Searching for pycparser\\n Reading https://pypi.org/simple/pycparser/\\n Downloading https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz#sha256=a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3\\n Best match: pycparser 2.19\\n Processing pycparser-2.19.tar.gz\\n Writing /tmp/easy_install-de7rwtbf/pycparser-2.19/setup.cfg\\n Running pycparser-2.19/setup.py -q bdist_egg --dist-dir /tmp/easy_install-de7rwtbf/pycparser-2.19/egg-dist-tmp-bgl_7iqb\\n warning: no previously-included files found matching 'setup.pyc'\\n warning: no previously-included files matching 'yacctab.*' found under directory 'tests'\\n warning: no previously-included files matching 'lextab.*' found under directory 'tests'\\n warning: no previously-included files matching 'yacctab.*' found under directory 'examples'\\n warning: no previously-included files matching 'lextab.*' found under directory 'examples'\\n zip_safe flag not set; analyzing archive contents...\\n pycparser.ply.__pycache__.lex.cpython-36: module references __file__\\n pycparser.ply.__pycache__.lex.cpython-36: module MAY be using inspect.getsourcefile\\n pycparser.ply.__pycache__.yacc.cpython-36: module references __file__\\n pycparser.ply.__pycache__.yacc.cpython-36: module MAY be using inspect.getsourcefile\\n pycparser.ply.__pycache__.yacc.cpython-36: module MAY be using inspect.stack\\n pycparser.ply.__pycache__.ygen.cpython-36: module references __file__\\n creating /tmp/pip-install-s42uo1fu/horovod/.eggs/pycparser-2.19-py3.6.egg\\n Extracting pycparser-2.19-py3.6.egg to /tmp/pip-install-s42uo1fu/horovod/.eggs\\n \\n Installed /tmp/pip-install-s42uo1fu/horovod/.eggs/pycparser-2.19-py3.6.egg\\n running bdist_wheel\\n running build\\n running build_py\\n creating build\\n creating build/lib.linux-x86_64-3.6\\n creating build/lib.linux-x86_64-3.6/horovod\\n copying horovod/__init__.py -> build/lib.linux-x86_64-3.6/horovod\\n creating build/lib.linux-x86_64-3.6/horovod/torch\\n copying horovod/torch/mpi_ops.py -> build/lib.linux-x86_64-3.6/horovod/torch\\n copying horovod/torch/compression.py -> build/lib.linux-x86_64-3.6/horovod/torch\\n copying horovod/torch/__init__.py -> build/lib.linux-x86_64-3.6/horovod/torch\\n creating build/lib.linux-x86_64-3.6/horovod/spark\\n copying horovod/spark/__init__.py -> build/lib.linux-x86_64-3.6/horovod/spark\\n creating build/lib.linux-x86_64-3.6/horovod/_keras\\n copying horovod/_keras/callbacks.py -> build/lib.linux-x86_64-3.6/horovod/_keras\\n copying horovod/_keras/__init__.py -> build/lib.linux-x86_64-3.6/horovod/_keras\\n creating build/lib.linux-x86_64-3.6/horovod/common\\n copying horovod/common/basics.py -> build/lib.linux-x86_64-3.6/horovod/common\\n copying horovod/common/__init__.py -> build/lib.linux-x86_64-3.6/horovod/common\\n copying horovod/common/util.py -> build/lib.linux-x86_64-3.6/horovod/common\\n creating build/lib.linux-x86_64-3.6/horovod/tensorflow\\n copying horovod/tensorflow/mpi_ops.py -> build/lib.linux-x86_64-3.6/horovod/tensorflow\\n copying horovod/tensorflow/compression.py -> build/lib.linux-x86_64-3.6/horovod/tensorflow\\n copying horovod/tensorflow/__init__.py -> build/lib.linux-x86_64-3.6/horovod/tensorflow\\n copying horovod/tensorflow/util.py -> build/lib.linux-x86_64-3.6/horovod/tensorflow\\n creating build/lib.linux-x86_64-3.6/horovod/mxnet\\n copying horovod/mxnet/mpi_ops.py -> build/lib.linux-x86_64-3.6/horovod/mxnet\\n copying horovod/mxnet/__init__.py -> build/lib.linux-x86_64-3.6/horovod/mxnet\\n creating build/lib.linux-x86_64-3.6/horovod/run\\n copying horovod/run/run.py -> build/lib.linux-x86_64-3.6/horovod/run\\n copying horovod/run/task_fn.py -> build/lib.linux-x86_64-3.6/horovod/run\\n copying horovod/run/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run\\n copying horovod/run/gloo_run.py -> build/lib.linux-x86_64-3.6/horovod/run\\n copying horovod/run/mpi_run.py -> build/lib.linux-x86_64-3.6/horovod/run\\n creating build/lib.linux-x86_64-3.6/horovod/keras\\n copying horovod/keras/callbacks.py -> build/lib.linux-x86_64-3.6/horovod/keras\\n copying horovod/keras/__init__.py -> build/lib.linux-x86_64-3.6/horovod/keras\\n creating build/lib.linux-x86_64-3.6/horovod/torch/mpi_lib_impl\\n copying horovod/torch/mpi_lib_impl/__init__.py -> build/lib.linux-x86_64-3.6/horovod/torch/mpi_lib_impl\\n creating build/lib.linux-x86_64-3.6/horovod/torch/mpi_lib\\n copying horovod/torch/mpi_lib/__init__.py -> build/lib.linux-x86_64-3.6/horovod/torch/mpi_lib\\n creating build/lib.linux-x86_64-3.6/horovod/spark/driver\\n copying horovod/spark/driver/mpirun_rsh.py -> build/lib.linux-x86_64-3.6/horovod/spark/driver\\n copying horovod/spark/driver/job_id.py -> build/lib.linux-x86_64-3.6/horovod/spark/driver\\n copying horovod/spark/driver/driver_service.py -> build/lib.linux-x86_64-3.6/horovod/spark/driver\\n copying horovod/spark/driver/__init__.py -> build/lib.linux-x86_64-3.6/horovod/spark/driver\\n creating build/lib.linux-x86_64-3.6/horovod/spark/task\\n copying horovod/spark/task/task_service.py -> build/lib.linux-x86_64-3.6/horovod/spark/task\\n copying horovod/spark/task/mpirun_exec_fn.py -> build/lib.linux-x86_64-3.6/horovod/spark/task\\n copying horovod/spark/task/__init__.py -> build/lib.linux-x86_64-3.6/horovod/spark/task\\n creating build/lib.linux-x86_64-3.6/horovod/tensorflow/keras\\n copying horovod/tensorflow/keras/callbacks.py -> build/lib.linux-x86_64-3.6/horovod/tensorflow/keras\\n copying horovod/tensorflow/keras/__init__.py -> build/lib.linux-x86_64-3.6/horovod/tensorflow/keras\\n creating build/lib.linux-x86_64-3.6/horovod/run/driver\\n copying horovod/run/driver/driver_service.py -> build/lib.linux-x86_64-3.6/horovod/run/driver\\n copying horovod/run/driver/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run/driver\\n creating build/lib.linux-x86_64-3.6/horovod/run/common\\n copying horovod/run/common/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run/common\\n creating build/lib.linux-x86_64-3.6/horovod/run/task\\n copying horovod/run/task/task_service.py -> build/lib.linux-x86_64-3.6/horovod/run/task\\n copying horovod/run/task/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run/task\\n creating build/lib.linux-x86_64-3.6/horovod/run/util\\n copying horovod/run/util/cache.py -> build/lib.linux-x86_64-3.6/horovod/run/util\\n copying horovod/run/util/network.py -> build/lib.linux-x86_64-3.6/horovod/run/util\\n copying horovod/run/util/threads.py -> build/lib.linux-x86_64-3.6/horovod/run/util\\n copying horovod/run/util/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run/util\\n creating build/lib.linux-x86_64-3.6/horovod/run/rendezvous\\n copying horovod/run/rendezvous/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run/rendezvous\\n copying horovod/run/rendezvous/http_server.py -> build/lib.linux-x86_64-3.6/horovod/run/rendezvous\\n creating build/lib.linux-x86_64-3.6/horovod/run/common/service\\n copying horovod/run/common/service/task_service.py -> build/lib.linux-x86_64-3.6/horovod/run/common/service\\n copying horovod/run/common/service/driver_service.py -> build/lib.linux-x86_64-3.6/horovod/run/common/service\\n copying horovod/run/common/service/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run/common/service\\n creating build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/host_hash.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/settings.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/codec.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/network.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/safe_shell_exec.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/env.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/config_parser.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/__init__.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/secret.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n copying horovod/run/common/util/timeout.py -> build/lib.linux-x86_64-3.6/horovod/run/common/util\\n running build_ext\\n gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -std=c++11 -fPIC -O2 -Wall -I/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/include/python3.6m -c build/temp.linux-x86_64-3.6/test_compile/test_cpp_flags.cc -o build/temp.linux-x86_64-3.6/test_compile/test_cpp_flags.o\\n cc1plus: warning: command line option \\u2018-Wstrict-prototypes\\u2019 is valid for C/ObjC but not for C++\\n gcc -pthread -shared -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed build/temp.linux-x86_64-3.6/test_compile/test_cpp_flags.o -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -o build/temp.linux-x86_64-3.6/test_compile/test_cpp_flags.so\\n gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/include/python3.6m -c build/temp.linux-x86_64-3.6/test_compile/test_link_flags.cc -o build/temp.linux-x86_64-3.6/test_compile/test_link_flags.o\\n cc1plus: warning: command line option \\u2018-Wstrict-prototypes\\u2019 is valid for C/ObjC but not for C++\\n gcc -pthread -shared -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed -Wl,--version-script=horovod.lds build/temp.linux-x86_64-3.6/test_compile/test_link_flags.o -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -o build/temp.linux-x86_64-3.6/test_compile/test_link_flags.so\\n INFO: Cannot find CMake, will skip compiling Horovod with Gloo.\\n gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -std=c++11 -fPIC -O2 -Wall -I/usr/local/cuda/include -I/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/include/python3.6m -c build/temp.linux-x86_64-3.6/test_compile/test_cuda.cc -o build/temp.linux-x86_64-3.6/test_compile/test_cuda.o\\n cc1plus: warning: command line option \\u2018-Wstrict-prototypes\\u2019 is valid for C/ObjC but not for C++\\n gcc -pthread -shared -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed build/temp.linux-x86_64-3.6/test_compile/test_cuda.o -L/usr/local/cuda/lib -L/usr/local/cuda/lib64 -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -lcudart -o build/temp.linux-x86_64-3.6/test_compile/test_cuda.so\\n gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -std=c++11 -fPIC -O2 -Wall -I/usr/local/cuda/include -I/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/include/python3.6m -c build/temp.linux-x86_64-3.6/test_compile/test_nccl.cc -o build/temp.linux-x86_64-3.6/test_compile/test_nccl.o\\n cc1plus: warning: command line option \\u2018-Wstrict-prototypes\\u2019 is valid for C/ObjC but not for C++\\n gcc -pthread -shared -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -Wl,-rpath=/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib,--no-as-needed build/temp.linux-x86_64-3.6/test_compile/test_nccl.o -L/usr/local/cuda/lib -L/usr/local/cuda/lib64 -L/azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib -lnccl_static -o build/temp.linux-x86_64-3.6/test_compile/test_nccl.so\\n INFO: Unable to build TensorFlow plugin, will skip it.\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 72, in check_tf_version\\n import tensorflow as tf\\n ModuleNotFoundError: No module named 'tensorflow'\\n \\n During handling of the above exception, another exception occurred:\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 1375, in build_extensions\\n build_tf_extension(self, options)\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 851, in build_tf_extension\\n check_tf_version()\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 79, in check_tf_version\\n 'import tensorflow failed, is it installed?\\\\n\\\\n%s' % traceback.format_exc())\\n distutils.errors.DistutilsPlatformError: import tensorflow failed, is it installed?\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 72, in check_tf_version\\n import tensorflow as tf\\n ModuleNotFoundError: No module named 'tensorflow'\\n \\n \\n INFO: Unable to build PyTorch plugin, will skip it.\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 1060, in check_torch_version\\n import torch\\n ModuleNotFoundError: No module named 'torch'\\n \\n During handling of the above exception, another exception occurred:\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 1387, in build_extensions\\n torch_version = check_torch_version()\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 1067, in check_torch_version\\n 'import torch failed, is it installed?\\\\n\\\\n%s' % traceback.format_exc())\\n distutils.errors.DistutilsPlatformError: import torch failed, is it installed?\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 1060, in check_torch_version\\n import torch\\n ModuleNotFoundError: No module named 'torch'\\n \\n \\n INFO: Unable to build MXNet plugin, will skip it.\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 88, in check_mx_version\\n import mxnet as mx\\n ModuleNotFoundError: No module named 'mxnet'\\n \\n During handling of the above exception, another exception occurred:\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 1403, in build_extensions\\n build_mx_extension(self, options)\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 1000, in build_mx_extension\\n check_mx_version()\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 95, in check_mx_version\\n 'import mxnet failed, is it installed?\\\\n\\\\n%s' % traceback.format_exc())\\n distutils.errors.DistutilsPlatformError: import mxnet failed, is it installed?\\n \\n Traceback (most recent call last):\\n File \\\"/tmp/pip-install-s42uo1fu/horovod/setup.py\\\", line 88, in check_mx_version\\n import mxnet as mx\\n ModuleNotFoundError: No module named 'mxnet'\\n \\n \\n error: None of TensorFlow, PyTorch, or MXNet plugins were built. See errors above.\\n ----------------------------------------\\n ERROR: Failed building wheel for horovod\\r\\n\\u001b[0m Building wheel for sacremoses (setup.py): started\\n Building wheel for sacremoses (setup.py): finished with status 'done'\\n Created wheel for sacremoses: filename=sacremoses-0.0.35-cp36-none-any.whl size=883999 sha256=22d08ad0d9ffaf465f1f3f9520edf52f6f383e7cc707e14567f209d1bb10d74a\\n Stored in directory: /root/.cache/pip/wheels/63/2a/db/63e2909042c634ef551d0d9ac825b2b0b32dede4a6d87ddc94\\n Building wheel for fusepy (setup.py): started\\n Building wheel for fusepy (setup.py): finished with status 'done'\\n Created wheel for fusepy: filename=fusepy-3.0.1-cp36-none-any.whl size=10505 sha256=1c8979ab1980a7adfbb2a0489c0ee673f789be22acdd0b60cf58bf320a8b7119\\n Stored in directory: /root/.cache/pip/wheels/4c/a5/91/7772af9e21c461f07bb40f26d928d7d231d224977dd8353bab\\n Building wheel for json-logging-py (setup.py): started\\n Building wheel for json-logging-py (setup.py): finished with status 'done'\\n Created wheel for json-logging-py: filename=json_logging_py-0.2-cp36-none-any.whl size=3924 sha256=760a9fe1f5f87956b3fffe6f66563350340635c57c462319f3e85a1997b71d58\\n Stored in directory: /root/.cache/pip/wheels/0d/2e/1c/c638b7589610d8b9358a6e5eb008edacb8b3e9b6d1edc9479f\\n Building wheel for absl-py (setup.py): started\\n Building wheel for absl-py (setup.py): finished with status 'done'\\n Created wheel for absl-py: filename=absl_py-0.8.1-cp36-none-any.whl size=121167 sha256=13c57fcf8f4d15ad5457def6dcdd15a24bbb6739ef6dd56002df4922267deca6\\n Stored in directory: /root/.cache/pip/wheels/a7/15/a0/0a0561549ad11cdc1bc8fa1191a353efd30facf6bfb507aefc\\n Building wheel for opt-einsum (setup.py): started\\r\\n Building wheel for opt-einsum (setup.py): finished with status 'done'\\n Created wheel for opt-einsum: filename=opt_einsum-3.1.0-cp36-none-any.whl size=61682 sha256=57ab11d771663c98ba40987d761619757f8ab1d904b7344074a71bea2ab189f6\\n Stored in directory: /root/.cache/pip/wheels/2c/b1/94/43d03e130b929aae7ba3f8d15cbd7bc0d1cb5bb38a5c721833\\n Building wheel for wrapt (setup.py): started\\n Building wheel for wrapt (setup.py): finished with status 'done'\\n Created wheel for wrapt: filename=wrapt-1.11.2-cp36-cp36m-linux_x86_64.whl size=69926 sha256=304ac5c0cff98ac7fd60e3a02ce6b20c70843c824bb752ed61aeca997d507aed\\n Stored in directory: /root/.cache/pip/wheels/d7/de/2e/efa132238792efb6459a96e85916ef8597fcb3d2ae51590dfd\\n Building wheel for termcolor (setup.py): started\\n Building wheel for termcolor (setup.py): finished with status 'done'\\n Created wheel for termcolor: filename=termcolor-1.1.0-cp36-none-any.whl size=4832 sha256=a2e24ff8aec62a7dd7aafac4bde3afbb524bbc786e29814c6f0206bb3f91631f\\n Stored in directory: /root/.cache/pip/wheels/7c/06/54/bc84598ba1daf8f970247f550b175aaaee85f68b4b0c5ab2c6\\n Building wheel for gast (setup.py): started\\n Building wheel for gast (setup.py): finished with status 'done'\\r\\n Created wheel for gast: filename=gast-0.2.2-cp36-none-any.whl size=7540 sha256=0c48bed06277ddd75bbc25964b6215c013f723d2026145c4eb56fe4b562838b8\\n Stored in directory: /root/.cache/pip/wheels/5c/2e/7e/a1d4d4fcebe6c381f378ce7743a3ced3699feb89bcfbdadadd\\n Building wheel for pyyaml (setup.py): started\\n Building wheel for pyyaml (setup.py): finished with status 'done'\\n Created wheel for pyyaml: filename=PyYAML-5.1.2-cp36-cp36m-linux_x86_64.whl size=44104 sha256=0fbc1f1c255f8ae62e1aa67d6e8204998957b549edf40a96a9c8c8c971c05c93\\n Stored in directory: /root/.cache/pip/wheels/d9/45/dd/65f0b38450c47cf7e5312883deb97d065e030c5cca0a365030\\n Building wheel for liac-arff (setup.py): started\\n Building wheel for liac-arff (setup.py): finished with status 'done'\\n Created wheel for liac-arff: filename=liac_arff-2.4.0-cp36-none-any.whl size=13333 sha256=a7a20a3d71ad3b31bdb44bc5cd2193735ee84615cd039fd2170e2df6d321bfc8\\n Stored in directory: /root/.cache/pip/wheels/d1/6a/e7/529dc54d76ecede4346164a09ae3168df358945612710f5203\\n Building wheel for dill (setup.py): started\\n Building wheel for dill (setup.py): finished with status 'done'\\n Created wheel for dill: filename=dill-0.3.1.1-cp36-none-any.whl size=78532 sha256=8a08aca0b073fffb633d233ccd2fe94ed8887903e03907efff76ee85f01af4b1\\n Stored in directory: /root/.cache/pip/wheels/59/b1/91/f02e76c732915c4015ab4010f3015469866c1eb9b14058d8e7\\n Building wheel for pathspec (setup.py): started\\n Building wheel for pathspec (setup.py): finished with status 'done'\\n Created wheel for pathspec: filename=pathspec-0.6.0-cp36-none-any.whl size=26671 sha256=2b19abc41057836d66a030b25a526ccf954d3c8450be7eafa1388ec7dd3e21a5\\n Stored in directory: /root/.cache/pip/wheels/62/b8/e1/e2719465b5947c40cd85d613d6cb33449b86a1ca5a6c574269\\n Building wheel for pycparser (setup.py): started\\n Building wheel for pycparser (setup.py): finished with status 'done'\\r\\n Created wheel for pycparser: filename=pycparser-2.19-py2.py3-none-any.whl size=111029 sha256=2ea8046a43975c4bccb04a855d6d0b30ee94d9820624b5d9c1f70d8798aa9290\\n Stored in directory: /root/.cache/pip/wheels/f2/9a/90/de94f8556265ddc9d9c8b271b0f63e57b26fb1d67a45564511\\nSuccessfully built sacremoses fusepy json-logging-py absl-py opt-einsum wrapt termcolor gast pyyaml liac-arff dill pathspec pycparser\\nFailed to build horovod\\n\\u001b[91mERROR: botocore 1.13.9 has requirement python-dateutil<2.8.1,>=2.1; python_version >= \\\"2.7\\\", but you'll have python-dateutil 2.8.1 which is incompatible.\\n\\u001b[0mInstalling collected packages: regex, tqdm, urllib3, idna, chardet, requests, six, python-dateutil, jmespath, docutils, botocore, s3transfer, boto3, numpy, click, joblib, sacremoses, sentencepiece, transformers, azureml-dataprep-native, cloudpickle, distro, dotnetcore2, fusepy, pytz, pandas, pyarrow, azureml-dataprep, PyJWT, pycparser, cffi, cryptography, adal, liac-arff, dill, azureml-model-management-sdk, gunicorn, applicationinsights, configparser, isodate, oauthlib, requests-oauthlib, msrest, azure-common, msrestazure, azure-graphrbac, contextlib2, websocket-client, docker, azure-mgmt-storage, pyopenssl, backports.weakref, backports.tempfile, pyasn1, ndg-httpsclient, azure-mgmt-authorization, jeepney, SecretStorage, jsonpickle, ruamel.yaml, pathspec, azure-mgmt-resource, azure-mgmt-keyvault, azure-mgmt-containerregistry, azureml-core, Werkzeug, itsdangerous, MarkupSafe, Jinja2, flask, json-logging-py, azureml-defaults, absl-py, opt-einsum, keras-preprocessing, cachetools, rsa, pyasn1-modules, google-auth, google-auth-oauthlib, markdown, grpcio, protobuf, tensorboard, wrapt, astor, h5py, keras-applications, termcolor, gast, google-pasta, tensorflow-estimator, tensorflow-gpu, psutil, pyyaml, horovod\\n Running setup.py install for horovod: started\\r\\n Running setup.py install for horovod: still running...\\r\\n Running setup.py install for horovod: finished with status 'done'\\r\\nSuccessfully installed Jinja2-2.10.3 MarkupSafe-1.1.1 PyJWT-1.7.1 SecretStorage-3.1.1 Werkzeug-0.16.0 absl-py-0.8.1 adal-1.2.2 applicationinsights-0.11.9 astor-0.8.0 azure-common-1.1.23 azure-graphrbac-0.61.1 azure-mgmt-authorization-0.60.0 azure-mgmt-containerregistry-2.8.0 azure-mgmt-keyvault-2.0.0 azure-mgmt-resource-5.1.0 azure-mgmt-storage-6.0.0 azureml-core-1.0.72 azureml-dataprep-1.1.29 azureml-dataprep-native-13.1.0 azureml-defaults-1.0.72 azureml-model-management-sdk-1.0.1b6.post1 backports.tempfile-1.0 backports.weakref-1.0.post1 boto3-1.10.9 botocore-1.13.9 cachetools-3.1.1 cffi-1.13.2 chardet-3.0.4 click-7.0 cloudpickle-1.2.2 configparser-3.7.4 contextlib2-0.6.0.post1 cryptography-2.8 dill-0.3.1.1 distro-1.4.0 docker-4.1.0 docutils-0.15.2 dotnetcore2-2.1.9 flask-1.0.3 fusepy-3.0.1 gast-0.2.2 google-auth-1.7.0 google-auth-oauthlib-0.4.1 google-pasta-0.1.8 grpcio-1.24.3 gunicorn-19.9.0 h5py-2.10.0 horovod-0.18.1 idna-2.8 isodate-0.6.0 itsdangerous-1.1.0 jeepney-0.4.1 jmespath-0.9.4 joblib-0.14.0 json-logging-py-0.2 jsonpickle-1.2 keras-applications-1.0.8 keras-preprocessing-1.1.0 liac-arff-2.4.0 markdown-3.1.1 msrest-0.6.10 msrestazure-0.6.2 ndg-httpsclient-0.5.1 numpy-1.17.3 oauthlib-3.1.0 opt-einsum-3.1.0 pandas-0.25.3 pathspec-0.6.0 protobuf-3.10.0 psutil-5.6.4 pyarrow-0.11.1 pyasn1-0.4.7 pyasn1-modules-0.2.7 pycparser-2.19 pyopenssl-19.0.0 python-dateutil-2.8.1 pytz-2019.3 pyyaml-5.1.2 regex-2019.11.1 requests-2.22.0 requests-oauthlib-1.2.0 rsa-4.0 ruamel.yaml-0.15.89 s3transfer-0.2.1 sacremoses-0.0.35 sentencepiece-0.1.83 six-1.12.0 tensorboard-2.0.1 tensorflow-estimator-2.0.1 tensorflow-gpu-2.0.0 termcolor-1.1.0 tqdm-4.37.0 transformers-2.0.0 urllib3-1.25.6 websocket-client-0.56.0 wrapt-1.11.2\\n\\u001b[91m\\n\\u001b[0m#\\n# To activate this environment, use:\\n# > source activate /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817\\n#\\n# To deactivate an active environment, use:\\n# > source deactivate\\n#\\n\\nRemoving intermediate container 16ad378da3e0\\n ---> 8fb665df847e\\nStep 9/14 : ENV PATH /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/bin:$PATH\\r\\n ---> Running in acc6ce8f4345\\nRemoving intermediate container acc6ce8f4345\\n ---> e2cf3facb461\\nStep 10/14 : ENV AZUREML_CONDA_ENVIRONMENT_PATH /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817\\r\\n ---> Running in a2b6d91e7938\\nRemoving intermediate container a2b6d91e7938\\n ---> be71acf63d80\\nStep 11/14 : ENV LD_LIBRARY_PATH /azureml-envs/azureml_b705a44b160b7c072bc83870a99f2817/lib:$LD_LIBRARY_PATH\\r\\n ---> Running in aeda99bc41c2\\nRemoving intermediate container aeda99bc41c2\\n ---> 8b23d11b9f6c\\nStep 12/14 : COPY azureml-environment-setup/spark_cache.py azureml-environment-setup/log4j.properties /azureml-environment-setup/\\r\\n ---> 919edcd35172\\nStep 13/14 : ENV AZUREML_ENVIRONMENT_IMAGE True\\r\\n ---> Running in 91c34529fb4c\\nRemoving intermediate container 91c34529fb4c\\n ---> 2e840614158e\\r\\nStep 14/14 : CMD [\\\"bash\\\"]\\n ---> Running in 0eedf38eaaaa\\nRemoving intermediate container 0eedf38eaaaa\\n ---> e5b0de0e4915\\r\\nSuccessfully built e5b0de0e4915\\nSuccessfully tagged tfworld0b69c845.azurecr.io/azureml/azureml_8b8765b28a4a858399aa44e9096a8d04:latest\\n2019/11/05 08:10:37 Successfully executed container: acb_step_0\\n2019/11/05 08:10:37 Executing step ID: acb_step_1. Timeout(sec): 5400, Working directory: '', Network: 'acb_default_network'\\n2019/11/05 08:10:37 Pushing image: tfworld0b69c845.azurecr.io/azureml/azureml_8b8765b28a4a858399aa44e9096a8d04:latest, attempt 1\\nThe push refers to repository [tfworld0b69c845.azurecr.io/azureml/azureml_8b8765b28a4a858399aa44e9096a8d04]\\n3743e8ca1060: Preparing\\nb6361dd54d01: Preparing\\nd13b5717cd37: Preparing\\nd5afe613e12e: Preparing\\n80be8e3af563: Preparing\\nb46cd0d11e4d: Preparing\\n5d80dfe95b9f: Preparing\\n88dba4d4b1b3: Preparing\\ndd1cdb245341: Preparing\\n632ac93df444: Preparing\\n85355e262b10: Preparing\\n5c11f617277f: Preparing\\n2f3abd252a36: Preparing\\n2eafd5e86d56: Preparing\\n1673fa18caaf: Preparing\\n7545d8b4edec: Preparing\\n718bbdc0b45f: Preparing\\n4a78de7ea906: Preparing\\n0bfa7a55184c: Preparing\\n122be11ab4a2: Preparing\\n7beb13bce073: Preparing\\nf7eae43028b3: Preparing\\n6cebf3abed5f: Preparing\\n2eafd5e86d56: Waiting\\n1673fa18caaf: Waiting\\n7545d8b4edec: Waiting\\n718bbdc0b45f: Waiting\\n4a78de7ea906: Waiting\\n0bfa7a55184c: Waiting\\n122be11ab4a2: Waiting\\n7beb13bce073: Waiting\\nf7eae43028b3: Waiting\\n6cebf3abed5f: Waiting\\ndd1cdb245341: Waiting\\n632ac93df444: Waiting\\n85355e262b10: Waiting\\n5c11f617277f: Waiting\\n2f3abd252a36: Waiting\\nb46cd0d11e4d: Waiting\\n5d80dfe95b9f: Waiting\\n88dba4d4b1b3: Waiting\\n3743e8ca1060: Pushed\\n80be8e3af563: Pushed\\nd5afe613e12e: Pushed\\r\\nd13b5717cd37: Pushed\\nb46cd0d11e4d: Pushed\\n5d80dfe95b9f: Pushed\\n88dba4d4b1b3: Pushed\\r\\ndd1cdb245341: Pushed\\r\\n85355e262b10: Pushed\\r\\n2f3abd252a36: Pushed\\r\\n5c11f617277f: Pushed\\r\\n632ac93df444: Pushed\\r\\n718bbdc0b45f: Pushed\\r\\n4a78de7ea906: Pushed\\r\\n0bfa7a55184c: Pushed\\r\\n122be11ab4a2: Pushed\\r\\n7beb13bce073: Pushed\\r\\nf7eae43028b3: Pushed\\r\\n6cebf3abed5f: Pushed\\r\\n\", \"graph\": {}, \"widget_settings\": {\"childWidgetDisplay\": \"popup\", \"send_telemetry\": false, \"log_level\": \"INFO\", \"sdk_version\": \"1.0.72\"}, \"loading\": false}" - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from azureml.widgets import RunDetails\n", "RunDetails(run1).show()" From 0fb848e0ac80622cb1650a66b1e486b66da1ff31 Mon Sep 17 00:00:00 2001 From: Abraham Omorogbe Date: Fri, 8 Nov 2019 14:04:33 -0800 Subject: [PATCH 20/22] Updated SaS token for storage --- 2-Inferencing/AzureServiceClassifier_Inferencing.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb b/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb index 0ceba17..dcb7ea0 100644 --- a/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb +++ b/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb @@ -236,7 +236,7 @@ "datastore_name = 'tfworld'\n", "container_name = 'azureml-blobstore-7c6bdd88-21fa-453a-9c80-16998f02935f'\n", "account_name = 'tfworld6818510241'\n", - "sas_token = '?sv=2019-02-02&ss=bfqt&srt=sco&sp=rl&se=2019-11-08T05:12:15Z&st=2019-10-23T20:12:15Z&spr=https&sig=eDqnc51TkqiIklpQfloT5vcU70pgzDuKb5PAGTvCdx4%3D'\n", + "sas_token = '?sv=2019-02-02&ss=bfqt&srt=sco&sp=rl&se=2020-11-02T06:01:06Z&st=2019-11-08T22:01:06Z&spr=https&sig=9XcJPwqp4c2cSgsGL1X7cXKO46bzhHCaX75N3gc98GU%3D'\n", "\n", "datastore = Datastore.register_azure_blob_container(workspace=ws, \n", " datastore_name=datastore_name, \n", From c4738b701da27b656dbe7407debb6a6981fc9d56 Mon Sep 17 00:00:00 2001 From: John Wu Date: Mon, 9 Mar 2020 21:21:25 +0000 Subject: [PATCH 21/22] Changed datastore to personal johndatasets storage account and updated dataprep version --- .../AzureServiceClassifier_Training.ipynb | 22 +- .../AzureServiceClassifier_Inferencing.ipynb | 1260 ++--------------- 3-ML-Ops/create-resources/requirements.txt | 2 +- 3-ML-Ops/train-and-register-model.py | 12 +- 4 files changed, 109 insertions(+), 1187 deletions(-) diff --git a/1-Training/AzureServiceClassifier_Training.ipynb b/1-Training/AzureServiceClassifier_Training.ipynb index 7bbd0f2..552bdfd 100644 --- a/1-Training/AzureServiceClassifier_Training.ipynb +++ b/1-Training/AzureServiceClassifier_Training.ipynb @@ -317,9 +317,9 @@ "from azureml.core import Datastore, Dataset\n", "\n", "datastore_name = 'tfworld'\n", - "container_name = 'azureml-blobstore-7c6bdd88-21fa-453a-9c80-16998f02935f'\n", - "account_name = 'tfworld6818510241'\n", - "sas_token = '?sv=2019-02-02&ss=bfqt&srt=sco&sp=rl&se=2020-06-01T14:18:31Z&st=2019-11-05T07:18:31Z&spr=https&sig=Z4JmM0V%2FQzoFNlWS3a3vJxoGAx58iCz2HAWtmeLDbGE%3D'\n", + "container_name = 'azure-service-classifier'\n", + "account_name = 'johndatasets'\n", + "sas_token = '?sv=2019-02-02&ss=bfqt&srt=sco&sp=rl&se=2021-06-02T03:40:25Z&st=2020-03-09T19:40:25Z&spr=https&sig=bUwK7AJUj2c%2Fr90Qf8O1sojF0w6wRFgL2c9zMVCWNPA%3D'\n", "\n", "datastore = Datastore.register_azure_blob_container(workspace=workspace, \n", " datastore_name=datastore_name, \n", @@ -407,7 +407,7 @@ "\n", "In addition to UI we can register datasets using SDK. In this workshop we will register second type of Datasets using code - File Dataset. File Dataset allows specific folder in our datastore that contains our data files to be registered as a Dataset.\n", "\n", - "There is a folder within our datastore called **azure-service-data** that contains all our training and testing data. We will register this as a dataset." + "There is a folder within our datastore called **data** that contains all our training and testing data. We will register this as a dataset." ] }, { @@ -418,7 +418,7 @@ }, "outputs": [], "source": [ - "azure_dataset = Dataset.File.from_files(path=(datastore, 'azure-service-classifier/data'))\n", + "azure_dataset = Dataset.File.from_files(path=(datastore, 'data'))\n", "\n", "azure_dataset = azure_dataset.register(workspace=workspace,\n", " name='Azure Services Dataset',\n", @@ -613,7 +613,7 @@ " },\n", " framework_version='2.0',\n", " use_gpu=True,\n", - " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.1.29'])" + " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.3.0'])" ] }, { @@ -760,7 +760,7 @@ " },\n", " framework_version='2.0',\n", " use_gpu=True,\n", - " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.1.29'])\n", + " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.3.0'])\n", "\n", "run2 = experiment.submit(estimator2)" ] @@ -868,7 +868,7 @@ "run2.download_files(prefix='outputs/model')\n", "\n", "# If you haven't finished training the model then just download pre-made model from datastore\n", - "datastore.download('./',prefix=\"azure-service-classifier/model\")" + "datastore.download('./',prefix=\"model\")" ] }, { @@ -909,7 +909,7 @@ " \n", "labels = ['azure-web-app-service', 'azure-storage', 'azure-devops', 'azure-virtual-machine', 'azure-functions']\n", "# Load model and tokenizer\n", - "loaded_model = TFBertForMultiClassification.from_pretrained('azure-service-classifier/model', num_labels=len(labels))\n", + "loaded_model = TFBertForMultiClassification.from_pretrained('model', num_labels=len(labels))\n", "tokenizer = BertTokenizer.from_pretrained('bert-base-cased')\n", "print(\"Model loaded from disk.\")" ] @@ -1026,7 +1026,7 @@ " node_count=1,\n", " distributed_training=Mpi(process_count_per_node=2),\n", " use_gpu=True,\n", - " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.1.29'])\n", + " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.3.0'])\n", "\n", "run3 = experiment.submit(estimator3)" ] @@ -1147,7 +1147,7 @@ " },\n", " framework_version='2.0',\n", " use_gpu=True,\n", - " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.1.29'])" + " pip_packages=['transformers==2.0.0', 'azureml-dataprep[fuse,pandas]==1.3.0'])" ] }, { diff --git a/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb b/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb index dcb7ea0..56d6ca5 100644 --- a/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb +++ b/2-Inferencing/AzureServiceClassifier_Inferencing.ipynb @@ -103,17 +103,9 @@ }, { "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\r\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "!docker ps" ] @@ -152,17 +144,9 @@ }, { "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "SDK version: 1.0.69\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "# Check core SDK version number\n", "import azureml.core\n", @@ -181,20 +165,9 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Workspace name: south-central\n", - "Azure region: southcentralus\n", - "Subscription id: 3210cb2e-d3ad-41cf-a6f1-c5a9c3dc522f\n", - "Resource group: aml-rg-107124\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "from azureml.core import Workspace\n", "\n", @@ -227,16 +200,16 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from azureml.core.datastore import Datastore\n", "\n", "datastore_name = 'tfworld'\n", - "container_name = 'azureml-blobstore-7c6bdd88-21fa-453a-9c80-16998f02935f'\n", - "account_name = 'tfworld6818510241'\n", - "sas_token = '?sv=2019-02-02&ss=bfqt&srt=sco&sp=rl&se=2020-11-02T06:01:06Z&st=2019-11-08T22:01:06Z&spr=https&sig=9XcJPwqp4c2cSgsGL1X7cXKO46bzhHCaX75N3gc98GU%3D'\n", + "container_name = 'azure-service-classifier'\n", + "account_name = 'johndatasets'\n", + "sas_token = '?sv=2019-02-02&ss=bfqt&srt=sco&sp=rl&se=2021-06-02T03:40:25Z&st=2020-03-09T19:40:25Z&spr=https&sig=bUwK7AJUj2c%2Fr90Qf8O1sojF0w6wRFgL2c9zMVCWNPA%3D'\n", "\n", "datastore = Datastore.register_azure_blob_container(workspace=ws, \n", " datastore_name=datastore_name, \n", @@ -254,7 +227,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -271,36 +244,13 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Downloading azure-service-classifier/model/bert_tf2.onnx\n", - "Downloading azure-service-classifier/model/config.json\n", - "Downloading azure-service-classifier/model/tf_model.h5\n", - "Downloaded azure-service-classifier/model/config.json, 1 files out of an estimated total of 3\n", - "Downloaded azure-service-classifier/model/bert_tf2.onnx, 2 files out of an estimated total of 3\n", - "Downloaded azure-service-classifier/model/tf_model.h5, 3 files out of an estimated total of 3\n" - ] - }, - { - "data": { - "text/plain": [ - "3" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "from azureml.core.model import Model\n", "\n", - "datastore.download('./',prefix=\"azure-service-classifier/model\")" + "datastore.download('./',prefix=\"model\")" ] }, { @@ -313,23 +263,15 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Registering model azure-service-classifier\n" - ] - } - ], - "source": [ - "model = Model.register(model_path = \"./azure-service-classifier/model\",\n", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "model = Model.register(model_path = \"./model\",\n", " model_name = \"azure-service-classifier\", # this is the name the model is registered as\n", " tags = {'pretrained': \"BERT\"},\n", " workspace = ws)\n", - "model_dir = './azure-service-classifier/model'" + "model_dir = './model'" ] }, { @@ -360,25 +302,9 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Using TensorFlow backend.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Keras version: 2.3.1\n", - "Tensorflow version: 2.0.0\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "import keras\n", "import tensorflow as tf\n", @@ -397,37 +323,9 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: transformers in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (2.0.0)\n", - "Requirement already satisfied: sacremoses in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from transformers) (0.0.35)\n", - "Requirement already satisfied: sentencepiece in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from transformers) (0.1.83)\n", - "Requirement already satisfied: requests in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from transformers) (2.22.0)\n", - "Requirement already satisfied: boto3 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from transformers) (1.9.250)\n", - "Requirement already satisfied: numpy in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from transformers) (1.16.2)\n", - "Requirement already satisfied: tqdm in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from transformers) (4.36.1)\n", - "Requirement already satisfied: regex in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from transformers) (2019.8.19)\n", - "Requirement already satisfied: click in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from sacremoses->transformers) (7.0)\n", - "Requirement already satisfied: six in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from sacremoses->transformers) (1.12.0)\n", - "Requirement already satisfied: joblib in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from sacremoses->transformers) (0.13.2)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from requests->transformers) (2019.9.11)\n", - "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from requests->transformers) (1.24.2)\n", - "Requirement already satisfied: idna<2.9,>=2.5 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from requests->transformers) (2.8)\n", - "Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from requests->transformers) (3.0.4)\n", - "Requirement already satisfied: botocore<1.13.0,>=1.12.250 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from boto3->transformers) (1.12.250)\n", - "Requirement already satisfied: s3transfer<0.3.0,>=0.2.0 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from boto3->transformers) (0.2.1)\n", - "Requirement already satisfied: jmespath<1.0.0,>=0.7.1 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from boto3->transformers) (0.9.4)\n", - "Requirement already satisfied: python-dateutil<3.0.0,>=2.1; python_version >= \"2.7\" in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from botocore<1.13.0,>=1.12.250->boto3->transformers) (2.8.0)\n", - "Requirement already satisfied: docutils<0.16,>=0.10 in /anaconda/envs/azureml_py36/lib/python3.6/site-packages (from botocore<1.13.0,>=1.12.250->boto3->transformers) (0.15.2)\n", - "Note: you may need to restart the kernel to use updated packages.\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "%pip install transformers" ] @@ -442,17 +340,9 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Model loaded from disk.\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "from transformers import BertTokenizer, TFBertPreTrainedModel, TFBertMainLayer\n", "from transformers.modeling_tf_utils import get_initializer\n", @@ -490,19 +380,9 @@ }, { "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'prediction': 'azure-virtual-machine', 'probability': '0.98652285'}\n", - "CPU times: user 866 ms, sys: 25.2 ms, total: 891 ms\n", - "Wall time: 277 ms\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "%%time\n", "import json \n", @@ -578,29 +458,11 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "WARNING - Path already exists. Skipping download for ./azure-service-classifier/model/bert_tf2.onnx\n" - ] - }, - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "datastore.download('.',prefix=\"azure-service-classifier/model/bert_tf2.onnx\")" + "datastore.download('.',prefix=\"model/bert_tf2.onnx\")" ] }, { @@ -612,22 +474,9 @@ }, { "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Collecting onnxruntime\n", - "\u001b[?25l Downloading https://files.pythonhosted.org/packages/a1/a3/7d71f481f3632320210676c19c9eb3ac565cf0e98a299883e0cb9324b3d7/onnxruntime-0.5.0-cp36-cp36m-manylinux2010_x86_64.whl (3.2MB)\n", - "\u001b[K |████████████████████████████████| 3.2MB 3.5MB/s eta 0:00:01\n", - "\u001b[?25hInstalling collected packages: onnxruntime\n", - "Successfully installed onnxruntime-0.5.0\n", - "Note: you may need to restart the kernel to use updated packages.\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "%pip install onnxruntime" ] @@ -642,17 +491,9 @@ }, { "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ONNX Model loaded from disk.\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "import numpy as np\n", "import onnxruntime as rt\n", @@ -661,7 +502,7 @@ "labels = ['azure-web-app-service', 'azure-storage', 'azure-devops', 'azure-virtual-machine', 'azure-functions']\n", "tokenizer = BertTokenizer.from_pretrained('bert-base-cased')\n", "\n", - "sess = rt.InferenceSession(\"./azure-service-classifier/model/bert_tf2.onnx\")\n", + "sess = rt.InferenceSession(\"./model/bert_tf2.onnx\")\n", "print(\"ONNX Model loaded from disk.\")" ] }, @@ -674,25 +515,9 @@ }, { "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Input name : token_type_ids:0\n", - "Input shape : ['unk__847', 128]\n", - "Input type : tensor(int32)\n", - "Input name : input_ids:0\n", - "Input shape : ['unk__848', 128]\n", - "Input type : tensor(int32)\n", - "Input name : attention_mask:0\n", - "Input shape : ['unk__849', 128]\n", - "Input type : tensor(int32)\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "for i in range(len(sess.get_inputs())):\n", " input_name = sess.get_inputs()[i].name\n", @@ -705,19 +530,9 @@ }, { "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Output name : tf_bert_for_multi_classification/Identity:0\n", - "Output shape : ['unk__850', 5]\n", - "Output type : tensor(float)\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "for i in range(len(sess.get_outputs())):\n", " output_name = sess.get_outputs()[i].name\n", @@ -737,19 +552,9 @@ }, { "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'prediction': 'azure-virtual-machine', 'probability': '0.98652273'}\n", - "CPU times: user 757 ms, sys: 0 ns, total: 757 ms\n", - "Wall time: 195 ms\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "%%time\n", "import json \n", @@ -839,7 +644,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -862,7 +667,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -885,7 +690,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -921,7 +726,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -970,505 +775,9 @@ }, { "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Downloading model azure-service-classifier:4 to /tmp/azureml_e9kvls38/azure-service-classifier/4\n", - "Generating Docker build context.\n", - "2019/10/25 21:14:01 Downloading source code...\n", - "2019/10/25 21:14:02 Finished downloading source code\n", - "2019/10/25 21:14:03 Creating Docker network: acb_default_network, driver: 'bridge'\n", - "2019/10/25 21:14:03 Successfully set up Docker network: acb_default_network\n", - "2019/10/25 21:14:03 Setting up Docker configuration...\n", - "2019/10/25 21:14:05 Successfully set up Docker configuration\n", - "2019/10/25 21:14:05 Logging in to registry: southcentral6a2da4dd.azurecr.io\n", - "2019/10/25 21:14:06 Successfully logged into southcentral6a2da4dd.azurecr.io\n", - "2019/10/25 21:14:06 Executing step ID: acb_step_0. Timeout(sec): 5400, Working directory: '', Network: 'acb_default_network'\n", - "2019/10/25 21:14:06 Scanning for dependencies...\n", - "2019/10/25 21:14:07 Successfully scanned dependencies\n", - "2019/10/25 21:14:07 Launching container with name: acb_step_0\n", - "Sending build context to Docker daemon 59.39kB\n", - "Step 1/15 : FROM mcr.microsoft.com/azureml/base:intelmpi2018.3-ubuntu16.04@sha256:a1b514f3ba884b9a7695cbba5638933ddaf222e8ce3e8c81e8cdf861679abb05\n", - "sha256:a1b514f3ba884b9a7695cbba5638933ddaf222e8ce3e8c81e8cdf861679abb05: Pulling from azureml/base\n", - "a1298f4ce990: Pulling fs layer\n", - "04a3282d9c4b: Pulling fs layer\n", - "9b0d3db6dc03: Pulling fs layer\n", - "8269c605f3f1: Pulling fs layer\n", - "6504d449e70c: Pulling fs layer\n", - "4e38f320d0d4: Pulling fs layer\n", - "b0a763e8ee03: Pulling fs layer\n", - "11917a028ca4: Pulling fs layer\n", - "a6c378d11cbf: Pulling fs layer\n", - "6cc007ad9140: Pulling fs layer\n", - "6c1698a608f3: Pulling fs layer\n", - "8269c605f3f1: Waiting\n", - "6504d449e70c: Waiting\n", - "4e38f320d0d4: Waiting\n", - "b0a763e8ee03: Waiting\n", - "a6c378d11cbf: Waiting\n", - "6cc007ad9140: Waiting\n", - "6c1698a608f3: Waiting\n", - "11917a028ca4: Waiting\n", - "9b0d3db6dc03: Download complete\n", - "04a3282d9c4b: Verifying Checksum\n", - "04a3282d9c4b: Download complete\n", - "8269c605f3f1: Download complete\n", - "a1298f4ce990: Verifying Checksum\n", - "a1298f4ce990: Download complete\n", - "4e38f320d0d4: Verifying Checksum\n", - "4e38f320d0d4: Download complete\n", - "6504d449e70c: Verifying Checksum\n", - "6504d449e70c: Download complete\n", - "b0a763e8ee03: Verifying Checksum\n", - "b0a763e8ee03: Download complete\n", - "11917a028ca4: Verifying Checksum\n", - "11917a028ca4: Download complete\n", - "6cc007ad9140: Verifying Checksum\n", - "6cc007ad9140: Download complete\n", - "6c1698a608f3: Verifying Checksum\n", - "6c1698a608f3: Download complete\n", - "a6c378d11cbf: Verifying Checksum\n", - "a6c378d11cbf: Download complete\n", - "a1298f4ce990: Pull complete\n", - "04a3282d9c4b: Pull complete\n", - "9b0d3db6dc03: Pull complete\n", - "8269c605f3f1: Pull complete\n", - "6504d449e70c: Pull complete\n", - "4e38f320d0d4: Pull complete\n", - "b0a763e8ee03: Pull complete\n", - "11917a028ca4: Pull complete\n", - "a6c378d11cbf: Pull complete\n", - "6cc007ad9140: Pull complete\n", - "6c1698a608f3: Pull complete\n", - "Digest: sha256:a1b514f3ba884b9a7695cbba5638933ddaf222e8ce3e8c81e8cdf861679abb05\n", - "Status: Downloaded newer image for mcr.microsoft.com/azureml/base:intelmpi2018.3-ubuntu16.04@sha256:a1b514f3ba884b9a7695cbba5638933ddaf222e8ce3e8c81e8cdf861679abb05\n", - " ---> 93a72e6bd1ce\n", - "Step 2/15 : USER root\n", - " ---> Running in a62950b011f1\n", - "Removing intermediate container a62950b011f1\n", - " ---> 10b3080924af\n", - "Step 3/15 : RUN mkdir -p $HOME/.cache\n", - " ---> Running in b6796d07d9ec\n", - "Removing intermediate container b6796d07d9ec\n", - " ---> 6e6249a04400\n", - "Step 4/15 : WORKDIR /\n", - " ---> Running in f2ed61f54d49\n", - "Removing intermediate container f2ed61f54d49\n", - " ---> f46021a40f54\n", - "Step 5/15 : COPY azureml-environment-setup/99brokenproxy /etc/apt/apt.conf.d/\n", - " ---> a4f03a32a89a\n", - "Step 6/15 : RUN if dpkg --compare-versions `conda --version | grep -oE '[^ ]+$'` lt 4.4.11; then conda install conda==4.4.11; fi\n", - " ---> Running in 110778210a6c\n", - "Removing intermediate container 110778210a6c\n", - " ---> 12c2eda1897d\n", - "Step 7/15 : COPY azureml-environment-setup/mutated_conda_dependencies.yml azureml-environment-setup/mutated_conda_dependencies.yml\n", - " ---> 54f8ba0a40d5\n", - "Step 8/15 : RUN ldconfig /usr/local/cuda/lib64/stubs && conda env create -p /azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe -f azureml-environment-setup/mutated_conda_dependencies.yml && rm -rf \"$HOME/.cache/pip\" && conda clean -aqy && CONDA_ROOT_DIR=$(conda info --root) && rm -rf \"$CONDA_ROOT_DIR/pkgs\" && find \"$CONDA_ROOT_DIR\" -type d -name __pycache__ -exec rm -rf {} + && ldconfig\n", - " ---> Running in 8dd00c605ada\n", - "Solving environment: ...working... done\n", - "\u001b[91m\n", - "\n", - "==> WARNING: A newer version of conda exists. <==\n", - " current version: 4.5.11\n", - " latest version: 4.7.12\n", - "\n", - "Please update conda by running\n", - "\n", - " $ conda update -n base -c defaults conda\n", - "\n", - "\n", - "python-dateutil-2.8. | 219 KB | ########## | 100% \u001b[0m\u001b[91m\n", - "openssl-1.0.2r | 3.1 MB | ########## | 100% \u001b[0m\u001b[91m\n", - "tk-8.5.19 | 1.9 MB | ########## | 100% \u001b[0m\u001b[91m\n", - "pip-19.3.1 | 1.9 MB | ########## | 100% \u001b[0m\u001b[91m\n", - "libgcc-ng-9.1.0 | 8.1 MB | ########## | 100% \u001b[0m\u001b[91m\n", - "numpy-1.17.3 | 5.2 MB | ########## | 100% \u001b[0m\u001b[91m\n", - "wheel-0.33.6 | 35 KB | ########## | 100% \u001b[0m\u001b[91m\n", - "pandas-0.25.2 | 11.4 MB | ########## | 100% \u001b[0m\u001b[91m\n", - "sqlite-3.13.0 | 4.9 MB | ########## | 100% \u001b[0m\u001b[91m\n", - "libcblas-3.8.0 | 10 KB | ########## | 100% \u001b[0m\u001b[91m\n", - "six-1.12.0 | 22 KB | ########## | 100% \u001b[0m\u001b[91m\n", - "libstdcxx-ng-9.1.0 | 4.0 MB | ########## | 100% \u001b[0m\u001b[91m\n", - "setuptools-41.4.0 | 624 KB | ########## | 100% \u001b[0m\u001b[91m\n", - "libopenblas-0.3.7 | 7.6 MB | ########## | 100% \u001b[0m\u001b[91m\n", - "libgfortran-ng-7.3.0 | 1.7 MB | ########## | 100% \u001b[0m\u001b[91m\n", - "readline-6.2 | 713 KB | ########## | 100% \u001b[0m\u001b[91m\n", - "python-3.6.2 | 19.0 MB | ########## | 100% \u001b[0m\u001b[91m\n", - "xz-5.2.4 | 366 KB | ########## | 100% \u001b[0m\u001b[91m\n", - "certifi-2019.9.11 | 147 KB | ########## | 100% \u001b[0m\u001b[91m\n", - "zlib-1.2.11 | 105 KB | ########## | 100% \u001b[0m\u001b[91m\n", - "liblapack-3.8.0 | 10 KB | ########## | 100% \u001b[0m\u001b[91m\n", - "libblas-3.8.0 | 10 KB | ########## | 100% \u001b[0m\u001b[91m\n", - "_libgcc_mutex-0.1 | 3 KB | ########## | 100% \u001b[0m\u001b[91m\n", - "ncurses-5.9 | 1.1 MB | ########## | 100% \u001b[0m\u001b[91m\n", - "pytz-2019.3 | 237 KB | ########## | 100% \u001b[0m\u001b[91m\n", - "ca-certificates-2019 | 144 KB | ########## | 100% \u001b[0m\u001b[91m\n", - "Downloading and Extracting Packages\n", - "Preparing transaction: ...working... done\n", - "Verifying transaction: ...working... done\n", - "Executing transaction: ...working... done\n", - "Requirement already satisfied: numpy in /azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/python3.6/site-packages (from -r /azureml-environment-setup/condaenv._j7n_dvr.requirements.txt (line 1)) (1.17.3)\n", - "Requirement already satisfied: pandas in /azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/python3.6/site-packages (from -r /azureml-environment-setup/condaenv._j7n_dvr.requirements.txt (line 2)) (0.25.2)\n", - "Collecting inference-schema[numpy-support]\n", - " Downloading https://files.pythonhosted.org/packages/e5/db/54cc017c207e36555db23ac7944e703e8c7c05d6b2e0503041d503af766d/inference_schema-1.0.0-py3-none-any.whl\n", - "Collecting azureml-defaults==1.0.69.*\n", - " Downloading https://files.pythonhosted.org/packages/1c/cb/5b70897d8c98daebcbba9df6a5fd4a5cf80ef52d97fa7ba7c6be5e6a2d69/azureml_defaults-1.0.69-py2.py3-none-any.whl\n", - "Collecting tensorflow==2.0.0\n", - " Downloading https://files.pythonhosted.org/packages/46/0f/7bd55361168bb32796b360ad15a25de6966c9c1beb58a8e30c01c8279862/tensorflow-2.0.0-cp36-cp36m-manylinux2010_x86_64.whl (86.3MB)\n", - "Collecting transformers==2.0.0\n", - " Downloading https://files.pythonhosted.org/packages/66/99/ca0e4c35ccde7d290de3c9c236d5629d1879b04927e5ace9bd6d9183e236/transformers-2.0.0-py3-none-any.whl (290kB)\n", - "Requirement already satisfied: python-dateutil>=2.6.1 in /azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/python3.6/site-packages (from pandas->-r /azureml-environment-setup/condaenv._j7n_dvr.requirements.txt (line 2)) (2.8.0)\n", - "Requirement already satisfied: pytz>=2017.2 in /azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/python3.6/site-packages (from pandas->-r /azureml-environment-setup/condaenv._j7n_dvr.requirements.txt (line 2)) (2019.3)\n", - "Collecting wrapt==1.11.1\n", - " Downloading https://files.pythonhosted.org/packages/67/b2/0f71ca90b0ade7fad27e3d20327c996c6252a2ffe88f50a95bba7434eda9/wrapt-1.11.1.tar.gz\n", - "Collecting configparser==3.7.4\n", - " Downloading https://files.pythonhosted.org/packages/ba/05/6c96328e92e625fc31445d24d75a2c92ef9ba34fc5b037fe69693c362a0d/configparser-3.7.4-py2.py3-none-any.whl\n", - "Collecting applicationinsights>=0.11.7\n", - " Downloading https://files.pythonhosted.org/packages/a1/53/234c53004f71f0717d8acd37876e0b65c121181167057b9ce1b1795f96a0/applicationinsights-0.11.9-py2.py3-none-any.whl (58kB)\n", - "Collecting azureml-model-management-sdk==1.0.1b6.post1\n", - " Downloading https://files.pythonhosted.org/packages/4e/53/9004a1e7d6d4e796abc4bcc8286bfc2a32739c5fbac3859ca7429a228897/azureml_model_management_sdk-1.0.1b6.post1-py2.py3-none-any.whl (130kB)\n", - "Collecting flask==1.0.3\n", - " Downloading https://files.pythonhosted.org/packages/9a/74/670ae9737d14114753b8c8fdf2e8bd212a05d3b361ab15b44937dfd40985/Flask-1.0.3-py2.py3-none-any.whl (92kB)\n", - "Collecting gunicorn==19.9.0\n", - " Downloading https://files.pythonhosted.org/packages/8c/da/b8dd8deb741bff556db53902d4706774c8e1e67265f69528c14c003644e6/gunicorn-19.9.0-py2.py3-none-any.whl (112kB)\n", - "Collecting azureml-core==1.0.69.*\n", - " Downloading https://files.pythonhosted.org/packages/9a/4f/b5c71c45f9aa82aa2636dd5ec7e19c6c11138c8ef127faa5cbbbc1efa0b7/azureml_core-1.0.69-py2.py3-none-any.whl (1.1MB)\n", - "Collecting json-logging-py==0.2\n", - " Downloading https://files.pythonhosted.org/packages/e9/e1/46c70eebf216b830867c4896ee678cb7f1b28bb68a2810c7e9a811cecfbc/json-logging-py-0.2.tar.gz\n", - "Collecting gast==0.2.2\n", - " Downloading https://files.pythonhosted.org/packages/4e/35/11749bf99b2d4e3cceb4d55ca22590b0d7c2c62b9de38ac4a4a7f4687421/gast-0.2.2.tar.gz\n", - "Collecting termcolor>=1.1.0\n", - " Downloading https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz\n", - "Collecting keras-applications>=1.0.8\n", - " Downloading https://files.pythonhosted.org/packages/71/e3/19762fdfc62877ae9102edf6342d71b28fbfd9dea3d2f96a882ce099b03f/Keras_Applications-1.0.8-py3-none-any.whl (50kB)\n", - "Collecting astor>=0.6.0\n", - " Downloading https://files.pythonhosted.org/packages/d1/4f/950dfae467b384fc96bc6469de25d832534f6b4441033c39f914efd13418/astor-0.8.0-py2.py3-none-any.whl\n", - "Collecting tensorflow-estimator<2.1.0,>=2.0.0\n", - " Downloading https://files.pythonhosted.org/packages/fc/08/8b927337b7019c374719145d1dceba21a8bb909b93b1ad6f8fb7d22c1ca1/tensorflow_estimator-2.0.1-py2.py3-none-any.whl (449kB)\n", - "Collecting opt-einsum>=2.3.2\n", - " Downloading https://files.pythonhosted.org/packages/b8/83/755bd5324777875e9dff19c2e59daec837d0378c09196634524a3d7269ac/opt_einsum-3.1.0.tar.gz (69kB)\n", - "Requirement already satisfied: wheel>=0.26 in /azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/python3.6/site-packages (from tensorflow==2.0.0->-r /azureml-environment-setup/condaenv._j7n_dvr.requirements.txt (line 5)) (0.33.6)\n", - "Collecting keras-preprocessing>=1.0.5\n", - " Downloading https://files.pythonhosted.org/packages/28/6a/8c1f62c37212d9fc441a7e26736df51ce6f0e38455816445471f10da4f0a/Keras_Preprocessing-1.1.0-py2.py3-none-any.whl (41kB)\n", - "Collecting protobuf>=3.6.1\n", - " Downloading https://files.pythonhosted.org/packages/a8/52/d8d2dbff74b8bf517c42db8d44c3f9ef6555e6f5d6caddfa3f207b9143df/protobuf-3.10.0-cp36-cp36m-manylinux1_x86_64.whl (1.3MB)\n", - "Collecting absl-py>=0.7.0\n", - " Downloading https://files.pythonhosted.org/packages/3b/72/e6e483e2db953c11efa44ee21c5fdb6505c4dffa447b4263ca8af6676b62/absl-py-0.8.1.tar.gz (103kB)\n", - "Collecting grpcio>=1.8.6\n", - " Downloading https://files.pythonhosted.org/packages/30/54/c9810421e41ec0bca2228c6f06b1b1189b196b69533cbcac9f71b44727f8/grpcio-1.24.3-cp36-cp36m-manylinux2010_x86_64.whl (2.2MB)\n", - "Collecting tensorboard<2.1.0,>=2.0.0\n", - " Downloading https://files.pythonhosted.org/packages/9b/a6/e8ffa4e2ddb216449d34cfcb825ebb38206bee5c4553d69e7bc8bc2c5d64/tensorboard-2.0.0-py3-none-any.whl (3.8MB)\n", - "Collecting google-pasta>=0.1.6\n", - " Downloading https://files.pythonhosted.org/packages/d0/33/376510eb8d6246f3c30545f416b2263eee461e40940c2a4413c711bdf62d/google_pasta-0.1.7-py3-none-any.whl (52kB)\n", - "Requirement already satisfied: six>=1.10.0 in /azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/python3.6/site-packages (from tensorflow==2.0.0->-r /azureml-environment-setup/condaenv._j7n_dvr.requirements.txt (line 5)) (1.12.0)\n", - "Collecting sentencepiece\n", - " Downloading https://files.pythonhosted.org/packages/14/3d/efb655a670b98f62ec32d66954e1109f403db4d937c50d779a75b9763a29/sentencepiece-0.1.83-cp36-cp36m-manylinux1_x86_64.whl (1.0MB)\n", - "Collecting sacremoses\n", - " Downloading https://files.pythonhosted.org/packages/1f/8e/ed5364a06a9ba720fddd9820155cc57300d28f5f43a6fd7b7e817177e642/sacremoses-0.0.35.tar.gz (859kB)\n", - "Collecting regex\n", - " Downloading https://files.pythonhosted.org/packages/ff/60/d9782c56ceefa76033a00e1f84cd8c586c75e6e7fea2cd45ee8b46a386c5/regex-2019.08.19-cp36-cp36m-manylinux1_x86_64.whl (643kB)\n", - "Collecting boto3\n", - " Downloading https://files.pythonhosted.org/packages/0e/41/27fb3969a76240d4c42a8f64b9d5ae78c676bab38e980e03b1bbaef279bd/boto3-1.10.2-py2.py3-none-any.whl (128kB)\n", - "Collecting requests\n", - " Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB)\n", - "Collecting tqdm\n", - " Downloading https://files.pythonhosted.org/packages/e1/c1/bc1dba38b48f4ae3c4428aea669c5e27bd5a7642a74c8348451e0bd8ff86/tqdm-4.36.1-py2.py3-none-any.whl (52kB)\n", - "Collecting adal>=0.4.5\n", - " Downloading https://files.pythonhosted.org/packages/4f/b5/3ea9ae3d1096b9ff31e8f1846c47d49f3129a12464ac0a73b602de458298/adal-1.2.2-py2.py3-none-any.whl (53kB)\n", - "Collecting liac-arff>=2.1.1\n", - " Downloading https://files.pythonhosted.org/packages/e9/35/fbc9217cfa91d98888b43e1a19c03a50d716108c58494c558c65e308f372/liac-arff-2.4.0.tar.gz\n", - "Collecting dill>=0.2.7.1\n", - " Downloading https://files.pythonhosted.org/packages/c7/11/345f3173809cea7f1a193bfbf02403fff250a3360e0e118a1630985e547d/dill-0.3.1.1.tar.gz (151kB)\n", - "Collecting click>=5.1\n", - " Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)\n", - "Collecting itsdangerous>=0.24\n", - " Downloading https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl\n", - "Collecting Jinja2>=2.10\n", - " Downloading https://files.pythonhosted.org/packages/65/e0/eb35e762802015cab1ccee04e8a277b03f1d8e53da3ec3106882ec42558b/Jinja2-2.10.3-py2.py3-none-any.whl (125kB)\n", - "Collecting Werkzeug>=0.14\n", - " Downloading https://files.pythonhosted.org/packages/ce/42/3aeda98f96e85fd26180534d36570e4d18108d62ae36f87694b476b83d6f/Werkzeug-0.16.0-py2.py3-none-any.whl (327kB)\n", - "Collecting docker\n", - " Downloading https://files.pythonhosted.org/packages/cc/ca/699d4754a932787ef353a157ada74efd1ceb6d1fc0bfb7989ae1e7b33111/docker-4.1.0-py2.py3-none-any.whl (139kB)\n", - "Collecting pathspec\n", - " Downloading https://files.pythonhosted.org/packages/7a/68/5902e8cd7f7b17c5879982a3a3ee2ad0c3b92b80c79989a2d3e1ca8d29e1/pathspec-0.6.0.tar.gz\n", - "Collecting cryptography!=1.9,!=2.0.*,!=2.1.*,!=2.2.*\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Downloading https://files.pythonhosted.org/packages/ca/9a/7cece52c46546e214e10811b36b2da52ce1ea7fa203203a629b8dfadad53/cryptography-2.8-cp34-abi3-manylinux2010_x86_64.whl (2.3MB)\n", - "Collecting contextlib2\n", - " Downloading https://files.pythonhosted.org/packages/85/60/370352f7ef6aa96c52fb001831622f50f923c1d575427d021b8ab3311236/contextlib2-0.6.0.post1-py2.py3-none-any.whl\n", - "Collecting msrest>=0.5.1\n", - " Downloading https://files.pythonhosted.org/packages/27/b0/c34b3ea9b2ed74b800520fbefb312cdb7f05c20b8bd42e5e7662a5614f98/msrest-0.6.10-py2.py3-none-any.whl (82kB)\n", - "Collecting PyJWT\n", - " Downloading https://files.pythonhosted.org/packages/87/8b/6a9f14b5f781697e51259d81657e6048fd31a113229cf346880bb7545565/PyJWT-1.7.1-py2.py3-none-any.whl\n", - "Collecting SecretStorage\n", - " Downloading https://files.pythonhosted.org/packages/82/59/cb226752e20d83598d7fdcabd7819570b0329a61db07cfbdd21b2ef546e3/SecretStorage-3.1.1-py3-none-any.whl\n", - "Collecting azure-mgmt-keyvault>=0.40.0\n", - " Downloading https://files.pythonhosted.org/packages/b3/d1/9fed0a3a3b43d0b1ad59599b5c836ccc4cf117e26458075385bafe79575b/azure_mgmt_keyvault-2.0.0-py2.py3-none-any.whl (80kB)\n", - "Collecting urllib3>=1.23\n", - " Downloading https://files.pythonhosted.org/packages/e0/da/55f51ea951e1b7c63a579c09dd7db825bb730ec1fe9c0180fc77bfb31448/urllib3-1.25.6-py2.py3-none-any.whl (125kB)\n", - "Collecting azure-mgmt-authorization>=0.40.0\n", - " Downloading https://files.pythonhosted.org/packages/5e/17/4724694ddb3311955ddc367eddcd0928f8ee2c7b12d5a6f0b12bca0b03db/azure_mgmt_authorization-0.60.0-py2.py3-none-any.whl (82kB)\n", - "Collecting jmespath\n", - " Downloading https://files.pythonhosted.org/packages/83/94/7179c3832a6d45b266ddb2aac329e101367fbdb11f425f13771d27f225bb/jmespath-0.9.4-py2.py3-none-any.whl\n", - "Collecting azure-common>=1.1.12\n", - " Downloading https://files.pythonhosted.org/packages/00/55/a703923c12cd3172d5c007beda0c1a34342a17a6a72779f8a7c269af0cd6/azure_common-1.1.23-py2.py3-none-any.whl\n", - "Collecting backports.tempfile\n", - " Downloading https://files.pythonhosted.org/packages/b4/5c/077f910632476281428fe254807952eb47ca78e720d059a46178c541e669/backports.tempfile-1.0-py2.py3-none-any.whl\n", - "Collecting jsonpickle\n", - " Downloading https://files.pythonhosted.org/packages/07/07/c157520a3ebd166c8c24c6ae0ecae7c3968eb4653ff0e5af369bb82f004d/jsonpickle-1.2-py2.py3-none-any.whl\n", - "Collecting pyopenssl\n", - " Downloading https://files.pythonhosted.org/packages/01/c8/ceb170d81bd3941cbeb9940fc6cc2ef2ca4288d0ca8929ea4db5905d904d/pyOpenSSL-19.0.0-py2.py3-none-any.whl (53kB)\n", - "Collecting azure-mgmt-resource>=1.2.1\n", - " Downloading https://files.pythonhosted.org/packages/7c/0d/80815326fa04f2a73ea94b0f57c29669c89df5aa5f5e285952f6445a91c4/azure_mgmt_resource-5.1.0-py2.py3-none-any.whl (681kB)\n", - "Collecting msrestazure>=0.4.33\n", - " Downloading https://files.pythonhosted.org/packages/68/75/5cb56ca8cbc6c5fe476e4878c73f57a331edcf55e5d3fcb4a7377d7d659d/msrestazure-0.6.2-py2.py3-none-any.whl (40kB)\n", - "Collecting azure-mgmt-containerregistry>=2.0.0\n", - " Downloading https://files.pythonhosted.org/packages/97/70/8c2d0509db466678eba16fa2b0a539499f3b351b1f2993126ad843d5be13/azure_mgmt_containerregistry-2.8.0-py2.py3-none-any.whl (718kB)\n", - "Collecting ndg-httpsclient\n", - " Downloading https://files.pythonhosted.org/packages/fb/67/c2f508c00ed2a6911541494504b7cac16fe0b0473912568df65fd1801132/ndg_httpsclient-0.5.1-py3-none-any.whl\n", - "Collecting ruamel.yaml<=0.15.89,>=0.15.35\r\n", - " Downloading https://files.pythonhosted.org/packages/36/e1/cc2fa400fa5ffde3efa834ceb15c464075586de05ca3c553753dcd6f1d3b/ruamel.yaml-0.15.89-cp36-cp36m-manylinux1_x86_64.whl (651kB)\n", - "Collecting azure-graphrbac>=0.40.0\n", - " Downloading https://files.pythonhosted.org/packages/3e/93/02056aca45162f9fc275d1eaad12a2a07ef92375afb48eabddc4134b8315/azure_graphrbac-0.61.1-py2.py3-none-any.whl (141kB)\n", - "Collecting azure-mgmt-storage>=1.5.0\n", - " Downloading https://files.pythonhosted.org/packages/8a/d9/117216e5f671f6c3238c50cba583924252c5ee08091a7d10fa1d3113faa3/azure_mgmt_storage-6.0.0-py2.py3-none-any.whl (514kB)\n", - "Collecting h5py\n", - " Downloading https://files.pythonhosted.org/packages/60/06/cafdd44889200e5438b897388f3075b52a8ef01f28a17366d91de0fa2d05/h5py-2.10.0-cp36-cp36m-manylinux1_x86_64.whl (2.9MB)\n", - "Requirement already satisfied: setuptools in /azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/python3.6/site-packages (from protobuf>=3.6.1->tensorflow==2.0.0->-r /azureml-environment-setup/condaenv._j7n_dvr.requirements.txt (line 5)) (41.4.0)\n", - "Collecting markdown>=2.6.8\n", - " Downloading https://files.pythonhosted.org/packages/c0/4e/fd492e91abdc2d2fcb70ef453064d980688762079397f779758e055f6575/Markdown-3.1.1-py2.py3-none-any.whl (87kB)\n", - "Collecting joblib\n", - " Downloading https://files.pythonhosted.org/packages/8f/42/155696f85f344c066e17af287359c9786b436b1bf86029bb3411283274f3/joblib-0.14.0-py2.py3-none-any.whl (294kB)\n", - "Collecting botocore<1.14.0,>=1.13.2\n", - " Downloading https://files.pythonhosted.org/packages/33/57/6cd269b6c243f5409fd60b480bf7b9c98a10fa9bb083af223189d7617db5/botocore-1.13.2-py2.py3-none-any.whl (5.3MB)\n", - "Collecting s3transfer<0.3.0,>=0.2.0\r\n", - " Downloading https://files.pythonhosted.org/packages/16/8a/1fc3dba0c4923c2a76e1ff0d52b305c44606da63f718d14d3231e21c51b0/s3transfer-0.2.1-py2.py3-none-any.whl (70kB)\n", - "Collecting chardet<3.1.0,>=3.0.2\n", - " Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/python3.6/site-packages (from requests->transformers==2.0.0->-r /azureml-environment-setup/condaenv._j7n_dvr.requirements.txt (line 6)) (2019.9.11)\n", - "Collecting idna<2.9,>=2.5\n", - " Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB)\n", - "Collecting MarkupSafe>=0.23\n", - " Downloading https://files.pythonhosted.org/packages/b2/5f/23e0023be6bb885d00ffbefad2942bc51a620328ee910f64abe5a8d18dd1/MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl\n", - "Collecting websocket-client>=0.32.0\n", - " Downloading https://files.pythonhosted.org/packages/29/19/44753eab1fdb50770ac69605527e8859468f3c0fd7dc5a76dd9c4dbd7906/websocket_client-0.56.0-py2.py3-none-any.whl (200kB)\n", - "Collecting cffi!=1.11.3,>=1.8\r\n", - " Downloading https://files.pythonhosted.org/packages/ab/15/d6bd2c322da944ba74ca545dd5e4af6e1e72339cbbc738e6877e349cdfbe/cffi-1.13.1-cp36-cp36m-manylinux1_x86_64.whl (392kB)\n", - "Collecting requests-oauthlib>=0.5.0\n", - " Downloading https://files.pythonhosted.org/packages/c2/e2/9fd03d55ffb70fe51f587f20bcf407a6927eb121de86928b34d162f0b1ac/requests_oauthlib-1.2.0-py2.py3-none-any.whl\n", - "Collecting isodate>=0.6.0\n", - " Downloading https://files.pythonhosted.org/packages/9b/9f/b36f7774ff5ea8e428fdcfc4bb332c39ee5b9362ddd3d40d9516a55221b2/isodate-0.6.0-py2.py3-none-any.whl (45kB)\n", - "Collecting jeepney\n", - " Downloading https://files.pythonhosted.org/packages/0a/4c/ef880713a6c6d628869596703167eab2edf8e0ec2d870d1089dcb0901b81/jeepney-0.4.1-py3-none-any.whl (60kB)\n", - "Collecting backports.weakref\n", - " Downloading https://files.pythonhosted.org/packages/88/ec/f598b633c3d5ffe267aaada57d961c94fdfa183c5c3ebda2b6d151943db6/backports.weakref-1.0.post1-py2.py3-none-any.whl\n", - "Collecting pyasn1>=0.1.1\n", - " Downloading https://files.pythonhosted.org/packages/a1/71/8f0d444e3a74e5640a3d5d967c1c6b015da9c655f35b2d308a55d907a517/pyasn1-0.4.7-py2.py3-none-any.whl (76kB)\n", - "Collecting docutils<0.16,>=0.10\n", - " Downloading https://files.pythonhosted.org/packages/22/cd/a6aa959dca619918ccb55023b4cb151949c64d4d5d55b3f4ffd7eee0c6e8/docutils-0.15.2-py3-none-any.whl (547kB)\n", - "Collecting pycparser\n", - " Downloading https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz (158kB)\n", - "Collecting oauthlib>=3.0.0\n", - " Downloading https://files.pythonhosted.org/packages/05/57/ce2e7a8fa7c0afb54a0581b14a65b56e62b5759dbc98e80627142b8a3704/oauthlib-3.1.0-py2.py3-none-any.whl (147kB)\n", - "Building wheels for collected packages: wrapt, json-logging-py, gast, termcolor, opt-einsum, absl-py, sacremoses, liac-arff, dill, pathspec, pycparser\n", - " Building wheel for wrapt (setup.py): started\n", - " Building wheel for wrapt (setup.py): finished with status 'done'\r\n", - " Created wheel for wrapt: filename=wrapt-1.11.1-cp36-cp36m-linux_x86_64.whl size=66699 sha256=5eda38184a5bf03b4e0631279c73f485fc396528cd869ae14050d1d35ba26881\n", - " Stored in directory: /root/.cache/pip/wheels/89/67/41/63cbf0f6ac0a6156588b9587be4db5565f8c6d8ccef98202fc\n", - " Building wheel for json-logging-py (setup.py): started\n", - " Building wheel for json-logging-py (setup.py): finished with status 'done'\n", - " Created wheel for json-logging-py: filename=json_logging_py-0.2-cp36-none-any.whl size=3924 sha256=f302b83624c98861b035505be6a7754bfd6a8885770310af0ad5aedf8bf4f8b6\n", - " Stored in directory: /root/.cache/pip/wheels/0d/2e/1c/c638b7589610d8b9358a6e5eb008edacb8b3e9b6d1edc9479f\n", - " Building wheel for gast (setup.py): started\n", - " Building wheel for gast (setup.py): finished with status 'done'\n", - " Created wheel for gast: filename=gast-0.2.2-cp36-none-any.whl size=7540 sha256=b9e02920b6ee1cc226eea4a6ce4015e0f935a075e93d4518d16196c732c300a2\n", - " Stored in directory: /root/.cache/pip/wheels/5c/2e/7e/a1d4d4fcebe6c381f378ce7743a3ced3699feb89bcfbdadadd\n", - " Building wheel for termcolor (setup.py): started\n", - " Building wheel for termcolor (setup.py): finished with status 'done'\n", - " Created wheel for termcolor: filename=termcolor-1.1.0-cp36-none-any.whl size=4832 sha256=3fa36ba8be185652506439f9b9a379877b013780686902a429b7d4bd04ed6b6a\n", - " Stored in directory: /root/.cache/pip/wheels/7c/06/54/bc84598ba1daf8f970247f550b175aaaee85f68b4b0c5ab2c6\n", - " Building wheel for opt-einsum (setup.py): started\n", - " Building wheel for opt-einsum (setup.py): finished with status 'done'\n", - " Created wheel for opt-einsum: filename=opt_einsum-3.1.0-cp36-none-any.whl size=61682 sha256=6b94d2b0660acbf0f18644e50274f2313fc8f17ca8b7f2dac5e6744754e331d1\n", - " Stored in directory: /root/.cache/pip/wheels/2c/b1/94/43d03e130b929aae7ba3f8d15cbd7bc0d1cb5bb38a5c721833\n", - " Building wheel for absl-py (setup.py): started\n", - " Building wheel for absl-py (setup.py): finished with status 'done'\n", - " Created wheel for absl-py: filename=absl_py-0.8.1-cp36-none-any.whl size=121167 sha256=5ca42adcef5397324f7c243b06f13be0921e19e2638598358500dcc338f24a36\n", - " Stored in directory: /root/.cache/pip/wheels/a7/15/a0/0a0561549ad11cdc1bc8fa1191a353efd30facf6bfb507aefc\n", - " Building wheel for sacremoses (setup.py): started\n", - " Building wheel for sacremoses (setup.py): finished with status 'done'\r\n", - " Created wheel for sacremoses: filename=sacremoses-0.0.35-cp36-none-any.whl size=883999 sha256=c1ba760689b52ad3d18509b289f1f7102fea36c07125f96c99f54dc4bf40326c\n", - " Stored in directory: /root/.cache/pip/wheels/63/2a/db/63e2909042c634ef551d0d9ac825b2b0b32dede4a6d87ddc94\n", - " Building wheel for liac-arff (setup.py): started\n", - " Building wheel for liac-arff (setup.py): finished with status 'done'\n", - " Created wheel for liac-arff: filename=liac_arff-2.4.0-cp36-none-any.whl size=13333 sha256=5dc8278eeb5c1cc6244099ffe5e4727ad4fb59daecb2990c4ec51a0bb989c130\n", - " Stored in directory: /root/.cache/pip/wheels/d1/6a/e7/529dc54d76ecede4346164a09ae3168df358945612710f5203\n", - " Building wheel for dill (setup.py): started\n", - " Building wheel for dill (setup.py): finished with status 'done'\n", - " Created wheel for dill: filename=dill-0.3.1.1-cp36-none-any.whl size=78532 sha256=07b39a543d29f4bdddb27a027c773c8a57a6316fffbb7ec84d6f0d1c91842844\n", - " Stored in directory: /root/.cache/pip/wheels/59/b1/91/f02e76c732915c4015ab4010f3015469866c1eb9b14058d8e7\n", - " Building wheel for pathspec (setup.py): started\n", - " Building wheel for pathspec (setup.py): finished with status 'done'\n", - " Created wheel for pathspec: filename=pathspec-0.6.0-cp36-none-any.whl size=26671 sha256=5100a6bae5c7f7847c14dfbe9f1ae1f8f35e81552896383772b7f9152cd1a8eb\n", - " Stored in directory: /root/.cache/pip/wheels/62/b8/e1/e2719465b5947c40cd85d613d6cb33449b86a1ca5a6c574269\n", - " Building wheel for pycparser (setup.py): started\n", - " Building wheel for pycparser (setup.py): finished with status 'done'\n", - " Created wheel for pycparser: filename=pycparser-2.19-py2.py3-none-any.whl size=111029 sha256=5cd8c026b03055da267733484bc0da9783594977e4033bc9286d9ae08fbf2a11\n", - " Stored in directory: /root/.cache/pip/wheels/f2/9a/90/de94f8556265ddc9d9c8b271b0f63e57b26fb1d67a45564511\n", - "Successfully built wrapt json-logging-py gast termcolor opt-einsum absl-py sacremoses liac-arff dill pathspec pycparser\r\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Installing collected packages: wrapt, inference-schema, configparser, applicationinsights, chardet, urllib3, idna, requests, pycparser, cffi, cryptography, PyJWT, adal, liac-arff, dill, azureml-model-management-sdk, click, itsdangerous, MarkupSafe, Jinja2, Werkzeug, flask, gunicorn, websocket-client, docker, pathspec, contextlib2, oauthlib, requests-oauthlib, isodate, msrest, jeepney, SecretStorage, azure-common, msrestazure, azure-mgmt-keyvault, azure-mgmt-authorization, jmespath, backports.weakref, backports.tempfile, jsonpickle, pyopenssl, azure-mgmt-resource, azure-mgmt-containerregistry, pyasn1, ndg-httpsclient, ruamel.yaml, azure-graphrbac, azure-mgmt-storage, azureml-core, json-logging-py, azureml-defaults, gast, termcolor, h5py, keras-applications, astor, tensorflow-estimator, opt-einsum, keras-preprocessing, protobuf, absl-py, grpcio, markdown, tensorboard, google-pasta, tensorflow, sentencepiece, joblib, tqdm, sacremoses, regex, docutils, botocore, s3transfer, boto3, transformers\n", - "Successfully installed Jinja2-2.10.3 MarkupSafe-1.1.1 PyJWT-1.7.1 SecretStorage-3.1.1 Werkzeug-0.16.0 absl-py-0.8.1 adal-1.2.2 applicationinsights-0.11.9 astor-0.8.0 azure-common-1.1.23 azure-graphrbac-0.61.1 azure-mgmt-authorization-0.60.0 azure-mgmt-containerregistry-2.8.0 azure-mgmt-keyvault-2.0.0 azure-mgmt-resource-5.1.0 azure-mgmt-storage-6.0.0 azureml-core-1.0.69 azureml-defaults-1.0.69 azureml-model-management-sdk-1.0.1b6.post1 backports.tempfile-1.0 backports.weakref-1.0.post1 boto3-1.10.2 botocore-1.13.2 cffi-1.13.1 chardet-3.0.4 click-7.0 configparser-3.7.4 contextlib2-0.6.0.post1 cryptography-2.8 dill-0.3.1.1 docker-4.1.0 docutils-0.15.2 flask-1.0.3 gast-0.2.2 google-pasta-0.1.7 grpcio-1.24.3 gunicorn-19.9.0 h5py-2.10.0 idna-2.8 inference-schema-1.0.0 isodate-0.6.0 itsdangerous-1.1.0 jeepney-0.4.1 jmespath-0.9.4 joblib-0.14.0 json-logging-py-0.2 jsonpickle-1.2 keras-applications-1.0.8 keras-preprocessing-1.1.0 liac-arff-2.4.0 markdown-3.1.1 msrest-0.6.10 msrestazure-0.6.2 ndg-httpsclient-0.5.1 oauthlib-3.1.0 opt-einsum-3.1.0 pathspec-0.6.0 protobuf-3.10.0 pyasn1-0.4.7 pycparser-2.19 pyopenssl-19.0.0 regex-2019.8.19 requests-2.22.0 requests-oauthlib-1.2.0 ruamel.yaml-0.15.89 s3transfer-0.2.1 sacremoses-0.0.35 sentencepiece-0.1.83 tensorboard-2.0.0 tensorflow-2.0.0 tensorflow-estimator-2.0.1 termcolor-1.1.0 tqdm-4.36.1 transformers-2.0.0 urllib3-1.25.6 websocket-client-0.56.0 wrapt-1.11.1\n", - "\u001b[91m\n", - "\u001b[0m#\n", - "# To activate this environment, use:\n", - "# > source activate /azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe\n", - "#\n", - "# To deactivate an active environment, use:\n", - "# > source deactivate\n", - "#\n", - "\n", - "Removing intermediate container 8dd00c605ada\n", - " ---> 6b82dc96b472\n", - "Step 9/15 : ENV PATH /azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/bin:$PATH\n", - " ---> Running in 890b9a637145\n", - "Removing intermediate container 890b9a637145\n", - " ---> c2ff746e57f4\n", - "Step 10/15 : ENV AZUREML_CONDA_ENVIRONMENT_PATH /azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe\n", - " ---> Running in dd4ca898cb85\n", - "Removing intermediate container dd4ca898cb85\n", - " ---> f9ad78ea34a4\n", - "Step 11/15 : ENV LD_LIBRARY_PATH /azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib:$LD_LIBRARY_PATH\n", - " ---> Running in 279b2eb0b142\n", - "Removing intermediate container 279b2eb0b142\n", - " ---> 17a717ab31df\n", - "Step 12/15 : COPY azureml-environment-setup/spark_cache.py azureml-environment-setup/log4j.properties /azureml-environment-setup/\n", - " ---> 3d12ea59059c\n", - "Step 13/15 : RUN if [ $SPARK_HOME ]; then /bin/bash -c '$SPARK_HOME/bin/spark-submit /azureml-environment-setup/spark_cache.py'; fi\n", - " ---> Running in 69541a32742d\n", - "Removing intermediate container 69541a32742d\n", - " ---> ab80d0052d97\n", - "Step 14/15 : ENV AZUREML_ENVIRONMENT_IMAGE True\n", - " ---> Running in 8361080e2621\n", - "Removing intermediate container 8361080e2621\n", - " ---> ebe402b017b8\n", - "Step 15/15 : CMD [\"bash\"]\n", - " ---> Running in 7bade2845ffc\n", - "Removing intermediate container 7bade2845ffc\n", - " ---> 92c56a134548\n", - "Successfully built 92c56a134548\n", - "Successfully tagged southcentral6a2da4dd.azurecr.io/azureml/azureml_c1f241d01b5197c539f2c3744f68f5e3:latest\n", - "2019/10/25 21:17:39 Successfully executed container: acb_step_0\n", - "2019/10/25 21:17:39 Executing step ID: acb_step_1. Timeout(sec): 5400, Working directory: '', Network: 'acb_default_network'\n", - "2019/10/25 21:17:39 Pushing image: southcentral6a2da4dd.azurecr.io/azureml/azureml_c1f241d01b5197c539f2c3744f68f5e3:latest, attempt 1\n", - "The push refers to repository [southcentral6a2da4dd.azurecr.io/azureml/azureml_c1f241d01b5197c539f2c3744f68f5e3]\n", - "2c26408fe379: Preparing\n", - "eada16cd347c: Preparing\n", - "a5b8f4eed6a4: Preparing\n", - "72feb27092b1: Preparing\n", - "13d944a70c3a: Preparing\n", - "564508f84629: Preparing\n", - "e1171d4d60ca: Preparing\n", - "6ef1a8ae63b7: Preparing\n", - "85389f9ead9e: Preparing\n", - "f2608f66a0e3: Preparing\n", - "0e259b09e5f4: Preparing\n", - "340dc32eb998: Preparing\n", - "df18b66efaa6: Preparing\n", - "ccdb13a20bf2: Preparing\n", - "9513cdf4e497: Preparing\n", - "7f083f9454c0: Preparing\n", - "29f36b5893dc: Preparing\n", - "564508f84629: Waiting\n", - "e1171d4d60ca: Waiting\n", - "6ef1a8ae63b7: Waiting\n", - "85389f9ead9e: Waiting\n", - "f2608f66a0e3: Waiting\n", - "0e259b09e5f4: Waiting\n", - "340dc32eb998: Waiting\n", - "df18b66efaa6: Waiting\n", - "ccdb13a20bf2: Waiting\n", - "9513cdf4e497: Waiting\n", - "7f083f9454c0: Waiting\n", - "29f36b5893dc: Waiting\n", - "a5b8f4eed6a4: Pushed\n", - "13d944a70c3a: Pushed\n", - "2c26408fe379: Pushed\n", - "72feb27092b1: Pushed\n", - "564508f84629: Pushed\n", - "e1171d4d60ca: Pushed\n", - "6ef1a8ae63b7: Pushed\n", - "85389f9ead9e: Pushed\n", - "340dc32eb998: Pushed\n", - "ccdb13a20bf2: Pushed\n", - "9513cdf4e497: Pushed\n", - "7f083f9454c0: Pushed\n", - "0e259b09e5f4: Pushed\n", - "f2608f66a0e3: Pushed\n", - "29f36b5893dc: Pushed\n", - "df18b66efaa6: Pushed\n", - "eada16cd347c: Pushed\n", - "latest: digest: sha256:9833c5a34dda5cf97659790ed7064d32e8af5a1b0b7625b0b2bee00933dd4648 size: 3883\n", - "2019/10/25 21:19:13 Successfully pushed image: southcentral6a2da4dd.azurecr.io/azureml/azureml_c1f241d01b5197c539f2c3744f68f5e3:latest\n", - "2019/10/25 21:19:13 Step ID: acb_step_0 marked as successful (elapsed time in seconds: 212.385464)\n", - "2019/10/25 21:19:13 Populating digests for step ID: acb_step_0...\n", - "2019/10/25 21:19:15 Successfully populated digests for step ID: acb_step_0\n", - "2019/10/25 21:19:15 Step ID: acb_step_1 marked as successful (elapsed time in seconds: 93.687260)\n", - "2019/10/25 21:19:15 The following dependencies were found:\n", - "2019/10/25 21:19:15 \n", - "- image:\n", - " registry: southcentral6a2da4dd.azurecr.io\n", - " repository: azureml/azureml_c1f241d01b5197c539f2c3744f68f5e3\n", - " tag: latest\n", - " digest: sha256:9833c5a34dda5cf97659790ed7064d32e8af5a1b0b7625b0b2bee00933dd4648\n", - " runtime-dependency:\n", - " registry: mcr.microsoft.com\n", - " repository: azureml/base\n", - " tag: intelmpi2018.3-ubuntu16.04\n", - " digest: sha256:a1b514f3ba884b9a7695cbba5638933ddaf222e8ce3e8c81e8cdf861679abb05\n", - " git: {}\n", - "\n", - "Run ID: cd3 was successful after 5m16s\n", - "Package creation Succeeded\n", - "Logging into Docker registry southcentral6a2da4dd.azurecr.io\n", - "Logging into Docker registry southcentral6a2da4dd.azurecr.io\n", - "Building Docker image from Dockerfile...\n", - "Step 1/5 : FROM southcentral6a2da4dd.azurecr.io/azureml/azureml_c1f241d01b5197c539f2c3744f68f5e3\n", - " ---> 92c56a134548\n", - "Step 2/5 : COPY azureml-app /var/azureml-app\n", - " ---> 1556d972c537\n", - "Step 3/5 : COPY model_config_map.json /var/azureml-app/model_config_map.json\n", - " ---> e20dddab2b05\n", - "Step 4/5 : RUN mv '/var/azureml-app/tmpu3ib6cdy.py' /var/azureml-app/main.py\n", - " ---> Running in cfaf1cc075a8\n", - " ---> ca239867b574\n", - "Step 5/5 : CMD [\"runsvdir\",\"/var/runit\"]\n", - " ---> Running in f2efbdcb7eb5\n", - " ---> 1e46724d90fb\n", - "Successfully built 1e46724d90fb\n", - "Successfully tagged mymodel:latest\n", - "Starting Docker container...\n", - "Docker container running.\n", - "Checking container health...\n", - "Local webservice is running at http://localhost:32770\n", - "32770\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "from azureml.core.model import InferenceConfig, Model\n", "from azureml.core.webservice import LocalWebservice\n", @@ -1493,17 +802,9 @@ }, { "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "http://localhost:32770/score\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "print(local_service.scoring_uri)" ] @@ -1526,21 +827,9 @@ }, { "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Making a scoring call...\n", - "Scoring result:\n", - "{'prediction': 'azure-virtual-machine', 'probability': '0.98652285'}\n", - "CPU times: user 15.9 ms, sys: 660 µs, total: 16.5 ms\n", - "Wall time: 9.9 s\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "%%time\n", "import json\n", @@ -1561,17 +850,9 @@ }, { "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Overwriting score.py\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "%%writefile score.py\n", "import os\n", @@ -1676,19 +957,9 @@ }, { "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Container has been successfully cleaned up.\n", - "Starting Docker container...\n", - "Docker container running.\n" - ] - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "local_service.reload()" ] @@ -1720,168 +991,9 @@ }, { "cell_type": "code", - "execution_count": 43, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "('/bin/bash: '\n", - " '/azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/libtinfo.so.5: no '\n", - " 'version information available (required by /bin/bash)\\n'\n", - " '/bin/bash: '\n", - " '/azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/libtinfo.so.5: no '\n", - " 'version information available (required by /bin/bash)\\n'\n", - " '/bin/bash: '\n", - " '/azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/libtinfo.so.5: no '\n", - " 'version information available (required by /bin/bash)\\n'\n", - " '/bin/bash: '\n", - " '/azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/libtinfo.so.5: no '\n", - " 'version information available (required by /bin/bash)\\n'\n", - " '2019-10-25T21:26:50,050750475+00:00 - rsyslog/run \\n'\n", - " '2019-10-25T21:26:50,051500275+00:00 - iot-server/run \\n'\n", - " 'bash: '\n", - " '/azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/libtinfo.so.5: no '\n", - " 'version information available (required by bash)\\n'\n", - " '2019-10-25T21:26:50,053720575+00:00 - gunicorn/run \\n'\n", - " '2019-10-25T21:26:50,061494276+00:00 - nginx/run \\n'\n", - " '/usr/sbin/nginx: '\n", - " '/azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/libcrypto.so.1.0.0: '\n", - " 'no version information available (required by /usr/sbin/nginx)\\n'\n", - " '/usr/sbin/nginx: '\n", - " '/azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/libcrypto.so.1.0.0: '\n", - " 'no version information available (required by /usr/sbin/nginx)\\n'\n", - " '/usr/sbin/nginx: '\n", - " '/azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/libssl.so.1.0.0: '\n", - " 'no version information available (required by /usr/sbin/nginx)\\n'\n", - " '/usr/sbin/nginx: '\n", - " '/azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/libssl.so.1.0.0: '\n", - " 'no version information available (required by /usr/sbin/nginx)\\n'\n", - " '/usr/sbin/nginx: '\n", - " '/azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/libssl.so.1.0.0: '\n", - " 'no version information available (required by /usr/sbin/nginx)\\n'\n", - " 'EdgeHubConnectionString and IOTEDGE_IOTHUBHOSTNAME are not set. Exiting...\\n'\n", - " '/bin/bash: '\n", - " '/azureml-envs/azureml_acb89c589d9589e8a1eaf57a0759fafe/lib/libtinfo.so.5: no '\n", - " 'version information available (required by /bin/bash)\\n'\n", - " '2019-10-25T21:26:50,136271379+00:00 - iot-server/finish 1 0\\n'\n", - " '2019-10-25T21:26:50,137414879+00:00 - Exit code 1 is normal. Not restarting '\n", - " 'iot-server.\\n'\n", - " 'Starting gunicorn 19.9.0\\n'\n", - " 'Listening at: http://127.0.0.1:31311 (12)\\n'\n", - " 'Using worker: sync\\n'\n", - " 'worker timeout is set to 300\\n'\n", - " 'Booting worker with pid: 43\\n'\n", - " 'Initialized PySpark session.\\n'\n", - " 'TensorFlow version 2.0.0 available.\\n'\n", - " 'To use data.metrics please install scikit-learn. See '\n", - " 'https://scikit-learn.org/stable/index.html\\n'\n", - " 'https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-cased-vocab.txt '\n", - " 'not found in cache or force_download set to True, downloading to '\n", - " '/tmp/tmp7n3s05bn\\n'\n", - " 'copying /tmp/tmp7n3s05bn to cache at '\n", - " '/root/.cache/torch/transformers/5e8a2b4893d13790ed4150ca1906be5f7a03d6c4ddf62296c383f6db42814db2.e13dbb970cb325137104fb2e5f36fe865f27746c6b526f6352861b1980eb80b1\\n'\n", - " 'creating metadata file for '\n", - " '/root/.cache/torch/transformers/5e8a2b4893d13790ed4150ca1906be5f7a03d6c4ddf62296c383f6db42814db2.e13dbb970cb325137104fb2e5f36fe865f27746c6b526f6352861b1980eb80b1\\n'\n", - " 'removing temp file /tmp/tmp7n3s05bn\\n'\n", - " 'loading configuration file '\n", - " 'azureml-models/azure-service-classifier/4/model/config.json\\n'\n", - " 'Model config {\\n'\n", - " ' \"attention_probs_dropout_prob\": 0.1,\\n'\n", - " ' \"finetuning_task\": null,\\n'\n", - " ' \"hidden_act\": \"gelu\",\\n'\n", - " ' \"hidden_dropout_prob\": 0.1,\\n'\n", - " ' \"hidden_size\": 768,\\n'\n", - " ' \"initializer_range\": 0.02,\\n'\n", - " ' \"intermediate_size\": 3072,\\n'\n", - " ' \"layer_norm_eps\": 1e-12,\\n'\n", - " ' \"max_position_embeddings\": 512,\\n'\n", - " ' \"num_attention_heads\": 12,\\n'\n", - " ' \"num_hidden_layers\": 12,\\n'\n", - " ' \"num_labels\": 5,\\n'\n", - " ' \"output_attentions\": false,\\n'\n", - " ' \"output_hidden_states\": false,\\n'\n", - " ' \"pruned_heads\": {},\\n'\n", - " ' \"torchscript\": false,\\n'\n", - " ' \"type_vocab_size\": 2,\\n'\n", - " ' \"use_bfloat16\": false,\\n'\n", - " ' \"vocab_size\": 28996\\n'\n", - " '}\\n'\n", - " '\\n'\n", - " 'loading weights file '\n", - " 'azureml-models/azure-service-classifier/4/model/tf_model.h5\\n'\n", - " '\\r'\n", - " ' 0%| | 0/213450 [00:00=0.10.3 flake8 flake8_formatter_junit_xml azure-cli==2.0.71 -azureml-dataprep[pandas] \ No newline at end of file +azureml-dataprep[pandas]==1.3.0 \ No newline at end of file diff --git a/3-ML-Ops/train-and-register-model.py b/3-ML-Ops/train-and-register-model.py index 45a7c68..4ea18b0 100755 --- a/3-ML-Ops/train-and-register-model.py +++ b/3-ML-Ops/train-and-register-model.py @@ -61,11 +61,11 @@ def main(): 'tensorflow-gpu>=2.0.0']) ) run_config.environment.docker.enabled = True - + datastore_name = 'tfworld' - container_name = 'azureml-blobstore-7c6bdd88-21fa-453a-9c80-16998f02935f' - account_name = 'tfworld6818510241' - sas_token = '?sv=2019-02-02&ss=bfqt&srt=sco&sp=rl&se=2019-11-08T05:12:15Z&st=2019-10-23T20:12:15Z&spr=https&sig=eDqnc51TkqiIklpQfloT5vcU70pgzDuKb5PAGTvCdx4%3D' # noqa: E501 + container_name = 'azure-service-classifier' + account_name = 'johndatasets' + sas_token = '?sv=2019-02-02&ss=bfqt&srt=sco&sp=rl&se=2021-06-02T03:40:25Z&st=2020-03-09T19:40:25Z&spr=https&sig=bUwK7AJUj2c%2Fr90Qf8O1sojF0w6wRFgL2c9zMVCWNPA%3D' try: existing_datastore = Datastore.get(aml_workspace, datastore_name) @@ -79,7 +79,7 @@ def main(): ) azure_dataset = Dataset.File.from_files( - path=(existing_datastore, 'azure-service-classifier/data')) + path=(existing_datastore, 'data')) azure_dataset = azure_dataset.register( workspace=aml_workspace, name='Azure Services Dataset', @@ -114,7 +114,7 @@ def main(): use_gpu=True, pip_packages=[ 'transformers==2.0.0', - 'azureml-dataprep[fuse,pandas]==1.1.22']) + 'azureml-dataprep[fuse,pandas]==1.3.0']) train_step = EstimatorStep( name="Train Model", From 94df6de9631953c3a78445293331f10a982623b5 Mon Sep 17 00:00:00 2001 From: John Wu Date: Tue, 13 Oct 2020 13:12:25 -0700 Subject: [PATCH 22/22] Fixed hyperlink to debugging instructions --- 1-Training/AzureServiceClassifier_Training.ipynb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/1-Training/AzureServiceClassifier_Training.ipynb b/1-Training/AzureServiceClassifier_Training.ipynb index 552bdfd..8db0e1e 100644 --- a/1-Training/AzureServiceClassifier_Training.ipynb +++ b/1-Training/AzureServiceClassifier_Training.ipynb @@ -537,7 +537,7 @@ "\n", "* **ACTION**: Install [Microsoft VS Code](https://code.visualstudio.com/) on your local machine.\n", "\n", - "* **ACTION**: Follow this [configuration guide](https://github.com/danielsc/azureml-debug-training/blob/master/Setting%20up%20VSCode%20Remote%20on%20an%20AzureML%20Notebook%20VM.md) to setup VS Code Remote connection to Notebook VM.\n", + "* **ACTION**: Follow this [configuration guide](https://github.com/danielsc/azureml-debug-training/blob/master/Setting%20up%20VSCode%20Remote%20on%20an%20AzureML%20Compute%20Instance.md) to setup VS Code Remote connection to Notebook VM.\n", "\n", "#### Debug training code using step-by-step debugger\n", "\n", @@ -1265,9 +1265,9 @@ "metadata": { "file_extension": ".py", "kernelspec": { - "display_name": "Python 3.6 - AzureML", + "display_name": "Python 3", "language": "python", - "name": "python3-azureml" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -1279,7 +1279,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.9" + "version": "3.7.3" }, "mimetype": "text/x-python", "name": "python",

VHS5$o!2WoyJLS?zwOmyhpV#Q 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 literal 138010 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