{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "vXLA5InzXydn" }, "source": [ "##### Copyright 2019 The TensorFlow Authors." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "cellView": "form", "execution": { "iopub.execute_input": "2021-03-11T18:39:15.167196Z", "iopub.status.busy": "2021-03-11T18:39:15.166472Z", "iopub.status.idle": "2021-03-11T18:39:15.168615Z", "shell.execute_reply": "2021-03-11T18:39:15.168997Z" }, "id": "RuRlpLL-X0R_" }, "outputs": [], "source": [ "#@title Licensed under the Apache License, Version 2.0 (the \"License\");\n", "# you may not use this file except in compliance with the License.\n", "# You may obtain a copy of the License at\n", "#\n", "# https://www.apache.org/licenses/LICENSE-2.0\n", "#\n", "# Unless required by applicable law or agreed to in writing, software\n", "# distributed under the License is distributed on an \"AS IS\" BASIS,\n", "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", "# See the License for the specific language governing permissions and\n", "# limitations under the License." ] }, { "cell_type": "markdown", "metadata": { "id": "1mLJmVotXs64" }, "source": [ "# Fine-tuning a BERT model" ] }, { "cell_type": "markdown", "metadata": { "id": "hYEwGTeCXnnX" }, "source": [ "\n", " \n", " \n", " \n", " \n", " \n", "
\n", " View on TensorFlow.org\n", " \n", " Run in Google Colab\n", " \n", " View source on GitHub\n", " \n", " Download notebook\n", " \n", " See TF Hub model\n", "
" ] }, { "cell_type": "markdown", "metadata": { "id": "YN2ACivEPxgD" }, "source": [ "In this example, we will work through fine-tuning a BERT model using the tensorflow-models PIP package.\n", "\n", "The pretrained BERT model this tutorial is based on is also available on [TensorFlow Hub](https://tensorflow.org/hub), to see how to use it refer to the [Hub Appendix](#hub_bert)" ] }, { "cell_type": "markdown", "metadata": { "id": "s2d9S2CSSO1z" }, "source": [ "## Setup" ] }, { "cell_type": "markdown", "metadata": { "id": "fsACVQpVSifi" }, "source": [ "### Install the TensorFlow Model Garden pip package\n", "\n", "* `tf-models-official` is the stable Model Garden package. Note that it may not include the latest changes in the `tensorflow_models` github repo. To include latest changes, you may install `tf-models-nightly`,\n", "which is the nightly Model Garden package created daily automatically.\n", "* pip will install all models and dependencies automatically." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:15.180695Z", "iopub.status.busy": "2021-03-11T18:39:15.180092Z", "iopub.status.idle": "2021-03-11T18:39:23.400855Z", "shell.execute_reply": "2021-03-11T18:39:23.400207Z" }, "id": "NvNr2svBM-p3" }, "outputs": [], "source": [ "!pip install -q tf-models-official==2.4.0" ] }, { "cell_type": "markdown", "metadata": { "id": "U-7qPCjWUAyy" }, "source": [ "### Imports" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:23.407763Z", "iopub.status.busy": "2021-03-11T18:39:23.407130Z", "iopub.status.idle": "2021-03-11T18:39:30.228357Z", "shell.execute_reply": "2021-03-11T18:39:30.227802Z" }, "id": "lXsXev5MNr20" }, "outputs": [], "source": [ "import os\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "import tensorflow as tf\n", "\n", "import tensorflow_hub as hub\n", "import tensorflow_datasets as tfds\n", "tfds.disable_progress_bar()\n", "\n", "from official.modeling import tf_utils\n", "from official import nlp\n", "from official.nlp import bert\n", "\n", "# Load the required submodules\n", "import official.nlp.optimization\n", "import official.nlp.bert.bert_models\n", "import official.nlp.bert.configs\n", "import official.nlp.bert.run_classifier\n", "import official.nlp.bert.tokenization\n", "import official.nlp.data.classifier_data_lib\n", "import official.nlp.modeling.losses\n", "import official.nlp.modeling.models\n", "import official.nlp.modeling.networks\n" ] }, { "cell_type": "markdown", "metadata": { "id": "mbanlzTvJBsz" }, "source": [ "### Resources" ] }, { "cell_type": "markdown", "metadata": { "id": "PpW0x8TpR8DT" }, "source": [ "This directory contains the configuration, vocabulary, and a pre-trained checkpoint used in this tutorial:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:30.233157Z", "iopub.status.busy": "2021-03-11T18:39:30.232543Z", "iopub.status.idle": "2021-03-11T18:39:30.647287Z", "shell.execute_reply": "2021-03-11T18:39:30.647713Z" }, "id": "vzRHOLciR8eq" }, "outputs": [ { "data": { "text/plain": [ "['bert_config.json',\n", " 'bert_model.ckpt.data-00000-of-00001',\n", " 'bert_model.ckpt.index',\n", " 'vocab.txt']" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gs_folder_bert = \"gs://cloud-tpu-checkpoints/bert/v3/uncased_L-12_H-768_A-12\"\n", "tf.io.gfile.listdir(gs_folder_bert)" ] }, { "cell_type": "markdown", "metadata": { "id": "9uFskufsR2LT" }, "source": [ "You can get a pre-trained BERT encoder from [TensorFlow Hub](https://tfhub.dev/tensorflow/bert_en_uncased_L-12_H-768_A-12/2):" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:30.652098Z", "iopub.status.busy": "2021-03-11T18:39:30.651442Z", "iopub.status.idle": "2021-03-11T18:39:30.653265Z", "shell.execute_reply": "2021-03-11T18:39:30.653628Z" }, "id": "e0dAkUttJAzj" }, "outputs": [], "source": [ "hub_url_bert = \"https://tfhub.dev/tensorflow/bert_en_uncased_L-12_H-768_A-12/3\"" ] }, { "cell_type": "markdown", "metadata": { "id": "Qv6abtRvH4xO" }, "source": [ "## The data\n", "For this example we used the [GLUE MRPC dataset from TFDS](https://www.tensorflow.org/datasets/catalog/glue#gluemrpc).\n", "\n", "This dataset is not set up so that it can be directly fed into the BERT model, so this section also handles the necessary preprocessing." ] }, { "cell_type": "markdown", "metadata": { "id": "28DvUhC1YUiB" }, "source": [ "### Get the dataset from TensorFlow Datasets\n", "\n", "The Microsoft Research Paraphrase Corpus (Dolan & Brockett, 2005) is a corpus of sentence pairs automatically extracted from online news sources, with human annotations for whether the sentences in the pair are semantically equivalent.\n", "\n", "* Number of labels: 2.\n", "* Size of training dataset: 3668.\n", "* Size of evaluation dataset: 408.\n", "* Maximum sequence length of training and evaluation dataset: 128.\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:30.658023Z", "iopub.status.busy": "2021-03-11T18:39:30.657436Z", "iopub.status.idle": "2021-03-11T18:39:37.786231Z", "shell.execute_reply": "2021-03-11T18:39:37.785625Z" }, "id": "Ijikx5OsH9AT" }, "outputs": [], "source": [ "glue, info = tfds.load('glue/mrpc', with_info=True,\n", " # It's small, load the whole dataset\n", " batch_size=-1)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:37.791150Z", "iopub.status.busy": "2021-03-11T18:39:37.790496Z", "iopub.status.idle": "2021-03-11T18:39:37.793079Z", "shell.execute_reply": "2021-03-11T18:39:37.793454Z" }, "id": "xf9zz4vLYXjr" }, "outputs": [ { "data": { "text/plain": [ "['test', 'train', 'validation']" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(glue.keys())" ] }, { "cell_type": "markdown", "metadata": { "id": "ZgBg2r2nYT-K" }, "source": [ "The `info` object describes the dataset and it's features:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:37.799433Z", "iopub.status.busy": "2021-03-11T18:39:37.798802Z", "iopub.status.idle": "2021-03-11T18:39:37.801566Z", "shell.execute_reply": "2021-03-11T18:39:37.801973Z" }, "id": "IQrHxv7W7jH5" }, "outputs": [ { "data": { "text/plain": [ "FeaturesDict({\n", " 'idx': tf.int32,\n", " 'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=2),\n", " 'sentence1': Text(shape=(), dtype=tf.string),\n", " 'sentence2': Text(shape=(), dtype=tf.string),\n", "})" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "info.features" ] }, { "cell_type": "markdown", "metadata": { "id": "vhsVWYNxazz5" }, "source": [ "The two classes are:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:37.806415Z", "iopub.status.busy": "2021-03-11T18:39:37.805801Z", "iopub.status.idle": "2021-03-11T18:39:37.808936Z", "shell.execute_reply": "2021-03-11T18:39:37.808457Z" }, "id": "n0gfc_VTayfQ" }, "outputs": [ { "data": { "text/plain": [ "['not_equivalent', 'equivalent']" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "info.features['label'].names" ] }, { "cell_type": "markdown", "metadata": { "id": "38zJcap6xkbC" }, "source": [ "Here is one example from the training set:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:37.813736Z", "iopub.status.busy": "2021-03-11T18:39:37.813109Z", "iopub.status.idle": "2021-03-11T18:39:38.121187Z", "shell.execute_reply": "2021-03-11T18:39:38.120568Z" }, "id": "xON_i6SkwApW" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "idx : 1680\n", "label : 0\n", "sentence1: b'The identical rovers will act as robotic geologists , searching for evidence of past water .'\n", "sentence2: b'The rovers act as robotic geologists , moving on six wheels .'\n" ] } ], "source": [ "glue_train = glue['train']\n", "\n", "for key, value in glue_train.items():\n", " print(f\"{key:9s}: {value[0].numpy()}\")" ] }, { "cell_type": "markdown", "metadata": { "id": "9fbTyfJpNr7x" }, "source": [ "### The BERT tokenizer" ] }, { "cell_type": "markdown", "metadata": { "id": "wqeN54S61ZKQ" }, "source": [ "To fine tune a pre-trained model you need to be sure that you're using exactly the same tokenization, vocabulary, and index mapping as you used during training.\n", "\n", "The BERT tokenizer used in this tutorial is written in pure Python (It's not built out of TensorFlow ops). So you can't just plug it into your model as a `keras.layer` like you can with `preprocessing.TextVectorization`.\n", "\n", "The following code rebuilds the tokenizer that was used by the base model:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:38.126238Z", "iopub.status.busy": "2021-03-11T18:39:38.125599Z", "iopub.status.idle": "2021-03-11T18:39:38.834586Z", "shell.execute_reply": "2021-03-11T18:39:38.834972Z" }, "id": "idxyhmrCQcw5" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Vocab size: 30522\n" ] } ], "source": [ "# Set up tokenizer to generate Tensorflow dataset\n", "tokenizer = bert.tokenization.FullTokenizer(\n", " vocab_file=os.path.join(gs_folder_bert, \"vocab.txt\"),\n", " do_lower_case=True)\n", "\n", "print(\"Vocab size:\", len(tokenizer.vocab))" ] }, { "cell_type": "markdown", "metadata": { "id": "zYHDSquU2lDU" }, "source": [ "Tokenize a sentence:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:38.840094Z", "iopub.status.busy": "2021-03-11T18:39:38.839441Z", "iopub.status.idle": "2021-03-11T18:39:38.841828Z", "shell.execute_reply": "2021-03-11T18:39:38.842252Z" }, "id": "L_OfOYPg853R" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['hello', 'tensor', '##flow', '!']\n", "[7592, 23435, 12314, 999]\n" ] } ], "source": [ "tokens = tokenizer.tokenize(\"Hello TensorFlow!\")\n", "print(tokens)\n", "ids = tokenizer.convert_tokens_to_ids(tokens)\n", "print(ids)" ] }, { "cell_type": "markdown", "metadata": { "id": "kkAXLtuyWWDI" }, "source": [ "### Preprocess the data\n", "\n", "The section manually preprocessed the dataset into the format expected by the model.\n", "\n", "This dataset is small, so preprocessing can be done quickly and easily in memory. For larger datasets the `tf_models` library includes some tools for preprocessing and re-serializing a dataset. See [Appendix: Re-encoding a large dataset](#re_encoding_tools) for details." ] }, { "cell_type": "markdown", "metadata": { "id": "62UTWLQd9-LB" }, "source": [ "#### Encode the sentences\n", "\n", "The model expects its two inputs sentences to be concatenated together. This input is expected to start with a `[CLS]` \"This is a classification problem\" token, and each sentence should end with a `[SEP]` \"Separator\" token:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:38.847076Z", "iopub.status.busy": "2021-03-11T18:39:38.846380Z", "iopub.status.idle": "2021-03-11T18:39:38.848881Z", "shell.execute_reply": "2021-03-11T18:39:38.849238Z" }, "id": "bdL-dRNRBRJT" }, "outputs": [ { "data": { "text/plain": [ "[101, 102]" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tokenizer.convert_tokens_to_ids(['[CLS]', '[SEP]'])" ] }, { "cell_type": "markdown", "metadata": { "id": "UrPktnqpwqie" }, "source": [ "Start by encoding all the sentences while appending a `[SEP]` token, and packing them into ragged-tensors:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:38.856993Z", "iopub.status.busy": "2021-03-11T18:39:38.856333Z", "iopub.status.idle": "2021-03-11T18:39:42.496443Z", "shell.execute_reply": "2021-03-11T18:39:42.496839Z" }, "id": "BR7BmtU498Bh" }, "outputs": [], "source": [ "def encode_sentence(s):\n", " tokens = list(tokenizer.tokenize(s.numpy()))\n", " tokens.append('[SEP]')\n", " return tokenizer.convert_tokens_to_ids(tokens)\n", "\n", "sentence1 = tf.ragged.constant([\n", " encode_sentence(s) for s in glue_train[\"sentence1\"]])\n", "sentence2 = tf.ragged.constant([\n", " encode_sentence(s) for s in glue_train[\"sentence2\"]])" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:42.501609Z", "iopub.status.busy": "2021-03-11T18:39:42.500910Z", "iopub.status.idle": "2021-03-11T18:39:42.503215Z", "shell.execute_reply": "2021-03-11T18:39:42.503584Z" }, "id": "has42aUdfky-" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sentence1 shape: [3668, None]\n", "Sentence2 shape: [3668, None]\n" ] } ], "source": [ "print(\"Sentence1 shape:\", sentence1.shape.as_list())\n", "print(\"Sentence2 shape:\", sentence2.shape.as_list())" ] }, { "cell_type": "markdown", "metadata": { "id": "MU9lTWy_xXbb" }, "source": [ "Now prepend a `[CLS]` token, and concatenate the ragged tensors to form a single `input_word_ids` tensor for each example. `RaggedTensor.to_tensor()` zero pads to the longest sequence." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:42.513941Z", "iopub.status.busy": "2021-03-11T18:39:42.513252Z", "iopub.status.idle": "2021-03-11T18:39:42.952985Z", "shell.execute_reply": "2021-03-11T18:39:42.953398Z" }, "id": "USD8uihw-g4J" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "cls = [tokenizer.convert_tokens_to_ids(['[CLS]'])]*sentence1.shape[0]\n", "input_word_ids = tf.concat([cls, sentence1, sentence2], axis=-1)\n", "_ = plt.pcolormesh(input_word_ids.to_tensor())" ] }, { "cell_type": "markdown", "metadata": { "id": "xmNv4l4k-dBZ" }, "source": [ "#### Mask and input type" ] }, { "cell_type": "markdown", "metadata": { "id": "DIWjNIKq-ldh" }, "source": [ "The model expects two additional inputs:\n", "\n", "* The input mask\n", "* The input type" ] }, { "cell_type": "markdown", "metadata": { "id": "ulNZ4U96-8JZ" }, "source": [ "The mask allows the model to cleanly differentiate between the content and the padding. The mask has the same shape as the `input_word_ids`, and contains a `1` anywhere the `input_word_ids` is not padding." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:42.958249Z", "iopub.status.busy": "2021-03-11T18:39:42.957578Z", "iopub.status.idle": "2021-03-11T18:39:43.264741Z", "shell.execute_reply": "2021-03-11T18:39:43.265190Z" }, "id": "EezOO9qj91kP" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "input_mask = tf.ones_like(input_word_ids).to_tensor()\n", "\n", "plt.pcolormesh(input_mask)" ] }, { "cell_type": "markdown", "metadata": { "id": "rxLenwAvCkBf" }, "source": [ "The \"input type\" also has the same shape, but inside the non-padded region, contains a `0` or a `1` indicating which sentence the token is a part of. " ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:43.272971Z", "iopub.status.busy": "2021-03-11T18:39:43.272227Z", "iopub.status.idle": "2021-03-11T18:39:43.601793Z", "shell.execute_reply": "2021-03-11T18:39:43.602215Z" }, "id": "2CetH_5C9P2m" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "type_cls = tf.zeros_like(cls)\n", "type_s1 = tf.zeros_like(sentence1)\n", "type_s2 = tf.ones_like(sentence2)\n", "input_type_ids = tf.concat([type_cls, type_s1, type_s2], axis=-1).to_tensor()\n", "\n", "plt.pcolormesh(input_type_ids)" ] }, { "cell_type": "markdown", "metadata": { "id": "P5UBnCn8Ii6s" }, "source": [ "#### Put it all together\n", "\n", "Collect the above text parsing code into a single function, and apply it to each split of the `glue/mrpc` dataset." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:43.610849Z", "iopub.status.busy": "2021-03-11T18:39:43.610190Z", "iopub.status.idle": "2021-03-11T18:39:43.611973Z", "shell.execute_reply": "2021-03-11T18:39:43.612353Z" }, "id": "sDGiWYPLEd5a" }, "outputs": [], "source": [ "def encode_sentence(s, tokenizer):\n", " tokens = list(tokenizer.tokenize(s))\n", " tokens.append('[SEP]')\n", " return tokenizer.convert_tokens_to_ids(tokens)\n", "\n", "def bert_encode(glue_dict, tokenizer):\n", " num_examples = len(glue_dict[\"sentence1\"])\n", " \n", " sentence1 = tf.ragged.constant([\n", " encode_sentence(s, tokenizer)\n", " for s in np.array(glue_dict[\"sentence1\"])])\n", " sentence2 = tf.ragged.constant([\n", " encode_sentence(s, tokenizer)\n", " for s in np.array(glue_dict[\"sentence2\"])])\n", "\n", " cls = [tokenizer.convert_tokens_to_ids(['[CLS]'])]*sentence1.shape[0]\n", " input_word_ids = tf.concat([cls, sentence1, sentence2], axis=-1)\n", "\n", " input_mask = tf.ones_like(input_word_ids).to_tensor()\n", "\n", " type_cls = tf.zeros_like(cls)\n", " type_s1 = tf.zeros_like(sentence1)\n", " type_s2 = tf.ones_like(sentence2)\n", " input_type_ids = tf.concat(\n", " [type_cls, type_s1, type_s2], axis=-1).to_tensor()\n", "\n", " inputs = {\n", " 'input_word_ids': input_word_ids.to_tensor(),\n", " 'input_mask': input_mask,\n", " 'input_type_ids': input_type_ids}\n", "\n", " return inputs" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:43.674017Z", "iopub.status.busy": "2021-03-11T18:39:43.652990Z", "iopub.status.idle": "2021-03-11T18:39:47.791911Z", "shell.execute_reply": "2021-03-11T18:39:47.791320Z" }, "id": "yuLKxf6zHxw-" }, "outputs": [], "source": [ "glue_train = bert_encode(glue['train'], tokenizer)\n", "glue_train_labels = glue['train']['label']\n", "\n", "glue_validation = bert_encode(glue['validation'], tokenizer)\n", "glue_validation_labels = glue['validation']['label']\n", "\n", "glue_test = bert_encode(glue['test'], tokenizer)\n", "glue_test_labels = glue['test']['label']" ] }, { "cell_type": "markdown", "metadata": { "id": "7FC5aLVxKVKK" }, "source": [ "Each subset of the data has been converted to a dictionary of features, and a set of labels. Each feature in the input dictionary has the same shape, and the number of labels should match:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:47.797188Z", "iopub.status.busy": "2021-03-11T18:39:47.796532Z", "iopub.status.idle": "2021-03-11T18:39:47.799400Z", "shell.execute_reply": "2021-03-11T18:39:47.799806Z" }, "id": "jyjTdGpFhO_1" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "input_word_ids shape: (3668, 103)\n", "input_mask shape: (3668, 103)\n", "input_type_ids shape: (3668, 103)\n", "glue_train_labels shape: (3668,)\n" ] } ], "source": [ "for key, value in glue_train.items():\n", " print(f'{key:15s} shape: {value.shape}')\n", "\n", "print(f'glue_train_labels shape: {glue_train_labels.shape}')" ] }, { "cell_type": "markdown", "metadata": { "id": "FSwymsbkbLDA" }, "source": [ "## The model" ] }, { "cell_type": "markdown", "metadata": { "id": "Efrj3Cn1kLAp" }, "source": [ "### Build the model\n" ] }, { "cell_type": "markdown", "metadata": { "id": "xxpOY5r2Ayq6" }, "source": [ "The first step is to download the configuration for the pre-trained model.\n" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:47.804756Z", "iopub.status.busy": "2021-03-11T18:39:47.804127Z", "iopub.status.idle": "2021-03-11T18:39:48.568882Z", "shell.execute_reply": "2021-03-11T18:39:48.569270Z" }, "id": "ujapVfZ_AKW7" }, "outputs": [ { "data": { "text/plain": [ "{'attention_probs_dropout_prob': 0.1,\n", " 'hidden_act': 'gelu',\n", " 'hidden_dropout_prob': 0.1,\n", " 'hidden_size': 768,\n", " 'initializer_range': 0.02,\n", " 'intermediate_size': 3072,\n", " 'max_position_embeddings': 512,\n", " 'num_attention_heads': 12,\n", " 'num_hidden_layers': 12,\n", " 'type_vocab_size': 2,\n", " 'vocab_size': 30522}" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import json\n", "\n", "bert_config_file = os.path.join(gs_folder_bert, \"bert_config.json\")\n", "config_dict = json.loads(tf.io.gfile.GFile(bert_config_file).read())\n", "\n", "bert_config = bert.configs.BertConfig.from_dict(config_dict)\n", "\n", "config_dict" ] }, { "cell_type": "markdown", "metadata": { "id": "96ldxDSwkVkj" }, "source": [ "The `config` defines the core BERT Model, which is a Keras model to predict the outputs of `num_classes` from the inputs with maximum sequence length `max_seq_length`.\n", "\n", "This function returns both the encoder and the classifier." ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:48.580603Z", "iopub.status.busy": "2021-03-11T18:39:48.572915Z", "iopub.status.idle": "2021-03-11T18:39:50.452373Z", "shell.execute_reply": "2021-03-11T18:39:50.452820Z" }, "id": "cH682__U0FBv" }, "outputs": [], "source": [ "bert_classifier, bert_encoder = bert.bert_models.classifier_model(\n", " bert_config, num_labels=2)" ] }, { "cell_type": "markdown", "metadata": { "id": "XqKp3-5GIZlw" }, "source": [ "The classifier has three inputs and one output:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:50.458006Z", "iopub.status.busy": "2021-03-11T18:39:50.457317Z", "iopub.status.idle": "2021-03-11T18:39:50.651493Z", "shell.execute_reply": "2021-03-11T18:39:50.651987Z" }, "id": "bAQblMIjwkvx" }, "outputs": [ { "data": { "image/png": "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L1asoCEicjVcp4aIiFyGq62zQ0RE3YOf1BARERERkUtjUUNERERERC6NEwUQkUuaP3++0iGQFY8ePQIAaSX7uro6AMAzzzyjWEy2uHfvHjQajdJhOA1OFEBEroJFDREROZwjZ0MjIiLi7WdEREREROTSWNQQEREREZFLY1FDREREREQujUUNERERERG5NBY1RERERETk0ljUEBERERGRS2NRQ0RERERELo1FDRERERERuTQWNURERERE5NJY1BARERERkUtjUUNERERERC6NRQ0REREREbk0FjVEREREROTSWNQQEREREZFLY1FDREREREQurY/SARARUc915coVfPfdd7h+/ToA4OzZs1Cr1Rg5cqTCkRERUU+iEkIIpYMgIqKeKSUlBR9//DH69HnyN7SmpibMmTMHe/fuVTgyIiLqSXj7GREROcxLL72Ep59+GrW1taitrcVTTz2F1atXKx0WERH1MCxqiIjIYcaPHw+NRiN97+fnh7FjxyoYERER9UQsaoiIyKGmTp0qff1v//ZvUKlUCkZDREQ9EZ+pISIih7p8+TImT54MlUqF//mf/0FERITSIRERUQ/DooaIiBwuPDwcAFBeXq5wJERE1BNxSmcisqqqqgo6nU7pMMjFhYaGAgDy8/MVjoRcXUxMDAYPHqx0GETkZPhMDRFZpdPpcPr0aaXDIBc3bdo0TJs2TekwsH37dqVD6DBXjNlRTp8+zT+yEJFF/KSGiNo1YcIEJCUlKR0GUZfl5+e73O+yK8ZMRNTd+EkNERGRi7pz5w7eeecdpcOwm7KyMuzbt0/pMIjIBbGoISIiMlFfX4/58+crHYZNMjIysHTpUulrlUqF7Oxs6fXIyEioVCps2rTJoXF89tlnUKlU0j93d3c8fPgQwJNbWLVaLQIDA1FYWCgds27dOvj4+CA4OBiHDh0CAERERKCyshLFxcUOjZeIeh4WNURERCb69++PvLw8u57z8ePHmDBhgl3PqdfrcffuXfj6+gIAduzYgZSUFGzZsgUnTpwAAFy8eBFr1qxBVlaWXdtuzdPTEzqdDkIINDU1YeXKlfD09ERjYyMWLlyIbdu24fz589i1axcA4Ouvv0Z+fj6uXbuG/Px8rF27VjrXjBkzsGfPHofGS0Q9D4saIiIiE4mJiRg4cKDZ1ytWrIC3tzfef/99AEBcXBxCQ0ORlJQEHx8fvP766wCA2NhYqXiJiorC7NmzAQCzZ89GcXExVCoVDh48aJc4Kysr4e/vb7YtMDAQmzdvRnJyMqqrq81ea25uRnp6Onx8fBAVFYULFy7I9rG5uRlpaWnw9vbGxIkTUVVVZTWWsWPHSv3+5JNPMHPmTADA559/joiICEybNg1+fn44cuQIgCdFUL9+/aTj/fz8zPpw5cqVTo4KEfVWLGqIiIhMFBQUSEVNQUEB+vbti2XLlqG4uBg5OTkAgKKiIty5cwcbNmxAeXk59uzZg2vXrqGoqEg6z+HDh82+Hj9+PIQQSEhIgNFoRHR0NBobGzsdpxACKpWqzfbMzExMmTIFCxYsQFNTk7Q9Ly8Per0eVVVVyMrKwqpVq2T7mJ+fj7q6Oty4cQOZmZlS0WaLo0ePYvr06QCAb775Bu7u7ggLC4NGo8G7774LANBoNEhOTkZAQABmzZpldnucXL+IiKzh7GdERERW+Pj4YPTo0QCePG/TYtCgQRg1ahQAIDo6GpWVlQgKCpJeN13buvWbdDc3N5SUlHQprpCQEOj1eouv5ebmYty4cVi3bh3c3J78/fLSpUuYMWMGvLy8kJCQgOXLl8v2sby8HIWFhdIzMFqt1qaYrl+/juDgYKlNtVqN69ev49SpU3j48CFiYmKQkpKCy5cv48SJE6itrYVer8fs2bNx4cIFeHh4QK/XIyQkpNPjQkS9Ez+pISIiskLuU4OamhqUlpaiuroaJSUlCAkJgYeHB27fvo0HDx7g5MmT0r7u7u4wGAwoLi6220P7AQEB0Gg0qK2tbfOaWq3GgQMHkJOTA4PBAAAIDw/HsWPHYDAYcPDgQYSHh8v2MTw8HOnp6aivr4cQAufOnbMppl27diE1NVX6fty4cXBzc4PRaISbm5s0kcCtW7fMjrt79y4aGhoAPPmkx/QcRES2YFFDRERkIjExEaWlpUhMTERqaipKS0uRnp6OhIQElJaW4tVXXwUADB48GFu3bkVYWBiWLl2KYcOGQaVSIT4+HkFBQaioqMCRI0fw1ltvQaVSQavVIj4+Hi+88AKMRiPGjh3bpdvPgCeTA7Q8VJ+RkYGtW7diypQpAICwsDDs3r0bRqMRAJCUlISAgAAEBQVh06ZN2LlzJwBY7GNxcTGEEPD390dgYCByc3MBAEajUfp0qrXGxkZUV1cjODhY2hYYGIjly5cjMjIS0dHRyMrKwoABAxAfH49nn30WQUFBiI2NRVZWFry9vVFWVobnn38eMTExXRoXIup9VML083Eiolby8/MBgIv/WREaGoqhQ4fi2LFjSodik7i4OFRVVeHy5ct2Pe/Ro0exbNkyVFVVIT4+3uyZEmcxf/58u81sFhUVZfMnGF1hz5i7at++fVCr1UhISFCkfeYjIpLDT2qIiLro1KlT0tedWePEEeuiXL58GdOmTYOPjw9GjRqF3Nxc6S/2RUVF6Nu3b5fbaB33xo0b8de//hVCCLsVNM66ZkxcXJz06UZvsnjxYsUKGiIia1jUEJFiHLF2h9JsWeOkdb/tvS7Kw4cPMXPmTPz7v/87ampqcOzYMRw6dAjl5eV2awNoG/f3338ve2uSrRw9NvZSVFQEIYS07goRESmLRQ0RdcrVq1cRHh4ONzc3afpbubUt5Nb6aL12h6Xj5Y5tWXNjwIABmD59ujQLlK3ra8itM5KYmIiAgAAsWrQIHh4eOHz4sMVzNjY24sUXX4SXlxfee+896byma5zIxdi635aOMV1LRG4M5Bw6dAjR0dGYP38++vfvj6CgIBQWFiIyMtLi/m+++Sa8vLyQlJSE77//3uLP1tK21uu5nDt3zmxV+cePH1sdh9btdsfYEBFRz8Sihog65ciRI/jxj3+M2tpaaSYjubUt5Nb6aL12h6Xj5Y5tWXPjxo0bWLlypfSwtK3ra8itM1JQUID+/ftj48aNaGhowOzZsy2e86OPPoLRaERNTQ2GDh0qndd0jRO5GFv329IxpmuJyI2B3FonX3/9tVlM7Vm/fj0MBgMmT56Mo0ePWvzZWtrWej0XrVYLIQSEEBg/frx0frlxaN2uPceGiIh6F65TQ0SdsmjRIqxcuRLPPfccXnrpJWzZssXq2haW1vpoPY2s3PGWjm1Zc8PHxwdz585t9xyWWFpn5Pnnn4ePjw9Gjhxp9ZwDBw7EtGnToFarMXPmTOzfv7/N+eVitLawoNxaIpbGQG6tkyFDhuDMmTOybZgqLy/HggULcOnSJTQ3N2PXrl0Wf7aWttnK0jhYateeYyOnoqLCKZ/RsebcuXMuF7OjVFVV4ZVXXlE6DCJyQixqiKhT/P39ceDAAfzjH//A9OnTsXr1amlti9/97nfo16+f2f6W3qyart1x4sQJ2eMtHRseHo4PP/wQqamp8PT0NNsuF0NrLeuM+Pn5oaSkBG+//bbF/Syd84MPPsCBAwewZMkSHD9+XPY4SzG27ndWVlabY1JSUvDpp59Ka4l0ZIX1+Ph4ZGVloaCgALNmzcI333yDxYsXY//+/W0+wcnLy8O0adOg0+nwxhtvSNP4tv7ZBgUFWdxmC0vjYKnd7hibESNGOOUzOtY40+xnSmuZ/YyIqA1BRGRFXl6eyMvLa7N948aNAoDo27evSElJEUajUTQ1NYm0tDShVqvFwIEDxe7du4UQQixZskQAEGlpaWLOnDkCgMjMzBRCCLFw4UKh0WhEaWmpxePljjXdd/DgweL48eNCCCEbgyVarVYsXLhQTyUTOAAABLJJREFUeHt7i+zsbLNYR44cKe1n6ZwNDQ1i7ty5wtPTU7z22msCgNi4caOYN2+eACDmzZsnG2Prfls6xsvLS2i1WnH+/HnZMWhubhbR0dGioaGhTd/Ky8vFv/7rvwpPT08xfPhwkZ+fL702depU6XylpaVi2LBhIjg4WCxatEja3vpna+nnbRq36deZmZkCgBgzZkyb8WsZB0vt3rx5025jIycpKUn2NWfVmZhv374ttm3b5oBo7OPixYvigw8+6PBxcvmIiIjr1BCRVT15XYjuWmeEnIcrfurRmZiTk5Px3nvvwdfXFxkZGXj33XexceNGZGdnAwAiIyNRVlaGN954w+zTMHt7+PAhVq1ahfz8fISGhuJPf/oTfvjDHwIAsrOzMXPmTLPnr9rTk/MREXUNJwogoh7PdEYulUqF7OzsXrvOCHVdV6cid/RU5nq9Hnfv3oWvry8AYMeOHUhJScGWLVtw4sQJAMDFixexZs0ahxY0wJOZ+EaPHo3a2lr87Gc/M5u4Y8aMGdKkEUREXcWihoh6PPH/M3K1/MvOzuY6I2TG0nTRsbGxUvERFRWF2bNnA2g77bTc9OC2Hm9vlZWV8Pf3N9sWGBiIzZs3Izk5GdXV1e323dpU6rZMmd7iZz/7GV5++WX07dsXEydOxODBg81iunLlip16TUS9HYsaIiLq9SxNF11UVCS9fvjwYbOvTaedlpse3Nbj5abm7iwhhMXJEzIzMzFlyhQsWLAATU1NVvsuN1W2rVOmt9bU1ISPPvoIGzZsaDdOIqLOYFFDRES9XuvposvLy81eN3381NIb8ZbpwYOCgqTpwW09vmVqbnd3d3t0BSEhIdICp63l5ubi3r17WLdunbRNru8tU2WHhYVJU2W3TG/u6+uLxMREm6YOF0Jg7dq1+OUvfwmNRiNt1+v1CAkJ6UpXiYgkLGqIiKjXCw8Px7Fjx2AwGHDw4EGEh4fDw8MDt2/fxoMHD3Dy5ElpX9Nppzdt2gTgn9ODV1dXo6SkBCEhIR063p4CAgKg0WhQW1vb5jW1Wo0DBw4gJycHBoNBtu+A/FTq6enpqK+vhxDCpok23n77baSnp2PYsGFmz/AcPXoUqampnewlEZE5FjVERNTrJSUlISAgAEFBQdi0aRN27twJlUqF+Ph4BAUFoaKiAkeOHMFbb70FlUoFrVaL+Ph4vPDCCwCAwYMHY+vWrQgLC8PSpUsxbNgwm483Go0YO3as3W4/A55MDtDyEH5GRga2bt2KKVOmAADCwsKwe/duGI1G2b6npqZKE2kkJCSgtLQUr776KpKSkqS1jAIDA5GbmwsAMBqN0kK2pg4fPoy1a9ciLCwMKpUKBQUFAICysjI8//zziImJsVufiah345TORGQVp1ClnsRRUzo7cnpwV5iGet++fVCr1UhISHBoO8xHRCSHn9QQERF1AacHBxYvXuzwgoaIyJo+SgdARETkykxnOSMiImXwkxoiIiIiInJpLGqIiIiIiMil8fYzImrX9u3bpQd0iVxZRUUF5s+fr3QYHeKKMTtKVVUVXnnlFaXDICInxNnPiIiIiIjIpfH2MyIiIiIicml9APCeEiIiIiIicln/B0KsitVfCKiXAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tf.keras.utils.plot_model(bert_classifier, show_shapes=True, dpi=48)" ] }, { "cell_type": "markdown", "metadata": { "id": "sFmVG4SKZAw8" }, "source": [ "Run it on a test batch of data 10 examples from the training set. The output is the logits for the two classes:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:50.657506Z", "iopub.status.busy": "2021-03-11T18:39:50.656895Z", "iopub.status.idle": "2021-03-11T18:39:51.162287Z", "shell.execute_reply": "2021-03-11T18:39:51.162728Z" }, "id": "VTjgPbp4ZDKo" }, "outputs": [ { "data": { "text/plain": [ "array([[-0.3999117 , 0.19228943],\n", " [-0.48039404, 0.49550664],\n", " [-0.4205317 , 0.4514861 ],\n", " [-0.46268317, 0.24971014],\n", " [-0.24856849, 0.29781285],\n", " [-0.20492092, 0.33435237],\n", " [-0.16171221, 0.12575442],\n", " [-0.17115599, 0.40965632],\n", " [-0.23386969, 0.41947454],\n", " [-0.5728958 , 0.40995434]], dtype=float32)" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "glue_batch = {key: val[:10] for key, val in glue_train.items()}\n", "\n", "bert_classifier(\n", " glue_batch, training=True\n", ").numpy()" ] }, { "cell_type": "markdown", "metadata": { "id": "Q0NTdwZsQK8n" }, "source": [ "The `TransformerEncoder` in the center of the classifier above **is** the `bert_encoder`.\n", "\n", "Inspecting the encoder, we see its stack of `Transformer` layers connected to those same three inputs:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:51.167844Z", "iopub.status.busy": "2021-03-11T18:39:51.167177Z", "iopub.status.idle": "2021-03-11T18:39:51.517916Z", "shell.execute_reply": "2021-03-11T18:39:51.518356Z" }, "id": "8L__-erBwLIQ" }, "outputs": [ { "data": { "image/png": "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wOoYRHeKCTkREfWp2NhY+Pr6ws/PD+vWrcPWrVsBtCVVERER8PPzQ1lZGfLz87Fx40YoFAro9XpERERg/vz5AAB/f39s2rQJQUFBWLZsGUaPHt3t/c1mMyZOnMgpK//y+uuvSzcgpqamYtOmTZg2bRoAICgoCNu2bYPZbAZg/9wlJSXBZDIhJSUFUVFRMJlMWLNmDWJjYyGEgI+PD7RaLXJycmA2m/Hwww93iuN2bdtrvydtA7DbPgA0NzejqqoKAQEB0jKtVosVK1YgJCQEYWFhyMjIwJAhQxAREYGhQ4fCz88P4eHhyMjIgKenJ0pKSjBmzBhMmTLlzk4MUTsK0f57PyIHWrRokdM9RISI7HPkZzo0NLTbVzx7gg8GcrydO3dCpVIhKipqULZ/N+P/4w5j4JM6iYhoQJkxY4Z0RdRSgo6cx5IlSwZ1+0S9wYSciIgGlPbVVIiIBgPOISciIiIikhETciIiIiIiGfGmTuo3AQEBvCud6C5SVlZm9TTZa9euQa1WyxjR7dXV1QFoe+gLEfUcb+p0CN7USf3n4sWLcodARA4UFxeHjz76SO4wiIicDqesEBERERHJiAk5EREREZGMmJATEREREcmICTkRERERkYyYkBMRERERyYgJORERERGRjJiQExERERHJiAk5EREREZGMmJATEREREcmICTkRERERkYyYkBMRERERyYgJORERERGRjJiQExERERHJiAk5EREREZGMmJATEREREcmICTkRERERkYyYkBMRUa/t378fI0eORFBQEIxGI4KCghAYGIhbt27JaQB+OQAAIABJREFUHRoRkdO4V+4AiIjIef3sZz8DAJw5c0Za9otf/AJubm5yhURE5HR4hZyIiHrtgQcewNixY61er1q1SsaIiIicDxNyIiK6I0899RQ8PDwAAD4+PnjsscdkjoiIyLkwISciojsyb948DB06FAAQEhICV1dXmSMiInIuTMiJiOiO3HfffZgwYQLc3d3x9NNPyx0OEZHTYUJORER3LDU1Fffeey9+8YtfyB0KEZHTUQghhNxBEA02ixYtkjsEoj4lhEBZWRnGjRsndyhWysrK8NBDD8kdRo84Y8x3q8rKSvz6179GbGys3KHQ3c3AsodEMsnNzZU7BKI+ZTaboVQOrC9eFy1a5HSfNWeM+W5lMBjkDoEGiYH1LycRETmtgZaM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\n", "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tf.keras.utils.plot_model(bert_encoder, show_shapes=True, dpi=48)" ] }, { "cell_type": "markdown", "metadata": { "id": "mKAvkQc3heSy" }, "source": [ "### Restore the encoder weights\n", "\n", "When built the encoder is randomly initialized. Restore the encoder's weights from the checkpoint:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:39:54.782615Z", "iopub.status.busy": "2021-03-11T18:39:54.772553Z", "iopub.status.idle": "2021-03-11T18:41:07.904626Z", "shell.execute_reply": "2021-03-11T18:41:07.904157Z" }, "id": "97Ll2Gichd_Y" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "checkpoint = tf.train.Checkpoint(encoder=bert_encoder)\n", "checkpoint.read(\n", " os.path.join(gs_folder_bert, 'bert_model.ckpt')).assert_consumed()" ] }, { "cell_type": "markdown", "metadata": { "id": "2oHOql35k3Dd" }, "source": [ "Note: The pretrained `TransformerEncoder` is also available on [TensorFlow Hub](https://tensorflow.org/hub). See the [Hub appendix](#hub_bert) for details. " ] }, { "cell_type": "markdown", "metadata": { "id": "115caFLMk-_l" }, "source": [ "### Set up the optimizer\n", "\n", "BERT adopts the Adam optimizer with weight decay (aka \"[AdamW](https://arxiv.org/abs/1711.05101)\").\n", "It also employs a learning rate schedule that firstly warms up from 0 and then decays to 0." ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:41:07.910820Z", "iopub.status.busy": "2021-03-11T18:41:07.910085Z", "iopub.status.idle": "2021-03-11T18:41:07.912148Z", "shell.execute_reply": "2021-03-11T18:41:07.912505Z" }, "id": "w8qXKRZuCwW4" }, "outputs": [], "source": [ "# Set up epochs and steps\n", "epochs = 3\n", "batch_size = 32\n", "eval_batch_size = 32\n", "\n", "train_data_size = len(glue_train_labels)\n", "steps_per_epoch = int(train_data_size / batch_size)\n", "num_train_steps = steps_per_epoch * epochs\n", "warmup_steps = int(epochs * train_data_size * 0.1 / batch_size)\n", "\n", "# creates an optimizer with learning rate schedule\n", "optimizer = nlp.optimization.create_optimizer(\n", " 2e-5, num_train_steps=num_train_steps, num_warmup_steps=warmup_steps)" ] }, { "cell_type": "markdown", "metadata": { "id": "pXRGxiRNEHS2" }, "source": [ "This returns an `AdamWeightDecay` optimizer with the learning rate schedule set:" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:41:07.917105Z", "iopub.status.busy": "2021-03-11T18:41:07.916355Z", "iopub.status.idle": "2021-03-11T18:41:07.919585Z", "shell.execute_reply": "2021-03-11T18:41:07.919159Z" }, "id": "eQNA16bhDpky" }, "outputs": [ { "data": { "text/plain": [ "official.nlp.optimization.AdamWeightDecay" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(optimizer)" ] }, { "cell_type": "markdown", "metadata": { "id": "xqu_K71fJQB8" }, "source": [ "To see an example of how to customize the optimizer and it's schedule, see the [Optimizer schedule appendix](#optiizer_schedule)." ] }, { "cell_type": "markdown", "metadata": { "id": "78FEUOOEkoP0" }, "source": [ "### Train the model" ] }, { "cell_type": "markdown", "metadata": { "id": "OTNcA0O0nSq9" }, "source": [ "The metric is accuracy and we use sparse categorical cross-entropy as loss." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:41:07.934708Z", "iopub.status.busy": "2021-03-11T18:41:07.934135Z", "iopub.status.idle": "2021-03-11T18:42:35.874153Z", "shell.execute_reply": "2021-03-11T18:42:35.874597Z" }, "id": "nzi8hjeTQTRs" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/115 [..............................] - ETA: 23:30 - loss: 0.6495 - accuracy: 0.6875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [..............................] - ETA: 23s - loss: 0.6466 - accuracy: 0.6797 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [..............................] - ETA: 23s - loss: 0.6444 - accuracy: 0.6788" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [>.............................] - ETA: 23s - loss: 0.6425 - accuracy: 0.6790" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [>.............................] - ETA: 23s - loss: 0.6425 - accuracy: 0.6745" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [>.............................] - ETA: 22s - loss: 0.6425 - accuracy: 0.6714" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [>.............................] - ETA: 22s - loss: 0.6434 - accuracy: 0.6674" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=>............................] - ETA: 22s - loss: 0.6433 - accuracy: 0.6660" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=>............................] - ETA: 22s - loss: 0.6437 - accuracy: 0.6645" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=>............................] - ETA: 22s - loss: 0.6445 - accuracy: 0.6624" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=>............................] - ETA: 21s - loss: 0.6448 - accuracy: 0.6611" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==>...........................] - ETA: 21s - loss: 0.6450 - accuracy: 0.6600" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==>...........................] - ETA: 21s - loss: 0.6450 - accuracy: 0.6594" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==>...........................] - ETA: 21s - loss: 0.6448 - accuracy: 0.6593" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==>...........................] - ETA: 20s - loss: 0.6445 - accuracy: 0.6594" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===>..........................] - ETA: 20s - loss: 0.6441 - accuracy: 0.6597" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===>..........................] - ETA: 20s - loss: 0.6433 - accuracy: 0.6606" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===>..........................] - ETA: 20s - loss: 0.6431 - accuracy: 0.6609" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===>..........................] - ETA: 20s - loss: 0.6427 - accuracy: 0.6613" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====>.........................] - ETA: 19s - loss: 0.6424 - accuracy: 0.6616" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====>.........................] - ETA: 19s - loss: 0.6419 - accuracy: 0.6622" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====>.........................] - ETA: 19s - loss: 0.6413 - accuracy: 0.6630" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====>........................] - ETA: 19s - loss: 0.6407 - accuracy: 0.6637" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====>........................] - ETA: 19s - loss: 0.6402 - accuracy: 0.6643" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====>........................] - ETA: 18s - loss: 0.6398 - accuracy: 0.6648" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====>........................] - ETA: 18s - loss: 0.6392 - accuracy: 0.6655" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======>.......................] - ETA: 18s - loss: 0.6388 - accuracy: 0.6660" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======>.......................] - ETA: 18s - loss: 0.6384 - accuracy: 0.6665" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======>.......................] - ETA: 18s - loss: 0.6381 - accuracy: 0.6668" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======>.......................] - ETA: 17s - loss: 0.6378 - accuracy: 0.6673" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======>......................] - ETA: 17s - loss: 0.6375 - accuracy: 0.6677" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======>......................] - ETA: 17s - loss: 0.6374 - accuracy: 0.6678" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======>......................] - ETA: 17s - loss: 0.6373 - accuracy: 0.6680" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======>......................] - ETA: 16s - loss: 0.6372 - accuracy: 0.6683" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========>.....................] - ETA: 16s - loss: 0.6371 - accuracy: 0.6684" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========>.....................] - ETA: 16s - loss: 0.6371 - accuracy: 0.6685" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========>.....................] - ETA: 16s - loss: 0.6371 - accuracy: 0.6685" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========>.....................] - ETA: 16s - loss: 0.6370 - accuracy: 0.6686" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=========>....................] - ETA: 15s - loss: 0.6369 - accuracy: 0.6688" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=========>....................] - ETA: 15s - loss: 0.6368 - accuracy: 0.6689" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=========>....................] - ETA: 15s - loss: 0.6367 - accuracy: 0.6690" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=========>....................] - ETA: 15s - loss: 0.6366 - accuracy: 0.6690" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==========>...................] - ETA: 15s - loss: 0.6365 - accuracy: 0.6691" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==========>...................] - ETA: 14s - loss: 0.6364 - accuracy: 0.6691" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==========>...................] - ETA: 14s - loss: 0.6364 - accuracy: 0.6691" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===========>..................] - ETA: 14s - loss: 0.6363 - accuracy: 0.6692" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===========>..................] - ETA: 14s - loss: 0.6362 - accuracy: 0.6692" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===========>..................] - ETA: 14s - loss: 0.6361 - accuracy: 0.6693" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===========>..................] - ETA: 13s - loss: 0.6359 - accuracy: 0.6694" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [============>.................] - ETA: 13s - loss: 0.6358 - accuracy: 0.6696" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [============>.................] - ETA: 13s - loss: 0.6356 - accuracy: 0.6698" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [============>.................] - ETA: 13s - loss: 0.6354 - accuracy: 0.6700" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [============>.................] - ETA: 12s - loss: 0.6351 - accuracy: 0.6702" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=============>................] - ETA: 12s - loss: 0.6349 - accuracy: 0.6705" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=============>................] - ETA: 12s - loss: 0.6346 - accuracy: 0.6707" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=============>................] - ETA: 12s - loss: 0.6344 - accuracy: 0.6709" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=============>................] - ETA: 12s - loss: 0.6341 - accuracy: 0.6711" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==============>...............] - ETA: 11s - loss: 0.6339 - accuracy: 0.6713" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==============>...............] - ETA: 11s - loss: 0.6337 - accuracy: 0.6714" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==============>...............] - ETA: 11s - loss: 0.6335 - accuracy: 0.6716" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==============>...............] - ETA: 11s - loss: 0.6333 - accuracy: 0.6717" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===============>..............] - ETA: 11s - loss: 0.6330 - accuracy: 0.6719" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===============>..............] - ETA: 10s - loss: 0.6328 - accuracy: 0.6722" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===============>..............] - ETA: 10s - loss: 0.6325 - accuracy: 0.6724" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===============>..............] - ETA: 10s - loss: 0.6323 - accuracy: 0.6726" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [================>.............] - ETA: 10s - loss: 0.6320 - accuracy: 0.6728" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [================>.............] - ETA: 10s - loss: 0.6317 - accuracy: 0.6731" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [================>.............] - ETA: 9s - loss: 0.6315 - accuracy: 0.6733 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=================>............] - ETA: 9s - loss: 0.6312 - accuracy: 0.6735" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=================>............] - ETA: 9s - loss: 0.6309 - accuracy: 0.6738" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=================>............] - ETA: 9s - loss: 0.6307 - accuracy: 0.6740" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=================>............] - ETA: 9s - loss: 0.6304 - accuracy: 0.6743" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==================>...........] - ETA: 8s - loss: 0.6301 - accuracy: 0.6745" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==================>...........] - ETA: 8s - loss: 0.6298 - accuracy: 0.6748" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==================>...........] - ETA: 8s - loss: 0.6295 - accuracy: 0.6750" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==================>...........] - ETA: 8s - loss: 0.6293 - accuracy: 0.6752" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===================>..........] - ETA: 7s - loss: 0.6290 - accuracy: 0.6755" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===================>..........] - ETA: 7s - loss: 0.6288 - accuracy: 0.6757" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===================>..........] - ETA: 7s - loss: 0.6285 - accuracy: 0.6759" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===================>..........] - ETA: 7s - loss: 0.6282 - accuracy: 0.6761" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====================>.........] - ETA: 7s - loss: 0.6279 - accuracy: 0.6763" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====================>.........] - ETA: 6s - loss: 0.6277 - accuracy: 0.6766" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====================>.........] - ETA: 6s - loss: 0.6274 - accuracy: 0.6768" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====================>.........] - ETA: 6s - loss: 0.6271 - accuracy: 0.6771" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====================>........] - ETA: 6s - loss: 0.6268 - accuracy: 0.6773" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====================>........] - ETA: 6s - loss: 0.6265 - accuracy: 0.6775" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====================>........] - ETA: 5s - loss: 0.6263 - accuracy: 0.6777" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====================>........] - ETA: 5s - loss: 0.6260 - accuracy: 0.6779" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======================>.......] - ETA: 5s - loss: 0.6257 - accuracy: 0.6781" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======================>.......] - ETA: 5s - loss: 0.6255 - accuracy: 0.6783" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======================>.......] - ETA: 5s - loss: 0.6252 - accuracy: 0.6785" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======================>......] - ETA: 4s - loss: 0.6249 - accuracy: 0.6787" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======================>......] - ETA: 4s - loss: 0.6246 - accuracy: 0.6790" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======================>......] - ETA: 4s - loss: 0.6243 - accuracy: 0.6792" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======================>......] - ETA: 4s - loss: 0.6240 - accuracy: 0.6794" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========================>.....] - ETA: 3s - loss: 0.6238 - accuracy: 0.6796" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========================>.....] - ETA: 3s - loss: 0.6235 - accuracy: 0.6799" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========================>.....] - ETA: 3s - loss: 0.6232 - accuracy: 0.6801" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========================>.....] - ETA: 3s - loss: 0.6229 - accuracy: 0.6803" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "100/115 [=========================>....] - ETA: 3s - loss: 0.6226 - accuracy: 0.6806" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "101/115 [=========================>....] - ETA: 2s - loss: 0.6223 - accuracy: 0.6808" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "102/115 [=========================>....] - ETA: 2s - loss: 0.6220 - accuracy: 0.6810" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "103/115 [=========================>....] - ETA: 2s - loss: 0.6216 - accuracy: 0.6813" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "104/115 [==========================>...] - ETA: 2s - loss: 0.6213 - accuracy: 0.6815" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "105/115 [==========================>...] - ETA: 2s - loss: 0.6210 - accuracy: 0.6818" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "106/115 [==========================>...] - ETA: 1s - loss: 0.6207 - accuracy: 0.6820" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "107/115 [==========================>...] - ETA: 1s - loss: 0.6204 - accuracy: 0.6822" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "108/115 [===========================>..] - ETA: 1s - loss: 0.6200 - accuracy: 0.6825" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "109/115 [===========================>..] - ETA: 1s - loss: 0.6197 - accuracy: 0.6827" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "110/115 [===========================>..] - ETA: 1s - loss: 0.6194 - accuracy: 0.6830" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "111/115 [===========================>..] - ETA: 0s - loss: 0.6191 - accuracy: 0.6832" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "112/115 [============================>.] - ETA: 0s - loss: 0.6187 - accuracy: 0.6835" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "113/115 [============================>.] - ETA: 0s - loss: 0.6184 - accuracy: 0.6837" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "114/115 [============================>.] - ETA: 0s - loss: 0.6181 - accuracy: 0.6839" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "115/115 [==============================] - ETA: 0s - loss: 0.6178 - accuracy: 0.6842" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "115/115 [==============================] - 38s 229ms/step - loss: 0.6175 - accuracy: 0.6844 - val_loss: 0.4610 - val_accuracy: 0.7892\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/115 [..............................] - ETA: 23s - loss: 0.3665 - accuracy: 0.8125" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [..............................] - ETA: 23s - loss: 0.4168 - accuracy: 0.7891" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [..............................] - ETA: 23s - loss: 0.4202 - accuracy: 0.7969" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [>.............................] - ETA: 23s - loss: 0.4331 - accuracy: 0.7969" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [>.............................] - ETA: 23s - loss: 0.4452 - accuracy: 0.7925" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [>.............................] - ETA: 22s - loss: 0.4492 - accuracy: 0.7932" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [>.............................] - ETA: 22s - loss: 0.4528 - accuracy: 0.7934" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=>............................] - ETA: 22s - loss: 0.4557 - accuracy: 0.7924" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=>............................] - ETA: 22s - loss: 0.4571 - accuracy: 0.7919" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=>............................] - ETA: 21s - loss: 0.4568 - accuracy: 0.7924" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=>............................] - ETA: 21s - loss: 0.4567 - accuracy: 0.7927" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==>...........................] - ETA: 21s - loss: 0.4565 - accuracy: 0.7933" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==>...........................] - ETA: 21s - loss: 0.4562 - accuracy: 0.7936" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==>...........................] - ETA: 21s - loss: 0.4570 - accuracy: 0.7935" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==>...........................] - ETA: 20s - loss: 0.4579 - accuracy: 0.7933" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===>..........................] - ETA: 20s - loss: 0.4582 - accuracy: 0.7934" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===>..........................] - ETA: 20s - loss: 0.4589 - accuracy: 0.7931" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===>..........................] - ETA: 20s - loss: 0.4595 - accuracy: 0.7928" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===>..........................] - ETA: 20s - loss: 0.4596 - accuracy: 0.7929" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====>.........................] - ETA: 19s - loss: 0.4594 - accuracy: 0.7931" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====>.........................] - ETA: 19s - loss: 0.4591 - accuracy: 0.7934" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====>.........................] - ETA: 19s - loss: 0.4590 - accuracy: 0.7936" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====>........................] - ETA: 19s - loss: 0.4589 - accuracy: 0.7936" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====>........................] - ETA: 19s - loss: 0.4588 - accuracy: 0.7936" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====>........................] - ETA: 18s - loss: 0.4589 - accuracy: 0.7935" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====>........................] - ETA: 18s - loss: 0.4589 - accuracy: 0.7935" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======>.......................] - ETA: 18s - loss: 0.4589 - accuracy: 0.7934" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======>.......................] - ETA: 18s - loss: 0.4589 - accuracy: 0.7934" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======>.......................] - ETA: 17s - loss: 0.4587 - accuracy: 0.7934" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======>.......................] - ETA: 17s - loss: 0.4583 - accuracy: 0.7935" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======>......................] - ETA: 17s - loss: 0.4579 - accuracy: 0.7937" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======>......................] - ETA: 17s - loss: 0.4576 - accuracy: 0.7938" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======>......................] - ETA: 17s - loss: 0.4573 - accuracy: 0.7940" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======>......................] - ETA: 16s - loss: 0.4568 - accuracy: 0.7941" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========>.....................] - ETA: 16s - loss: 0.4563 - accuracy: 0.7943" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========>.....................] - ETA: 16s - loss: 0.4557 - accuracy: 0.7945" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========>.....................] - ETA: 16s - loss: 0.4551 - accuracy: 0.7948" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========>.....................] - ETA: 16s - loss: 0.4545 - accuracy: 0.7951" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=========>....................] - ETA: 15s - loss: 0.4539 - accuracy: 0.7953" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=========>....................] - ETA: 15s - loss: 0.4532 - accuracy: 0.7956" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=========>....................] - ETA: 15s - loss: 0.4526 - accuracy: 0.7959" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=========>....................] - ETA: 15s - loss: 0.4519 - accuracy: 0.7962" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==========>...................] - ETA: 15s - loss: 0.4512 - accuracy: 0.7966" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==========>...................] - ETA: 14s - loss: 0.4505 - accuracy: 0.7970" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==========>...................] - ETA: 14s - loss: 0.4498 - accuracy: 0.7973" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===========>..................] - ETA: 14s - loss: 0.4491 - accuracy: 0.7977" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===========>..................] - ETA: 14s - loss: 0.4484 - accuracy: 0.7980" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===========>..................] - ETA: 14s - loss: 0.4478 - accuracy: 0.7983" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===========>..................] - ETA: 13s - loss: 0.4471 - accuracy: 0.7987" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [============>.................] - ETA: 13s - loss: 0.4463 - accuracy: 0.7990" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [============>.................] - ETA: 13s - loss: 0.4457 - accuracy: 0.7994" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [============>.................] - ETA: 13s - loss: 0.4450 - accuracy: 0.7997" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [============>.................] - ETA: 12s - loss: 0.4443 - accuracy: 0.8001" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=============>................] - ETA: 12s - loss: 0.4437 - accuracy: 0.8005" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=============>................] - ETA: 12s - loss: 0.4430 - accuracy: 0.8008" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=============>................] - ETA: 12s - loss: 0.4423 - accuracy: 0.8012" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=============>................] - ETA: 12s - loss: 0.4417 - accuracy: 0.8016" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==============>...............] - ETA: 11s - loss: 0.4410 - accuracy: 0.8019" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==============>...............] - ETA: 11s - loss: 0.4404 - accuracy: 0.8023" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==============>...............] - ETA: 11s - loss: 0.4397 - accuracy: 0.8027" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==============>...............] - ETA: 11s - loss: 0.4391 - accuracy: 0.8030" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===============>..............] - ETA: 11s - loss: 0.4385 - accuracy: 0.8033" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===============>..............] - ETA: 10s - loss: 0.4379 - accuracy: 0.8036" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===============>..............] - ETA: 10s - loss: 0.4372 - accuracy: 0.8040" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===============>..............] - ETA: 10s - loss: 0.4366 - accuracy: 0.8043" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [================>.............] - ETA: 10s - loss: 0.4359 - accuracy: 0.8046" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [================>.............] - ETA: 10s - loss: 0.4354 - accuracy: 0.8049" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [================>.............] - ETA: 9s - loss: 0.4348 - accuracy: 0.8052 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=================>............] - ETA: 9s - loss: 0.4342 - accuracy: 0.8055" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=================>............] - ETA: 9s - loss: 0.4338 - accuracy: 0.8057" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=================>............] - ETA: 9s - loss: 0.4333 - accuracy: 0.8059" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=================>............] - ETA: 8s - loss: 0.4329 - accuracy: 0.8062" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==================>...........] - ETA: 8s - loss: 0.4325 - accuracy: 0.8064" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==================>...........] - ETA: 8s - loss: 0.4321 - accuracy: 0.8066" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==================>...........] - ETA: 8s - loss: 0.4317 - accuracy: 0.8068" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==================>...........] - ETA: 8s - loss: 0.4313 - accuracy: 0.8070" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===================>..........] - ETA: 7s - loss: 0.4309 - accuracy: 0.8073" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===================>..........] - ETA: 7s - loss: 0.4305 - accuracy: 0.8075" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===================>..........] - ETA: 7s - loss: 0.4302 - accuracy: 0.8076" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===================>..........] - ETA: 7s - loss: 0.4298 - accuracy: 0.8078" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====================>.........] - ETA: 7s - loss: 0.4295 - accuracy: 0.8080" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====================>.........] - ETA: 6s - loss: 0.4292 - accuracy: 0.8082" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====================>.........] - ETA: 6s - loss: 0.4289 - accuracy: 0.8083" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====================>.........] - ETA: 6s - loss: 0.4287 - accuracy: 0.8084" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====================>........] - ETA: 6s - loss: 0.4284 - accuracy: 0.8085" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====================>........] - ETA: 6s - loss: 0.4282 - accuracy: 0.8087" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====================>........] - ETA: 5s - loss: 0.4279 - accuracy: 0.8088" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====================>........] - ETA: 5s - loss: 0.4277 - accuracy: 0.8089" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======================>.......] - ETA: 5s - loss: 0.4275 - accuracy: 0.8090" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======================>.......] - ETA: 5s - loss: 0.4272 - accuracy: 0.8091" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======================>.......] - ETA: 5s - loss: 0.4270 - accuracy: 0.8093" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======================>......] - ETA: 4s - loss: 0.4267 - accuracy: 0.8094" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======================>......] - ETA: 4s - loss: 0.4265 - accuracy: 0.8095" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======================>......] - ETA: 4s - loss: 0.4262 - accuracy: 0.8097" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======================>......] - ETA: 4s - loss: 0.4260 - accuracy: 0.8098" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========================>.....] - ETA: 3s - loss: 0.4257 - accuracy: 0.8099" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========================>.....] - ETA: 3s - loss: 0.4255 - accuracy: 0.8101" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========================>.....] - ETA: 3s - loss: 0.4252 - accuracy: 0.8102" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========================>.....] - ETA: 3s - loss: 0.4249 - accuracy: 0.8104" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "100/115 [=========================>....] - ETA: 3s - loss: 0.4247 - accuracy: 0.8105" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "101/115 [=========================>....] - ETA: 2s - loss: 0.4244 - accuracy: 0.8106" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "102/115 [=========================>....] - ETA: 2s - loss: 0.4242 - accuracy: 0.8107" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "103/115 [=========================>....] - ETA: 2s - loss: 0.4239 - accuracy: 0.8109" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "104/115 [==========================>...] - ETA: 2s - loss: 0.4237 - accuracy: 0.8110" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "105/115 [==========================>...] - ETA: 2s - loss: 0.4234 - accuracy: 0.8111" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "106/115 [==========================>...] - ETA: 1s - loss: 0.4232 - accuracy: 0.8113" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "107/115 [==========================>...] - ETA: 1s - loss: 0.4229 - accuracy: 0.8114" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "108/115 [===========================>..] - ETA: 1s - loss: 0.4227 - accuracy: 0.8115" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "109/115 [===========================>..] - ETA: 1s - loss: 0.4224 - accuracy: 0.8116" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "110/115 [===========================>..] - ETA: 1s - loss: 0.4222 - accuracy: 0.8118" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "111/115 [===========================>..] - ETA: 0s - loss: 0.4219 - accuracy: 0.8119" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "112/115 [============================>.] - ETA: 0s - loss: 0.4217 - accuracy: 0.8120" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "113/115 [============================>.] - ETA: 0s - loss: 0.4214 - accuracy: 0.8122" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "114/115 [============================>.] - ETA: 0s - loss: 0.4212 - accuracy: 0.8123" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "115/115 [==============================] - ETA: 0s - loss: 0.4210 - accuracy: 0.8124" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "115/115 [==============================] - 25s 215ms/step - loss: 0.4207 - accuracy: 0.8125 - val_loss: 0.3859 - val_accuracy: 0.8211\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3/3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", " 1/115 [..............................] - ETA: 23s - loss: 0.3872 - accuracy: 0.9062" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [..............................] - ETA: 23s - loss: 0.3816 - accuracy: 0.8984" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [..............................] - ETA: 23s - loss: 0.3765 - accuracy: 0.8976" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [>.............................] - ETA: 23s - loss: 0.3720 - accuracy: 0.8958" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [>.............................] - ETA: 22s - loss: 0.3641 - accuracy: 0.8967" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [>.............................] - ETA: 22s - loss: 0.3581 - accuracy: 0.8957" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [>.............................] - ETA: 22s - loss: 0.3553 - accuracy: 0.8953" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=>............................] - ETA: 22s - loss: 0.3527 - accuracy: 0.8942" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=>............................] - ETA: 22s - loss: 0.3502 - accuracy: 0.8932" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=>............................] - ETA: 21s - loss: 0.3475 - accuracy: 0.8933" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=>............................] - ETA: 21s - loss: 0.3453 - accuracy: 0.8929" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==>...........................] - ETA: 21s - loss: 0.3429 - accuracy: 0.8929" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==>...........................] - ETA: 21s - loss: 0.3403 - accuracy: 0.8930" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==>...........................] - ETA: 21s - loss: 0.3379 - accuracy: 0.8929" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==>...........................] - ETA: 20s - loss: 0.3362 - accuracy: 0.8922" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===>..........................] - ETA: 20s - loss: 0.3340 - accuracy: 0.8921" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===>..........................] - ETA: 20s - loss: 0.3320 - accuracy: 0.8921" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===>..........................] - ETA: 20s - loss: 0.3300 - accuracy: 0.8923" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===>..........................] - ETA: 20s - loss: 0.3281 - accuracy: 0.8925" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====>.........................] - ETA: 19s - loss: 0.3263 - accuracy: 0.8928" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====>.........................] - ETA: 19s - loss: 0.3243 - accuracy: 0.8932" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====>.........................] - ETA: 19s - loss: 0.3225 - accuracy: 0.8936" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====>........................] - ETA: 19s - loss: 0.3210 - accuracy: 0.8938" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====>........................] - ETA: 18s - loss: 0.3198 - accuracy: 0.8939" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====>........................] - ETA: 18s - loss: 0.3185 - accuracy: 0.8941" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====>........................] - ETA: 18s - loss: 0.3172 - accuracy: 0.8942" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======>.......................] - ETA: 18s - loss: 0.3163 - accuracy: 0.8943" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======>.......................] - ETA: 18s - loss: 0.3155 - accuracy: 0.8943" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======>.......................] - ETA: 17s - loss: 0.3145 - accuracy: 0.8943" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======>.......................] - ETA: 17s - loss: 0.3138 - accuracy: 0.8942" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======>......................] - ETA: 17s - loss: 0.3131 - accuracy: 0.8941" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======>......................] - ETA: 17s - loss: 0.3124 - accuracy: 0.8940" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======>......................] - ETA: 17s - loss: 0.3119 - accuracy: 0.8939" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======>......................] - ETA: 16s - loss: 0.3114 - accuracy: 0.8937" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========>.....................] - ETA: 16s - loss: 0.3109 - accuracy: 0.8935" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========>.....................] - ETA: 16s - loss: 0.3104 - accuracy: 0.8934" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========>.....................] - ETA: 16s - loss: 0.3099 - accuracy: 0.8933" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========>.....................] - ETA: 16s - loss: 0.3094 - accuracy: 0.8932" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=========>....................] - ETA: 15s - loss: 0.3090 - accuracy: 0.8931" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=========>....................] - ETA: 15s - loss: 0.3087 - accuracy: 0.8928" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=========>....................] - ETA: 15s - loss: 0.3086 - accuracy: 0.8925" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=========>....................] - ETA: 15s - loss: 0.3085 - accuracy: 0.8922" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==========>...................] - ETA: 15s - loss: 0.3084 - accuracy: 0.8919" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==========>...................] - ETA: 14s - loss: 0.3083 - accuracy: 0.8916" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==========>...................] - ETA: 14s - loss: 0.3083 - accuracy: 0.8914" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===========>..................] - ETA: 14s - loss: 0.3082 - accuracy: 0.8911" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===========>..................] - ETA: 14s - loss: 0.3081 - accuracy: 0.8909" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===========>..................] - ETA: 13s - loss: 0.3080 - accuracy: 0.8907" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===========>..................] - ETA: 13s - loss: 0.3079 - accuracy: 0.8905" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [============>.................] - ETA: 13s - loss: 0.3077 - accuracy: 0.8903" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [============>.................] - ETA: 13s - loss: 0.3076 - accuracy: 0.8902" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [============>.................] - ETA: 13s - loss: 0.3074 - accuracy: 0.8901" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [============>.................] - ETA: 12s - loss: 0.3072 - accuracy: 0.8899" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=============>................] - ETA: 12s - loss: 0.3071 - accuracy: 0.8898" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=============>................] - ETA: 12s - loss: 0.3069 - accuracy: 0.8897" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=============>................] - ETA: 12s - loss: 0.3068 - accuracy: 0.8896" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=============>................] - ETA: 12s - loss: 0.3067 - accuracy: 0.8895" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==============>...............] - ETA: 11s - loss: 0.3066 - accuracy: 0.8894" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==============>...............] - ETA: 11s - loss: 0.3065 - accuracy: 0.8892" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==============>...............] - ETA: 11s - loss: 0.3065 - accuracy: 0.8891" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==============>...............] - ETA: 11s - loss: 0.3065 - accuracy: 0.8889" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===============>..............] - ETA: 11s - loss: 0.3065 - accuracy: 0.8887" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===============>..............] - ETA: 10s - loss: 0.3064 - accuracy: 0.8885" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===============>..............] - ETA: 10s - loss: 0.3064 - accuracy: 0.8884" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===============>..............] - ETA: 10s - loss: 0.3063 - accuracy: 0.8882" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [================>.............] - ETA: 10s - loss: 0.3062 - accuracy: 0.8881" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [================>.............] - ETA: 10s - loss: 0.3061 - accuracy: 0.8880" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [================>.............] - ETA: 9s - loss: 0.3060 - accuracy: 0.8879 " ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=================>............] - ETA: 9s - loss: 0.3060 - accuracy: 0.8878" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=================>............] - ETA: 9s - loss: 0.3059 - accuracy: 0.8876" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=================>............] - ETA: 9s - loss: 0.3058 - accuracy: 0.8875" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=================>............] - ETA: 8s - loss: 0.3057 - accuracy: 0.8874" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==================>...........] - ETA: 8s - loss: 0.3057 - accuracy: 0.8873" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==================>...........] - ETA: 8s - loss: 0.3056 - accuracy: 0.8872" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==================>...........] - ETA: 8s - loss: 0.3055 - accuracy: 0.8871" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [==================>...........] - ETA: 8s - loss: 0.3055 - accuracy: 0.8870" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===================>..........] - ETA: 7s - loss: 0.3054 - accuracy: 0.8869" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===================>..........] - ETA: 7s - loss: 0.3053 - accuracy: 0.8868" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===================>..........] - ETA: 7s - loss: 0.3052 - accuracy: 0.8867" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [===================>..........] - ETA: 7s - loss: 0.3051 - accuracy: 0.8866" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====================>.........] - ETA: 7s - loss: 0.3049 - accuracy: 0.8866" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====================>.........] - ETA: 6s - loss: 0.3048 - accuracy: 0.8865" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====================>.........] - ETA: 6s - loss: 0.3047 - accuracy: 0.8865" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [====================>.........] - ETA: 6s - loss: 0.3045 - accuracy: 0.8865" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====================>........] - ETA: 6s - loss: 0.3044 - accuracy: 0.8864" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====================>........] - ETA: 6s - loss: 0.3042 - accuracy: 0.8864" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====================>........] - ETA: 5s - loss: 0.3040 - accuracy: 0.8864" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=====================>........] - ETA: 5s - loss: 0.3038 - accuracy: 0.8864" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======================>.......] - ETA: 5s - loss: 0.3037 - accuracy: 0.8864" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======================>.......] - ETA: 5s - loss: 0.3035 - accuracy: 0.8864" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [======================>.......] - ETA: 5s - loss: 0.3033 - accuracy: 0.8864" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======================>......] - ETA: 4s - loss: 0.3032 - accuracy: 0.8863" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======================>......] - ETA: 4s - loss: 0.3030 - accuracy: 0.8863" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======================>......] - ETA: 4s - loss: 0.3028 - accuracy: 0.8863" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [=======================>......] - ETA: 4s - loss: 0.3027 - accuracy: 0.8863" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========================>.....] - ETA: 3s - loss: 0.3025 - accuracy: 0.8863" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========================>.....] - ETA: 3s - loss: 0.3023 - accuracy: 0.8863" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========================>.....] - ETA: 3s - loss: 0.3022 - accuracy: 0.8863" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\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/115 [========================>.....] - ETA: 3s - loss: 0.3020 - accuracy: 0.8863" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "100/115 [=========================>....] - ETA: 3s - loss: 0.3018 - accuracy: 0.8863" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "101/115 [=========================>....] - ETA: 2s - loss: 0.3016 - accuracy: 0.8864" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "102/115 [=========================>....] - ETA: 2s - loss: 0.3015 - accuracy: 0.8864" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "103/115 [=========================>....] - ETA: 2s - loss: 0.3013 - accuracy: 0.8864" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "104/115 [==========================>...] - ETA: 2s - loss: 0.3011 - accuracy: 0.8864" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "105/115 [==========================>...] - ETA: 2s - loss: 0.3009 - accuracy: 0.8865" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "106/115 [==========================>...] - ETA: 1s - loss: 0.3007 - accuracy: 0.8865" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "107/115 [==========================>...] - ETA: 1s - loss: 0.3005 - accuracy: 0.8865" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "108/115 [===========================>..] - ETA: 1s - loss: 0.3003 - accuracy: 0.8866" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "109/115 [===========================>..] - ETA: 1s - loss: 0.3002 - accuracy: 0.8866" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "110/115 [===========================>..] - ETA: 1s - loss: 0.3000 - accuracy: 0.8866" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "111/115 [===========================>..] - ETA: 0s - loss: 0.2998 - accuracy: 0.8866" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "112/115 [============================>.] - ETA: 0s - loss: 0.2997 - accuracy: 0.8867" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "113/115 [============================>.] - ETA: 0s - loss: 0.2995 - accuracy: 0.8867" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "114/115 [============================>.] - ETA: 0s - loss: 0.2993 - accuracy: 0.8867" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "115/115 [==============================] - ETA: 0s - loss: 0.2992 - accuracy: 0.8867" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r", "115/115 [==============================] - 25s 215ms/step - loss: 0.2990 - accuracy: 0.8867 - val_loss: 0.3759 - val_accuracy: 0.8407\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "metrics = [tf.keras.metrics.SparseCategoricalAccuracy('accuracy', dtype=tf.float32)]\n", "loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)\n", "\n", "bert_classifier.compile(\n", " optimizer=optimizer,\n", " loss=loss,\n", " metrics=metrics)\n", "\n", "bert_classifier.fit(\n", " glue_train, glue_train_labels,\n", " validation_data=(glue_validation, glue_validation_labels),\n", " batch_size=32,\n", " epochs=epochs)" ] }, { "cell_type": "markdown", "metadata": { "id": "IFtKFWbNKb0u" }, "source": [ "Now run the fine-tuned model on a custom example to see that it works.\n", "\n", "Start by encoding some sentence pairs:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:42:35.881041Z", "iopub.status.busy": "2021-03-11T18:42:35.880290Z", "iopub.status.idle": "2021-03-11T18:42:35.893839Z", "shell.execute_reply": "2021-03-11T18:42:35.893369Z" }, "id": "9ZoUgDUNJPz3" }, "outputs": [], "source": [ "my_examples = bert_encode(\n", " glue_dict = {\n", " 'sentence1':[\n", " 'The rain in Spain falls mainly on the plain.',\n", " 'Look I fine tuned BERT.'],\n", " 'sentence2':[\n", " 'It mostly rains on the flat lands of Spain.',\n", " 'Is it working? This does not match.']\n", " },\n", " tokenizer=tokenizer)" ] }, { "cell_type": "markdown", "metadata": { "id": "7ynJibkBRTJF" }, "source": [ "The model should report class `1` \"match\" for the first example and class `0` \"no-match\" for the second:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:42:35.900045Z", "iopub.status.busy": "2021-03-11T18:42:35.899380Z", "iopub.status.idle": "2021-03-11T18:42:35.979087Z", "shell.execute_reply": "2021-03-11T18:42:35.978651Z" }, "id": "umo0ttrgRYIM" }, "outputs": [ { "data": { "text/plain": [ "array([1, 0])" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "result = bert_classifier(my_examples, training=False)\n", "\n", "result = tf.argmax(result).numpy()\n", "result" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:42:35.983298Z", "iopub.status.busy": "2021-03-11T18:42:35.982686Z", "iopub.status.idle": "2021-03-11T18:42:35.986054Z", "shell.execute_reply": "2021-03-11T18:42:35.985610Z" }, "id": "utGl0M3aZCE4" }, "outputs": [ { "data": { "text/plain": [ "array(['equivalent', 'not_equivalent'], dtype='\n", "### Re-encoding a large dataset" ] }, { "cell_type": "markdown", "metadata": { "id": "CwUdjFBkzUgh" }, "source": [ "This tutorial you re-encoded the dataset in memory, for clarity.\n", "\n", "This was only possible because `glue/mrpc` is a very small dataset. To deal with larger datasets `tf_models` library includes some tools for processing and re-encoding a dataset for efficient training." ] }, { "cell_type": "markdown", "metadata": { "id": "2UTQrkyOT5wD" }, "source": [ "The first step is to describe which features of the dataset should be transformed:" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:42:56.547833Z", "iopub.status.busy": "2021-03-11T18:42:56.547192Z", "iopub.status.idle": "2021-03-11T18:42:59.542430Z", "shell.execute_reply": "2021-03-11T18:42:59.541849Z" }, "id": "XQeDFOzYR9Z9" }, "outputs": [], "source": [ "processor = nlp.data.classifier_data_lib.TfdsProcessor(\n", " tfds_params=\"dataset=glue/mrpc,text_key=sentence1,text_b_key=sentence2\",\n", " process_text_fn=bert.tokenization.convert_to_unicode)" ] }, { "cell_type": "markdown", "metadata": { "id": "XrFQbfErUWxa" }, "source": [ "Then apply the transformation to generate new TFRecord files." ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:42:59.548724Z", "iopub.status.busy": "2021-03-11T18:42:59.548136Z", "iopub.status.idle": "2021-03-11T18:43:04.534590Z", "shell.execute_reply": "2021-03-11T18:43:04.534032Z" }, "id": "ymw7GOHpSHKU" }, "outputs": [], "source": [ "# Set up output of training and evaluation Tensorflow dataset\n", "train_data_output_path=\"./mrpc_train.tf_record\"\n", "eval_data_output_path=\"./mrpc_eval.tf_record\"\n", "\n", "max_seq_length = 128\n", "batch_size = 32\n", "eval_batch_size = 32\n", "\n", "# Generate and save training data into a tf record file\n", "input_meta_data = (\n", " nlp.data.classifier_data_lib.generate_tf_record_from_data_file(\n", " processor=processor,\n", " data_dir=None, # It is `None` because data is from tfds, not local dir.\n", " tokenizer=tokenizer,\n", " train_data_output_path=train_data_output_path,\n", " eval_data_output_path=eval_data_output_path,\n", " max_seq_length=max_seq_length))" ] }, { "cell_type": "markdown", "metadata": { "id": "uX_Sp-wTUoRm" }, "source": [ "Finally create `tf.data` input pipelines from those TFRecord files:" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:43:04.539809Z", "iopub.status.busy": "2021-03-11T18:43:04.539040Z", "iopub.status.idle": "2021-03-11T18:43:04.711019Z", "shell.execute_reply": "2021-03-11T18:43:04.710503Z" }, "id": "rkHxIK57SQ_r" }, "outputs": [], "source": [ "training_dataset = bert.run_classifier.get_dataset_fn(\n", " train_data_output_path,\n", " max_seq_length,\n", " batch_size,\n", " is_training=True)()\n", "\n", "evaluation_dataset = bert.run_classifier.get_dataset_fn(\n", " eval_data_output_path,\n", " max_seq_length,\n", " eval_batch_size,\n", " is_training=False)()\n" ] }, { "cell_type": "markdown", "metadata": { "id": "stbaVouogvzS" }, "source": [ "The resulting `tf.data.Datasets` return `(features, labels)` pairs, as expected by `keras.Model.fit`:" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:43:04.716081Z", "iopub.status.busy": "2021-03-11T18:43:04.715386Z", "iopub.status.idle": "2021-03-11T18:43:04.718024Z", "shell.execute_reply": "2021-03-11T18:43:04.718438Z" }, "id": "gwhrlQl4gxVF" }, "outputs": [ { "data": { "text/plain": [ "({'input_word_ids': TensorSpec(shape=(32, 128), dtype=tf.int32, name=None),\n", " 'input_mask': TensorSpec(shape=(32, 128), dtype=tf.int32, name=None),\n", " 'input_type_ids': TensorSpec(shape=(32, 128), dtype=tf.int32, name=None)},\n", " TensorSpec(shape=(32,), dtype=tf.int32, name=None))" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "training_dataset.element_spec" ] }, { "cell_type": "markdown", "metadata": { "id": "dbJ76vSJj77j" }, "source": [ "#### Create tf.data.Dataset for training and evaluation\n" ] }, { "cell_type": "markdown", "metadata": { "id": "9J95LFRohiYw" }, "source": [ "If you need to modify the data loading here is some code to get you started:" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:43:04.727054Z", "iopub.status.busy": "2021-03-11T18:43:04.726248Z", "iopub.status.idle": "2021-03-11T18:43:04.728473Z", "shell.execute_reply": "2021-03-11T18:43:04.728044Z" }, "id": "gCvaLLAxPuMc" }, "outputs": [], "source": [ "def create_classifier_dataset(file_path, seq_length, batch_size, is_training):\n", " \"\"\"Creates input dataset from (tf)records files for train/eval.\"\"\"\n", " dataset = tf.data.TFRecordDataset(file_path)\n", " if is_training:\n", " dataset = dataset.shuffle(100)\n", " dataset = dataset.repeat()\n", "\n", " def decode_record(record):\n", " name_to_features = {\n", " 'input_ids': tf.io.FixedLenFeature([seq_length], tf.int64),\n", " 'input_mask': tf.io.FixedLenFeature([seq_length], tf.int64),\n", " 'segment_ids': tf.io.FixedLenFeature([seq_length], tf.int64),\n", " 'label_ids': tf.io.FixedLenFeature([], tf.int64),\n", " }\n", " return tf.io.parse_single_example(record, name_to_features)\n", "\n", " def _select_data_from_record(record):\n", " x = {\n", " 'input_word_ids': record['input_ids'],\n", " 'input_mask': record['input_mask'],\n", " 'input_type_ids': record['segment_ids']\n", " }\n", " y = record['label_ids']\n", " return (x, y)\n", "\n", " dataset = dataset.map(decode_record,\n", " num_parallel_calls=tf.data.experimental.AUTOTUNE)\n", " dataset = dataset.map(\n", " _select_data_from_record,\n", " num_parallel_calls=tf.data.experimental.AUTOTUNE)\n", " dataset = dataset.batch(batch_size, drop_remainder=is_training)\n", " dataset = dataset.prefetch(tf.data.experimental.AUTOTUNE)\n", " return dataset" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:43:04.733050Z", "iopub.status.busy": "2021-03-11T18:43:04.732415Z", "iopub.status.idle": "2021-03-11T18:43:04.838677Z", "shell.execute_reply": "2021-03-11T18:43:04.839076Z" }, "id": "rutkBadrhzdR" }, "outputs": [], "source": [ "# Set up batch sizes\n", "batch_size = 32\n", "eval_batch_size = 32\n", "\n", "# Return Tensorflow dataset\n", "training_dataset = create_classifier_dataset(\n", " train_data_output_path,\n", " input_meta_data['max_seq_length'],\n", " batch_size,\n", " is_training=True)\n", "\n", "evaluation_dataset = create_classifier_dataset(\n", " eval_data_output_path,\n", " input_meta_data['max_seq_length'],\n", " eval_batch_size,\n", " is_training=False)" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:43:04.843776Z", "iopub.status.busy": "2021-03-11T18:43:04.842976Z", "iopub.status.idle": "2021-03-11T18:43:04.846192Z", "shell.execute_reply": "2021-03-11T18:43:04.845778Z" }, "id": "59TVgt4Z7fuU" }, "outputs": [ { "data": { "text/plain": [ "({'input_word_ids': TensorSpec(shape=(32, 128), dtype=tf.int64, name=None),\n", " 'input_mask': TensorSpec(shape=(32, 128), dtype=tf.int64, name=None),\n", " 'input_type_ids': TensorSpec(shape=(32, 128), dtype=tf.int64, name=None)},\n", " TensorSpec(shape=(32,), dtype=tf.int64, name=None))" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "training_dataset.element_spec" ] }, { "cell_type": "markdown", "metadata": { "id": "QbklKt-w_CiI" }, "source": [ "\n", "\n", "### TFModels BERT on TFHub\n", "\n", "You can get [the BERT model](https://tfhub.dev/tensorflow/bert_en_uncased_L-12_H-768_A-12/2) off the shelf from [TFHub](https://tensorflow.org/hub). It would not be hard to add a classification head on top of this `hub.KerasLayer`" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:43:04.849758Z", "iopub.status.busy": "2021-03-11T18:43:04.849155Z", "iopub.status.idle": "2021-03-11T18:43:04.851651Z", "shell.execute_reply": "2021-03-11T18:43:04.851184Z" }, "id": "GDWrHm0BGpbX" }, "outputs": [], "source": [ "# Note: 350MB download.\n", "import tensorflow_hub as hub" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "cellView": "form", "execution": { "iopub.execute_input": "2021-03-11T18:43:04.855350Z", "iopub.status.busy": "2021-03-11T18:43:04.854675Z", "iopub.status.idle": "2021-03-11T18:43:04.856912Z", "shell.execute_reply": "2021-03-11T18:43:04.856461Z" }, "id": "Y29meH0qGq_5" }, "outputs": [], "source": [ "hub_model_name = \"bert_en_uncased_L-12_H-768_A-12\" #@param [\"bert_en_uncased_L-24_H-1024_A-16\", \"bert_en_wwm_cased_L-24_H-1024_A-16\", \"bert_en_uncased_L-12_H-768_A-12\", \"bert_en_wwm_uncased_L-24_H-1024_A-16\", \"bert_en_cased_L-24_H-1024_A-16\", \"bert_en_cased_L-12_H-768_A-12\", \"bert_zh_L-12_H-768_A-12\", \"bert_multi_cased_L-12_H-768_A-12\"]" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:43:04.860887Z", "iopub.status.busy": "2021-03-11T18:43:04.860292Z", "iopub.status.idle": "2021-03-11T18:43:26.249130Z", "shell.execute_reply": "2021-03-11T18:43:26.248513Z" }, "id": "lo6479At4sP1" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The Hub encoder has 199 trainable variables\n" ] } ], "source": [ "hub_encoder = hub.KerasLayer(f\"https://tfhub.dev/tensorflow/{hub_model_name}/3\",\n", " trainable=True)\n", "\n", "print(f\"The Hub encoder has {len(hub_encoder.trainable_variables)} trainable variables\")" ] }, { "cell_type": "markdown", "metadata": { "id": "iTzF574wivQv" }, "source": [ "Test run it on a batch of data:" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:43:26.255750Z", "iopub.status.busy": "2021-03-11T18:43:26.254266Z", "iopub.status.idle": "2021-03-11T18:43:26.829934Z", "shell.execute_reply": "2021-03-11T18:43:26.830317Z" }, "id": "XEcYrCR45Uwo" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pooled output shape: (10, 768)\n", "Sequence output shape: (10, 103, 768)\n" ] } ], "source": [ "result = hub_encoder(\n", " inputs=dict(\n", " input_word_ids=glue_train['input_word_ids'][:10],\n", " input_mask=glue_train['input_mask'][:10],\n", " input_type_ids=glue_train['input_type_ids'][:10],),\n", " training=False,\n", ")\n", "\n", "print(\"Pooled output shape:\", result['pooled_output'].shape)\n", "print(\"Sequence output shape:\", result['sequence_output'].shape)" ] }, { "cell_type": "markdown", "metadata": { "id": "cjojn8SmLSRI" }, "source": [ "At this point it would be simple to add a classification head yourself.\n", "\n", "The `bert_models.classifier_model` function can also build a classifier onto the encoder from TensorFlow Hub:" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:43:26.840336Z", "iopub.status.busy": "2021-03-11T18:43:26.838767Z", "iopub.status.idle": "2021-03-11T18:43:27.421329Z", "shell.execute_reply": "2021-03-11T18:43:27.420758Z" }, "id": "9nTDaApyLR70" }, "outputs": [], "source": [ "hub_classifier = nlp.modeling.models.BertClassifier(\n", " bert_encoder,\n", " num_classes=2,\n", " dropout_rate=0.1,\n", " initializer=tf.keras.initializers.TruncatedNormal(\n", " stddev=0.02))" ] }, { "cell_type": "markdown", "metadata": { "id": "xMJX3wV0_v7I" }, "source": [ "The one downside to loading this model from TFHub is that the structure of internal keras layers is not restored. So it's more difficult to inspect or modify the model. The `BertEncoder` model is now a single layer:" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:43:27.426554Z", "iopub.status.busy": "2021-03-11T18:43:27.425891Z", "iopub.status.idle": "2021-03-11T18:43:27.581929Z", "shell.execute_reply": "2021-03-11T18:43:27.581311Z" }, "id": "pD71dnvhM2QS" }, "outputs": [ { "data": { "image/png": "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juQ7QACAwUJWAwDmTOP/pPt1MZeRkREYGDhhwgQOojVLNE2PGjXqwYMHhBCKopYvX37gwAG+gxKqurq6o0eP/vd//3efezI3ahYWFl69ehXfYQLAUICsBgCGEPXnB/S88eZ3v/vdw4cPpVLp7t27HRwcuI/ZDKxatSojI6O7u3vkyJF5eXlTp07lOyLh6ejo+PTTT//85z8/e/aspaXF0tKyxw46JtXw8/NzcXHhJWwAAM4gqwGAoUuhUPz66686HpJub28fNWrU48ePraysbG1tN23atHbtWkze1V+//PLL7NmzHz16JJFI6uvrKYriOyKBuXTpUmxsrFwub21tdXJyunjx4uuvv95jlSdMgA4AQxyyGgCA/+/BgwfMuhw///zzjRs37O3tX3jhhcLCQvaZEHt7+1GjRn311Vd+fn78hio47u7uMpksMTFx165dfMciJHV1df/1X/9VUFDA/hLa2NiEhobev39fJpNNnDhxypQpzITLo0eP5jdUAAB+IasBANBMJpN98sknR44c6ejoUC+3t7d/88039+/fj1mk9bdx48adO3f+9ttv48aN4zsWYejo6EhPT9+1a5dSqezq6lJ/a968eRkZGS+88AJfsQEAmCBkNQB9ePjwYVxcHN9RAD+Kiorq6up6l1MUZWFh4e3t/eKLLw7+fqonT55YWFhYWVkN8jhcUl9VUx+tra3Xrl2bM2eOUaMyGw0NDcXFxU+fPtX4N1okEs2bN4/7qMAUvPLKK9u2beM7CgBThKwGoA81NTXz58/HrE1D04IFCx4/fmxtba1SqWiaHjlypLu7+9ixYz09Pd3c3Nzc3AwyJe7evXtfe+21N998c/CH4kxjY2NqaurBgwf1/8jPP/88ZcoU44VkTh4/flxXV1dXV3f//v3KysqampoHDx50d3dbWFioVKr29va//e1vvScMALPX1NS0c+fOoqIivgMBMEUWfAcAIABisXj69Ol8RwFco2k6OTl5zJgxY8eOHTt2rPEmQMvOzn755ZeF9TtWU1NjZ2fXr5iF1UAT1N7efvdfxo0bhxsgh6Camhq+QwAwXchqAAA0oyjqo48+4jsKgP/Pxsbmtddee+211/gOBADAFGF+UgAAMCQbGxuKooKDg9mSysrKzZs38xcRp2Qy2YYNG9rb2/vcE92izdDpmR7dIpfLKYqiKEoqlfIbGIAQ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\n", "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tf.keras.utils.plot_model(hub_classifier, show_shapes=True, dpi=64)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:43:27.588075Z", "iopub.status.busy": "2021-03-11T18:43:27.587371Z", "iopub.status.idle": "2021-03-11T18:43:27.652222Z", "shell.execute_reply": "2021-03-11T18:43:27.652608Z" }, "id": "nLZD-isBzNKi" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "AttributeError: 'KerasLayer' object has no attribute 'layers'\n" ] } ], "source": [ "try:\n", " tf.keras.utils.plot_model(hub_encoder, show_shapes=True, dpi=64)\n", " assert False\n", "except Exception as e:\n", " print(f\"{type(e).__name__}: {e}\")" ] }, { "cell_type": "markdown", "metadata": { "id": "ZxSqH0dNAgXV" }, "source": [ "\n", "\n", "### Low level model building\n", "\n", "If you need a more control over the construction of the model it's worth noting that the `classifier_model` function used earlier is really just a thin wrapper over the `nlp.modeling.networks.BertEncoder` and `nlp.modeling.models.BertClassifier` classes. Just remember that if you start modifying the architecture it may not be correct or possible to reload the pre-trained checkpoint so you'll need to retrain from scratch." ] }, { "cell_type": "markdown", "metadata": { "id": "0cgABEwDj06P" }, "source": [ "Build the encoder:" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:43:27.660714Z", "iopub.status.busy": "2021-03-11T18:43:27.659821Z", "iopub.status.idle": "2021-03-11T18:43:27.662600Z", "shell.execute_reply": "2021-03-11T18:43:27.662998Z" }, "id": "5r_yqhBFSVEM" }, "outputs": [ { "data": { "text/plain": [ "{'hidden_size': 768,\n", " 'intermediate_size': 3072,\n", " 'num_attention_heads': 12,\n", " 'type_vocab_size': 2,\n", " 'vocab_size': 30522,\n", " 'attention_dropout_rate': 0.1,\n", " 'activation': ,\n", " 'dropout_rate': 0.1,\n", " 'initializer': ,\n", " 'max_sequence_length': 512,\n", " 'num_layers': 12}" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bert_encoder_config = config_dict.copy()\n", "\n", "# You need to rename a few fields to make this work:\n", "bert_encoder_config['attention_dropout_rate'] = bert_encoder_config.pop('attention_probs_dropout_prob')\n", "bert_encoder_config['activation'] = tf_utils.get_activation(bert_encoder_config.pop('hidden_act'))\n", "bert_encoder_config['dropout_rate'] = bert_encoder_config.pop('hidden_dropout_prob')\n", "bert_encoder_config['initializer'] = tf.keras.initializers.TruncatedNormal(\n", " stddev=bert_encoder_config.pop('initializer_range'))\n", "bert_encoder_config['max_sequence_length'] = bert_encoder_config.pop('max_position_embeddings')\n", "bert_encoder_config['num_layers'] = bert_encoder_config.pop('num_hidden_layers')\n", "\n", "bert_encoder_config" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:43:27.677160Z", "iopub.status.busy": "2021-03-11T18:43:27.676455Z", "iopub.status.idle": "2021-03-11T18:43:28.569436Z", "shell.execute_reply": "2021-03-11T18:43:28.568861Z" }, "id": "rIO8MI7LLijh" }, "outputs": [], "source": [ "manual_encoder = nlp.modeling.networks.BertEncoder(**bert_encoder_config)" ] }, { "cell_type": "markdown", "metadata": { "id": "4a4tFSg9krRi" }, "source": [ "Restore the weights:" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:43:30.929973Z", "iopub.status.busy": "2021-03-11T18:43:29.642350Z", "iopub.status.idle": "2021-03-11T18:44:24.233511Z", "shell.execute_reply": "2021-03-11T18:44:24.232990Z" }, "id": "X6N9NEqfXJCx" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "checkpoint = tf.train.Checkpoint(encoder=manual_encoder)\n", "checkpoint.read(\n", " os.path.join(gs_folder_bert, 'bert_model.ckpt')).assert_consumed()" ] }, { "cell_type": "markdown", "metadata": { "id": "1BPiPO4ykuwM" }, "source": [ "Test run it:" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:44:24.240372Z", "iopub.status.busy": "2021-03-11T18:44:24.239735Z", "iopub.status.idle": "2021-03-11T18:44:24.331393Z", "shell.execute_reply": "2021-03-11T18:44:24.330807Z" }, "id": "hlVdgJKmj389" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sequence output shape: (2, 23, 768)\n", "Pooled output shape: (2, 768)\n" ] } ], "source": [ "result = manual_encoder(my_examples, training=True)\n", "\n", "print(\"Sequence output shape:\", result[0].shape)\n", "print(\"Pooled output shape:\", result[1].shape)" ] }, { "cell_type": "markdown", "metadata": { "id": "nJMXvVgJkyBv" }, "source": [ "Wrap it in a classifier:" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:44:24.341899Z", "iopub.status.busy": "2021-03-11T18:44:24.340125Z", "iopub.status.idle": "2021-03-11T18:44:24.945114Z", "shell.execute_reply": "2021-03-11T18:44:24.945554Z" }, "id": "tQX57GJ6wkAb" }, "outputs": [], "source": [ "manual_classifier = nlp.modeling.models.BertClassifier(\n", " bert_encoder,\n", " num_classes=2,\n", " dropout_rate=bert_encoder_config['dropout_rate'],\n", " initializer=bert_encoder_config['initializer'])" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:44:24.952742Z", "iopub.status.busy": "2021-03-11T18:44:24.952055Z", "iopub.status.idle": "2021-03-11T18:44:25.049163Z", "shell.execute_reply": "2021-03-11T18:44:25.049537Z" }, "id": "kB-nBWhQk0dS" }, "outputs": [ { "data": { "text/plain": [ "array([[ 0.1309041 , -0.20986415],\n", " [-0.09952673, 0.05040173]], dtype=float32)" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "manual_classifier(my_examples, training=True).numpy()" ] }, { "cell_type": "markdown", "metadata": { "id": "E6AJlOSyIO1L" }, "source": [ "\n", "\n", "### Optimizers and schedules\n", "\n", "The optimizer used to train the model was created using the `nlp.optimization.create_optimizer` function:" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:44:25.054974Z", "iopub.status.busy": "2021-03-11T18:44:25.054083Z", "iopub.status.idle": "2021-03-11T18:44:25.056236Z", "shell.execute_reply": "2021-03-11T18:44:25.056595Z" }, "id": "28Dv3BPRlFTD" }, "outputs": [], "source": [ "optimizer = nlp.optimization.create_optimizer(\n", " 2e-5, num_train_steps=num_train_steps, num_warmup_steps=warmup_steps)" ] }, { "cell_type": "markdown", "metadata": { "id": "LRjcHr0UlT8c" }, "source": [ "That high level wrapper sets up the learning rate schedules and the optimizer.\n", "\n", "The base learning rate schedule used here is a linear decay to zero over the training run:" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:44:25.061718Z", "iopub.status.busy": "2021-03-11T18:44:25.060803Z", "iopub.status.idle": "2021-03-11T18:44:25.063323Z", "shell.execute_reply": "2021-03-11T18:44:25.062846Z" }, "id": "MHY8K6kDngQn" }, "outputs": [], "source": [ "epochs = 3\n", "batch_size = 32\n", "eval_batch_size = 32\n", "\n", "train_data_size = len(glue_train_labels)\n", "steps_per_epoch = int(train_data_size / batch_size)\n", "num_train_steps = steps_per_epoch * epochs" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": true, "execution": { "iopub.execute_input": "2021-03-11T18:44:25.068432Z", "iopub.status.busy": "2021-03-11T18:44:25.067766Z", "iopub.status.idle": "2021-03-11T18:44:25.838113Z", "shell.execute_reply": "2021-03-11T18:44:25.837497Z" }, "id": "wKIcSprulu3P" }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "decay_schedule = tf.keras.optimizers.schedules.PolynomialDecay(\n", " initial_learning_rate=2e-5,\n", " decay_steps=num_train_steps,\n", " end_learning_rate=0)\n", "\n", "plt.plot([decay_schedule(n) for n in range(num_train_steps)])" ] }, { "cell_type": "markdown", "metadata": { "id": "IMTC_gfAl_PZ" }, "source": [ "This, in turn is wrapped in a `WarmUp` schedule that linearly increases the learning rate to the target value over the first 10% of training:" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:44:25.843426Z", "iopub.status.busy": "2021-03-11T18:44:25.842820Z", "iopub.status.idle": "2021-03-11T18:44:26.246122Z", "shell.execute_reply": "2021-03-11T18:44:26.246647Z" }, "id": "YRt3VTmBmCBY" }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "warmup_steps = num_train_steps * 0.1\n", "\n", "warmup_schedule = nlp.optimization.WarmUp(\n", " initial_learning_rate=2e-5,\n", " decay_schedule_fn=decay_schedule,\n", " warmup_steps=warmup_steps)\n", "\n", "# The warmup overshoots, because it warms up to the `initial_learning_rate`\n", "# following the original implementation. You can set\n", "# `initial_learning_rate=decay_schedule(warmup_steps)` if you don't like the\n", "# overshoot.\n", "plt.plot([warmup_schedule(n) for n in range(num_train_steps)])" ] }, { "cell_type": "markdown", "metadata": { "id": "l8D9Lv3Bn740" }, "source": [ "Then create the `nlp.optimization.AdamWeightDecay` using that schedule, configured for the BERT model:" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "execution": { "iopub.execute_input": "2021-03-11T18:44:26.252645Z", "iopub.status.busy": "2021-03-11T18:44:26.251503Z", "iopub.status.idle": "2021-03-11T18:44:26.253853Z", "shell.execute_reply": "2021-03-11T18:44:26.254314Z" }, "id": "2Hf2rpRXk89N" }, "outputs": [], "source": [ "optimizer = nlp.optimization.AdamWeightDecay(\n", " learning_rate=warmup_schedule,\n", " weight_decay_rate=0.01,\n", " epsilon=1e-6,\n", " exclude_from_weight_decay=['LayerNorm', 'layer_norm', 'bias'])" ] } ], "metadata": { "accelerator": "GPU", "colab": { "collapsed_sections": [], "name": "fine_tuning_bert.ipynb", "private_outputs": true, "provenance": [], "toc_visible": true }, "kernelspec": { "display_name": "Python 3", "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": 0 }