CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
y33-j3T

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.

GitHub Repository: y33-j3T/Coursera-Deep-Learning
Path: blob/master/Custom Models, Layers, and Loss Functions with TensorFlow/Week 1 - Functional APIs/C1W1_Assignment.ipynb
Views: 13372
Kernel: Python 3

Week 1: Multiple Output Models using the Keras Functional API

Welcome to the first programming assignment of the course! Your task will be to use the Keras functional API to train a model to predict two outputs. For this lab, you will use the Wine Quality Dataset from the UCI machine learning repository. It has separate datasets for red wine and white wine.

Normally, the wines are classified into one of the quality ratings specified in the attributes. In this exercise, you will combine the two datasets to predict the wine quality and whether the wine is red or white solely from the attributes.

You will model wine quality estimations as a regression problem and wine type detection as a binary classification problem.

Please complete sections that are marked (TODO)

Imports

import tensorflow as tf from tensorflow.keras.models import Model from tensorflow.keras.layers import Dense, Input import numpy as np import matplotlib.pyplot as plt import pandas as pd from sklearn.model_selection import train_test_split from sklearn.metrics import confusion_matrix import itertools import utils

Load Dataset

You will now download the dataset from the UCI Machine Learning Repository.

Pre-process the white wine dataset (TODO)

You will add a new column named is_red in your dataframe to indicate if the wine is white or red.

  • In the white wine dataset, you will fill the column is_red with zeros (0).

# Please uncomment all lines in this cell and replace those marked with `# YOUR CODE HERE`. # You can select all lines in this code cell with Ctrl+A (Windows/Linux) or Cmd+A (Mac), then press Ctrl+/ (Windows/Linux) or Cmd+/ (Mac) to uncomment. # URL of the white wine dataset URL = 'http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-white.csv' # load the dataset from the URL white_df = pd.read_csv(URL, sep=";") # fill the `is_red` column with zeros. white_df["is_red"] = 0 # keep only the first of duplicate items white_df = white_df.drop_duplicates(keep='first')
# You can click `File -> Open` in the menu above and open the `utils.py` file # in case you want to inspect the unit tests being used for each graded function. utils.test_white_df(white_df)
All public tests passed
print(white_df.alcohol[0]) print(white_df.alcohol[100]) # EXPECTED OUTPUT # 8.8 # 9.1
8.8 9.1

Pre-process the red wine dataset (TODO)

  • In the red wine dataset, you will fill in the column is_red with ones (1).

# Please uncomment all lines in this cell and replace those marked with `# YOUR CODE HERE`. # You can select all lines in this code cell with Ctrl+A (Windows/Linux) or Cmd+A (Mac), then press Ctrl+/ (Windows/Linux) or Cmd+/ (Mac) to uncomment. # URL of the red wine dataset URL = 'http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv' # load the dataset from the URL red_df = pd.read_csv(URL, sep=";") # fill the `is_red` column with ones. red_df["is_red"] = 1 # keep only the first of duplicate items red_df = red_df.drop_duplicates(keep='first')
utils.test_red_df(red_df)
All public tests passed
print(red_df.alcohol[0]) print(red_df.alcohol[100]) # EXPECTED OUTPUT # 9.4 # 10.2
9.4 10.2

Concatenate the datasets

Next, concatenate the red and white wine dataframes.

df = pd.concat([red_df, white_df], ignore_index=True)
print(df.alcohol[0]) print(df.alcohol[100]) # EXPECTED OUTPUT # 9.4 # 9.5
9.4 9.5
# NOTE: In a real-world scenario, you should shuffle the data. # YOU ARE NOT going to do that here because we want to test # with deterministic data. But if you want the code to do it, # it's in the commented line below: #df = df.iloc[np.random.permutation(len(df))]

This will chart the quality of the wines.

df['quality'].hist(bins=20);
Image in a Jupyter notebook

Imbalanced data (TODO)

You can see from the plot above that the wine quality dataset is imbalanced.

  • Since there are very few observations with quality equal to 3, 4, 8 and 9, you can drop these observations from your dataset.

  • You can do this by removing data belonging to all classes except those > 4 and < 8.

# Please uncomment all lines in this cell and replace those marked with `# YOUR CODE HERE`. # You can select all lines in this code cell with Ctrl+A (Windows/Linux) or Cmd+A (Mac), then press Ctrl+/ (Windows/Linux) or Cmd+/ (Mac) to uncomment. # get data with wine quality greater than 4 and less than 8 df = df[(df['quality'] > 4) & (df['quality'] < 8 )] # reset index and drop the old one df = df.reset_index(drop=True)
utils.test_df_drop(df)
All public tests passed
print(df.alcohol[0]) print(df.alcohol[100]) # EXPECTED OUTPUT # 9.4 # 10.9
9.4 10.9

You can plot again to see the new range of data and quality

df['quality'].hist(bins=20);
Image in a Jupyter notebook

Train Test Split (TODO)

Next, you can split the datasets into training, test and validation datasets.

  • The data frame should be split 80:20 into train and test sets.

  • The resulting train should then be split 80:20 into train and val sets.

  • The train_test_split parameter test_size takes a float value that ranges between 0. and 1, and represents the proportion of the dataset that is allocated to the test set. The rest of the data is allocated to the training set.

# Please uncomment all lines in this cell and replace those marked with `# YOUR CODE HERE`. # You can select all lines in this code cell with Ctrl+A (Windows/Linux) or Cmd+A (Mac), then press Ctrl+/ (Windows/Linux) or Cmd+/ (Mac) to uncomment. # Please do not change the random_state parameter. This is needed for grading. # split df into 80:20 train and test sets train, test = train_test_split(df, test_size=.2, random_state = 1) # split train into 80:20 train and val sets train, val = train_test_split(train, test_size=.2, random_state = 1)
utils.test_data_sizes(train.size, test.size, val.size)
All public tests passed

Here's where you can explore the training stats. You can pop the labels 'is_red' and 'quality' from the data as these will be used as the labels

train_stats = train.describe() train_stats.pop('is_red') train_stats.pop('quality') train_stats = train_stats.transpose()

Explore the training stats!

train_stats

Get the labels (TODO)

The features and labels are currently in the same dataframe.

  • You will want to store the label columns is_red and quality separately from the feature columns.

  • The following function, format_output, gets these two columns from the dataframe (it's given to you).

  • format_output also formats the data into numpy arrays.

  • Please use the format_output and apply it to the train, val and test sets to get dataframes for the labels.

def format_output(data): is_red = data.pop('is_red') is_red = np.array(is_red) quality = data.pop('quality') quality = np.array(quality) return (quality, is_red)
# Please uncomment all lines in this cell and replace those marked with `# YOUR CODE HERE`. # You can select all lines in this code cell with Ctrl+A (Windows/Linux) or Cmd+A (Mac), then press Ctrl+/ (Windows/Linux) or Cmd+/ (Mac) to uncomment. # format the output of the train set train_Y = format_output(train) # format the output of the val set val_Y = format_output(val) # format the output of the test set test_Y = format_output(test)
utils.test_format_output(df, train_Y, val_Y, test_Y)
All public tests passed

Notice that after you get the labels, the train, val and test dataframes no longer contain the label columns, and contain just the feature columns.

  • This is because you used .pop in the format_output function.

train.head()

Normalize the data (TODO)

Next, you can normalize the data, x, using the formula: xnorm=x−μσx_{norm} = \frac{x - \mu}{\sigma}

  • The norm function is defined for you.

  • Please apply the norm function to normalize the dataframes that contains the feature columns of train, val and test sets.

def norm(x): return (x - train_stats['mean']) / train_stats['std']
# Please uncomment all lines in this cell and replace those marked with `# YOUR CODE HERE`. # You can select all lines in this code cell with Ctrl+A (Windows/Linux) or Cmd+A (Mac), then press Ctrl+/ (Windows/Linux) or Cmd+/ (Mac) to uncomment. # normalize the train set norm_train_X = norm(train) # normalize the val set norm_val_X = norm(val) # normalize the test set norm_test_X = norm(test)
utils.test_norm(norm_train_X, norm_val_X, norm_test_X, train, val, test)
All public tests passed

Define the Model (TODO)

Define the model using the functional API. The base model will be 2 Dense layers of 128 neurons each, and have the 'relu' activation.

# Please uncomment all lines in this cell and replace those marked with `# YOUR CODE HERE`. # You can select all lines in this code cell with Ctrl+A (Windows/Linux) or Cmd+A (Mac), then press Ctrl+/ (Windows/Linux) or Cmd+/ (Mac) to uncomment. def base_model(inputs): # connect a Dense layer with 128 neurons and a relu activation x = Dense(128, activation='relu')(inputs) # connect another Dense layer with 128 neurons and a relu activation x = Dense(128, activation='relu')(x) return x
utils.test_base_model(base_model)
All public tests passed

Define output layers of the model (TODO)

You will add output layers to the base model.

  • The model will need two outputs.

One output layer will predict wine quality, which is a numeric value.

  • Define a Dense layer with 1 neuron.

  • Since this is a regression output, the activation can be left as its default value None.

The other output layer will predict the wine type, which is either red 1 or not red 0 (white).

  • Define a Dense layer with 1 neuron.

  • Since there are two possible categories, you can use a sigmoid activation for binary classification.

Define the Model

  • Define the Model object, and set the following parameters:

    • inputs: pass in the inputs to the model as a list.

    • outputs: pass in a list of the outputs that you just defined: wine quality, then wine type.

    • Note: please list the wine quality before wine type in the outputs, as this will affect the calculated loss if you choose the other order.

# Please uncomment all lines in this cell and replace those marked with `# YOUR CODE HERE`. # You can select all lines in this code cell with Ctrl+A (Windows/Linux) or Cmd+A (Mac), then press Ctrl+/ (Windows/Linux) or Cmd+/ (Mac) to uncomment. def final_model(inputs): # get the base model x = base_model(inputs) # connect the output Dense layer for regression wine_quality = Dense(units='1', name='wine_quality')(x) # connect the output Dense layer for classification. this will use a sigmoid activation. wine_type = Dense(units='1', activation='sigmoid', name='wine_type')(x) # define the model using the input and output layers model = Model(inputs=inputs, outputs=[wine_quality, wine_type]) return model
utils.test_final_model(final_model)
All public tests passed

Compiling the Model

Next, compile the model. When setting the loss parameter of model.compile, you're setting the loss for each of the two outputs (wine quality and wine type).

To set more than one loss, use a dictionary of key-value pairs.

  • You can look at the docs for the losses here.

    • Note: For the desired spelling, please look at the "Functions" section of the documentation and not the "classes" section on that same page.

  • wine_type: Since you will be performing binary classification on wine type, you should use the binary crossentropy loss function for it. Please pass this in as a string.

    • Hint, this should be all lowercase. In the documentation, you'll see this under the "Functions" section, not the "Classes" section.

  • wine_quality: since this is a regression output, use the mean squared error. Please pass it in as a string, all lowercase.

    • Hint: You may notice that there are two aliases for mean squared error. Please use the shorter name.

You will also set the metric for each of the two outputs. Again, to set metrics for two or more outputs, use a dictionary with key value pairs.

  • The metrics documentation is linked here.

  • For the wine type, please set it to accuracy as a string, all lowercase.

  • For wine quality, please use the root mean squared error. Instead of a string, you'll set it to an instance of the class RootMeanSquaredError, which belongs to the tf.keras.metrics module.

Note: If you see the error message

Exception: wine quality loss function is incorrect.

  • Please also check your other losses and metrics, as the error may be caused by the other three key-value pairs and not the wine quality loss.

# Please uncomment all lines in this cell and replace those marked with `# YOUR CODE HERE`. # You can select all lines in this code cell with Ctrl+A (Windows/Linux) or Cmd+A (Mac), then press Ctrl+/ (Windows/Linux) or Cmd+/ (Mac) to uncomment. inputs = tf.keras.layers.Input(shape=(11,)) rms = tf.keras.optimizers.RMSprop(lr=0.0001) model = final_model(inputs) model.compile(optimizer=rms, loss = {'wine_type' : 'binary_crossentropy', 'wine_quality' : 'mean_squared_error' }, metrics = {'wine_type' : 'accuracy', 'wine_quality': tf.keras.metrics.RootMeanSquaredError() } )
utils.test_model_compile(model)
All public tests passed

Training the Model

Fit the model to the training inputs and outputs.

  • Check the documentation for model.fit.

  • Remember to use the normalized training set as inputs.

  • For the validation data, please use the normalized validation set.

# Please uncomment all lines in this cell and replace those marked with `# YOUR CODE HERE`. # You can select all lines in this code cell with Ctrl+A (Windows/Linux) or Cmd+A (Mac), then press Ctrl+/ (Windows/Linux) or Cmd+/ (Mac) to uncomment. history = model.fit(norm_train_X, train_Y, epochs = 180, validation_data=(norm_val_X, val_Y))
Train on 3155 samples, validate on 789 samples Epoch 1/180 3155/3155 [==============================] - 1s 353us/sample - loss: 24.0099 - wine_quality_loss: 23.2688 - wine_type_loss: 0.7131 - wine_quality_root_mean_squared_error: 4.8267 - wine_type_accuracy: 0.3990 - val_loss: 16.4031 - val_wine_quality_loss: 15.7164 - val_wine_type_loss: 0.7000 - val_wine_quality_root_mean_squared_error: 3.9627 - val_wine_type_accuracy: 0.4689 Epoch 2/180 3155/3155 [==============================] - 0s 98us/sample - loss: 10.8336 - wine_quality_loss: 10.1343 - wine_type_loss: 0.6700 - wine_quality_root_mean_squared_error: 3.1880 - wine_type_accuracy: 0.6019 - val_loss: 6.1004 - val_wine_quality_loss: 5.5118 - val_wine_type_loss: 0.6320 - val_wine_quality_root_mean_squared_error: 2.3384 - val_wine_type_accuracy: 0.7529 Epoch 3/180 3155/3155 [==============================] - 0s 96us/sample - loss: 4.3055 - wine_quality_loss: 3.7292 - wine_type_loss: 0.5713 - wine_quality_root_mean_squared_error: 1.9324 - wine_type_accuracy: 0.8143 - val_loss: 3.0938 - val_wine_quality_loss: 2.6303 - val_wine_type_loss: 0.5081 - val_wine_quality_root_mean_squared_error: 1.6079 - val_wine_type_accuracy: 0.8150 Epoch 4/180 3155/3155 [==============================] - 0s 93us/sample - loss: 2.8798 - wine_quality_loss: 2.4352 - wine_type_loss: 0.4460 - wine_quality_root_mean_squared_error: 1.5600 - wine_type_accuracy: 0.8311 - val_loss: 2.5117 - val_wine_quality_loss: 2.1437 - val_wine_type_loss: 0.3955 - val_wine_quality_root_mean_squared_error: 1.4546 - val_wine_type_accuracy: 0.8631 Epoch 5/180 3155/3155 [==============================] - 0s 97us/sample - loss: 2.3432 - wine_quality_loss: 1.9945 - wine_type_loss: 0.3457 - wine_quality_root_mean_squared_error: 1.4133 - wine_type_accuracy: 0.9151 - val_loss: 2.1235 - val_wine_quality_loss: 1.8323 - val_wine_type_loss: 0.3075 - val_wine_quality_root_mean_squared_error: 1.3475 - val_wine_type_accuracy: 0.9404 Epoch 6/180 3155/3155 [==============================] - 0s 93us/sample - loss: 1.9935 - wine_quality_loss: 1.7233 - wine_type_loss: 0.2675 - wine_quality_root_mean_squared_error: 1.3137 - wine_type_accuracy: 0.9616 - val_loss: 1.8395 - val_wine_quality_loss: 1.6095 - val_wine_type_loss: 0.2402 - val_wine_quality_root_mean_squared_error: 1.2645 - val_wine_type_accuracy: 0.9734 Epoch 7/180 3155/3155 [==============================] - 0s 93us/sample - loss: 1.7458 - wine_quality_loss: 1.5422 - wine_type_loss: 0.2067 - wine_quality_root_mean_squared_error: 1.2406 - wine_type_accuracy: 0.9797 - val_loss: 1.6398 - val_wine_quality_loss: 1.4604 - val_wine_type_loss: 0.1853 - val_wine_quality_root_mean_squared_error: 1.2059 - val_wine_type_accuracy: 0.9848 Epoch 8/180 3155/3155 [==============================] - 0s 94us/sample - loss: 1.5689 - wine_quality_loss: 1.4056 - wine_type_loss: 0.1621 - wine_quality_root_mean_squared_error: 1.1861 - wine_type_accuracy: 0.9835 - val_loss: 1.4759 - val_wine_quality_loss: 1.3336 - val_wine_type_loss: 0.1466 - val_wine_quality_root_mean_squared_error: 1.1528 - val_wine_type_accuracy: 0.9873 Epoch 9/180 3155/3155 [==============================] - 0s 77us/sample - loss: 1.4300 - wine_quality_loss: 1.3006 - wine_type_loss: 0.1289 - wine_quality_root_mean_squared_error: 1.1406 - wine_type_accuracy: 0.9870 - val_loss: 1.3546 - val_wine_quality_loss: 1.2397 - val_wine_type_loss: 0.1180 - val_wine_quality_root_mean_squared_error: 1.1119 - val_wine_type_accuracy: 0.9873 Epoch 10/180 3155/3155 [==============================] - 0s 93us/sample - loss: 1.3216 - wine_quality_loss: 1.2137 - wine_type_loss: 0.1058 - wine_quality_root_mean_squared_error: 1.1026 - wine_type_accuracy: 0.9883 - val_loss: 1.2548 - val_wine_quality_loss: 1.1582 - val_wine_type_loss: 0.0978 - val_wine_quality_root_mean_squared_error: 1.0755 - val_wine_type_accuracy: 0.9886 Epoch 11/180 3155/3155 [==============================] - 0s 92us/sample - loss: 1.2194 - wine_quality_loss: 1.1292 - wine_type_loss: 0.0891 - wine_quality_root_mean_squared_error: 1.0631 - wine_type_accuracy: 0.9899 - val_loss: 1.1561 - val_wine_quality_loss: 1.0733 - val_wine_type_loss: 0.0830 - val_wine_quality_root_mean_squared_error: 1.0358 - val_wine_type_accuracy: 0.9886 Epoch 12/180 3155/3155 [==============================] - 0s 96us/sample - loss: 1.1359 - wine_quality_loss: 1.0579 - wine_type_loss: 0.0771 - wine_quality_root_mean_squared_error: 1.0290 - wine_type_accuracy: 0.9914 - val_loss: 1.0943 - val_wine_quality_loss: 1.0209 - val_wine_type_loss: 0.0725 - val_wine_quality_root_mean_squared_error: 1.0107 - val_wine_type_accuracy: 0.9911 Epoch 13/180 3155/3155 [==============================] - 0s 93us/sample - loss: 1.0660 - wine_quality_loss: 1.0003 - wine_type_loss: 0.0682 - wine_quality_root_mean_squared_error: 0.9989 - wine_type_accuracy: 0.9911 - val_loss: 1.0093 - val_wine_quality_loss: 0.9440 - val_wine_type_loss: 0.0647 - val_wine_quality_root_mean_squared_error: 0.9717 - val_wine_type_accuracy: 0.9911 Epoch 14/180 3155/3155 [==============================] - 0s 94us/sample - loss: 1.0044 - wine_quality_loss: 0.9424 - wine_type_loss: 0.0614 - wine_quality_root_mean_squared_error: 0.9710 - wine_type_accuracy: 0.9911 - val_loss: 0.9457 - val_wine_quality_loss: 0.8860 - val_wine_type_loss: 0.0586 - val_wine_quality_root_mean_squared_error: 0.9417 - val_wine_type_accuracy: 0.9937 Epoch 15/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.9440 - wine_quality_loss: 0.8866 - wine_type_loss: 0.0566 - wine_quality_root_mean_squared_error: 0.9420 - wine_type_accuracy: 0.9914 - val_loss: 0.8911 - val_wine_quality_loss: 0.8356 - val_wine_type_loss: 0.0541 - val_wine_quality_root_mean_squared_error: 0.9147 - val_wine_type_accuracy: 0.9949 Epoch 16/180 3155/3155 [==============================] - 0s 96us/sample - loss: 0.8883 - wine_quality_loss: 0.8365 - wine_type_loss: 0.0524 - wine_quality_root_mean_squared_error: 0.9142 - wine_type_accuracy: 0.9911 - val_loss: 0.8364 - val_wine_quality_loss: 0.7845 - val_wine_type_loss: 0.0506 - val_wine_quality_root_mean_squared_error: 0.8863 - val_wine_type_accuracy: 0.9949 Epoch 17/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.8409 - wine_quality_loss: 0.7902 - wine_type_loss: 0.0493 - wine_quality_root_mean_squared_error: 0.8897 - wine_type_accuracy: 0.9914 - val_loss: 0.7950 - val_wine_quality_loss: 0.7458 - val_wine_type_loss: 0.0476 - val_wine_quality_root_mean_squared_error: 0.8643 - val_wine_type_accuracy: 0.9949 Epoch 18/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.7989 - wine_quality_loss: 0.7514 - wine_type_loss: 0.0469 - wine_quality_root_mean_squared_error: 0.8672 - wine_type_accuracy: 0.9918 - val_loss: 0.7571 - val_wine_quality_loss: 0.7100 - val_wine_type_loss: 0.0454 - val_wine_quality_root_mean_squared_error: 0.8434 - val_wine_type_accuracy: 0.9949 Epoch 19/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.7593 - wine_quality_loss: 0.7149 - wine_type_loss: 0.0449 - wine_quality_root_mean_squared_error: 0.8453 - wine_type_accuracy: 0.9914 - val_loss: 0.7193 - val_wine_quality_loss: 0.6738 - val_wine_type_loss: 0.0436 - val_wine_quality_root_mean_squared_error: 0.8218 - val_wine_type_accuracy: 0.9949 Epoch 20/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.7224 - wine_quality_loss: 0.6898 - wine_type_loss: 0.0429 - wine_quality_root_mean_squared_error: 0.8242 - wine_type_accuracy: 0.9921 - val_loss: 0.6992 - val_wine_quality_loss: 0.6555 - val_wine_type_loss: 0.0421 - val_wine_quality_root_mean_squared_error: 0.8104 - val_wine_type_accuracy: 0.9949 Epoch 21/180 3155/3155 [==============================] - 0s 79us/sample - loss: 0.6869 - wine_quality_loss: 0.6471 - wine_type_loss: 0.0414 - wine_quality_root_mean_squared_error: 0.8033 - wine_type_accuracy: 0.9921 - val_loss: 0.6590 - val_wine_quality_loss: 0.6164 - val_wine_type_loss: 0.0405 - val_wine_quality_root_mean_squared_error: 0.7862 - val_wine_type_accuracy: 0.9949 Epoch 22/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.6564 - wine_quality_loss: 0.6247 - wine_type_loss: 0.0403 - wine_quality_root_mean_squared_error: 0.7849 - wine_type_accuracy: 0.9924 - val_loss: 0.6279 - val_wine_quality_loss: 0.5866 - val_wine_type_loss: 0.0395 - val_wine_quality_root_mean_squared_error: 0.7668 - val_wine_type_accuracy: 0.9949 Epoch 23/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.6262 - wine_quality_loss: 0.5867 - wine_type_loss: 0.0390 - wine_quality_root_mean_squared_error: 0.7662 - wine_type_accuracy: 0.9924 - val_loss: 0.5931 - val_wine_quality_loss: 0.5526 - val_wine_type_loss: 0.0386 - val_wine_quality_root_mean_squared_error: 0.7444 - val_wine_type_accuracy: 0.9949 Epoch 24/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.5992 - wine_quality_loss: 0.5619 - wine_type_loss: 0.0381 - wine_quality_root_mean_squared_error: 0.7490 - wine_type_accuracy: 0.9927 - val_loss: 0.5629 - val_wine_quality_loss: 0.5235 - val_wine_type_loss: 0.0377 - val_wine_quality_root_mean_squared_error: 0.7244 - val_wine_type_accuracy: 0.9949 Epoch 25/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.5751 - wine_quality_loss: 0.5371 - wine_type_loss: 0.0373 - wine_quality_root_mean_squared_error: 0.7333 - wine_type_accuracy: 0.9927 - val_loss: 0.5487 - val_wine_quality_loss: 0.5098 - val_wine_type_loss: 0.0370 - val_wine_quality_root_mean_squared_error: 0.7150 - val_wine_type_accuracy: 0.9949 Epoch 26/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.5537 - wine_quality_loss: 0.5161 - wine_type_loss: 0.0364 - wine_quality_root_mean_squared_error: 0.7191 - wine_type_accuracy: 0.9933 - val_loss: 0.5341 - val_wine_quality_loss: 0.4957 - val_wine_type_loss: 0.0364 - val_wine_quality_root_mean_squared_error: 0.7052 - val_wine_type_accuracy: 0.9949 Epoch 27/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.5327 - wine_quality_loss: 0.4961 - wine_type_loss: 0.0358 - wine_quality_root_mean_squared_error: 0.7049 - wine_type_accuracy: 0.9930 - val_loss: 0.5119 - val_wine_quality_loss: 0.4746 - val_wine_type_loss: 0.0358 - val_wine_quality_root_mean_squared_error: 0.6898 - val_wine_type_accuracy: 0.9949 Epoch 28/180 3155/3155 [==============================] - 0s 95us/sample - loss: 0.5144 - wine_quality_loss: 0.4794 - wine_type_loss: 0.0351 - wine_quality_root_mean_squared_error: 0.6922 - wine_type_accuracy: 0.9933 - val_loss: 0.4936 - val_wine_quality_loss: 0.4566 - val_wine_type_loss: 0.0353 - val_wine_quality_root_mean_squared_error: 0.6767 - val_wine_type_accuracy: 0.9949 Epoch 29/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.4954 - wine_quality_loss: 0.4611 - wine_type_loss: 0.0346 - wine_quality_root_mean_squared_error: 0.6788 - wine_type_accuracy: 0.9933 - val_loss: 0.4811 - val_wine_quality_loss: 0.4444 - val_wine_type_loss: 0.0349 - val_wine_quality_root_mean_squared_error: 0.6677 - val_wine_type_accuracy: 0.9949 Epoch 30/180 3155/3155 [==============================] - 0s 79us/sample - loss: 0.4812 - wine_quality_loss: 0.4468 - wine_type_loss: 0.0344 - wine_quality_root_mean_squared_error: 0.6687 - wine_type_accuracy: 0.9937 - val_loss: 0.4752 - val_wine_quality_loss: 0.4389 - val_wine_type_loss: 0.0346 - val_wine_quality_root_mean_squared_error: 0.6635 - val_wine_type_accuracy: 0.9949 Epoch 31/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.4667 - wine_quality_loss: 0.4323 - wine_type_loss: 0.0336 - wine_quality_root_mean_squared_error: 0.6580 - wine_type_accuracy: 0.9933 - val_loss: 0.4541 - val_wine_quality_loss: 0.4181 - val_wine_type_loss: 0.0340 - val_wine_quality_root_mean_squared_error: 0.6478 - val_wine_type_accuracy: 0.9949 Epoch 32/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.4535 - wine_quality_loss: 0.4203 - wine_type_loss: 0.0330 - wine_quality_root_mean_squared_error: 0.6484 - wine_type_accuracy: 0.9933 - val_loss: 0.4365 - val_wine_quality_loss: 0.4013 - val_wine_type_loss: 0.0337 - val_wine_quality_root_mean_squared_error: 0.6343 - val_wine_type_accuracy: 0.9949 Epoch 33/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.4412 - wine_quality_loss: 0.4077 - wine_type_loss: 0.0327 - wine_quality_root_mean_squared_error: 0.6390 - wine_type_accuracy: 0.9940 - val_loss: 0.4272 - val_wine_quality_loss: 0.3922 - val_wine_type_loss: 0.0333 - val_wine_quality_root_mean_squared_error: 0.6273 - val_wine_type_accuracy: 0.9949 Epoch 34/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.4312 - wine_quality_loss: 0.3990 - wine_type_loss: 0.0322 - wine_quality_root_mean_squared_error: 0.6315 - wine_type_accuracy: 0.9940 - val_loss: 0.4206 - val_wine_quality_loss: 0.3864 - val_wine_type_loss: 0.0329 - val_wine_quality_root_mean_squared_error: 0.6224 - val_wine_type_accuracy: 0.9949 Epoch 35/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.4222 - wine_quality_loss: 0.3900 - wine_type_loss: 0.0318 - wine_quality_root_mean_squared_error: 0.6247 - wine_type_accuracy: 0.9940 - val_loss: 0.4074 - val_wine_quality_loss: 0.3730 - val_wine_type_loss: 0.0327 - val_wine_quality_root_mean_squared_error: 0.6118 - val_wine_type_accuracy: 0.9949 Epoch 36/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.4141 - wine_quality_loss: 0.3825 - wine_type_loss: 0.0316 - wine_quality_root_mean_squared_error: 0.6184 - wine_type_accuracy: 0.9943 - val_loss: 0.4127 - val_wine_quality_loss: 0.3786 - val_wine_type_loss: 0.0324 - val_wine_quality_root_mean_squared_error: 0.6164 - val_wine_type_accuracy: 0.9949 Epoch 37/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.4070 - wine_quality_loss: 0.3760 - wine_type_loss: 0.0312 - wine_quality_root_mean_squared_error: 0.6129 - wine_type_accuracy: 0.9946 - val_loss: 0.3944 - val_wine_quality_loss: 0.3606 - val_wine_type_loss: 0.0321 - val_wine_quality_root_mean_squared_error: 0.6016 - val_wine_type_accuracy: 0.9949 Epoch 38/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.4008 - wine_quality_loss: 0.3695 - wine_type_loss: 0.0309 - wine_quality_root_mean_squared_error: 0.6081 - wine_type_accuracy: 0.9943 - val_loss: 0.3914 - val_wine_quality_loss: 0.3579 - val_wine_type_loss: 0.0319 - val_wine_quality_root_mean_squared_error: 0.5993 - val_wine_type_accuracy: 0.9949 Epoch 39/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3938 - wine_quality_loss: 0.3628 - wine_type_loss: 0.0306 - wine_quality_root_mean_squared_error: 0.6026 - wine_type_accuracy: 0.9949 - val_loss: 0.3890 - val_wine_quality_loss: 0.3555 - val_wine_type_loss: 0.0318 - val_wine_quality_root_mean_squared_error: 0.5973 - val_wine_type_accuracy: 0.9949 Epoch 40/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.3883 - wine_quality_loss: 0.3579 - wine_type_loss: 0.0303 - wine_quality_root_mean_squared_error: 0.5982 - wine_type_accuracy: 0.9949 - val_loss: 0.3804 - val_wine_quality_loss: 0.3471 - val_wine_type_loss: 0.0317 - val_wine_quality_root_mean_squared_error: 0.5902 - val_wine_type_accuracy: 0.9949 Epoch 41/180 3155/3155 [==============================] - 0s 78us/sample - loss: 0.3829 - wine_quality_loss: 0.3529 - wine_type_loss: 0.0317 - wine_quality_root_mean_squared_error: 0.5939 - wine_type_accuracy: 0.9949 - val_loss: 0.3813 - val_wine_quality_loss: 0.3481 - val_wine_type_loss: 0.0315 - val_wine_quality_root_mean_squared_error: 0.5911 - val_wine_type_accuracy: 0.9949 Epoch 42/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3784 - wine_quality_loss: 0.3481 - wine_type_loss: 0.0297 - wine_quality_root_mean_squared_error: 0.5904 - wine_type_accuracy: 0.9949 - val_loss: 0.3792 - val_wine_quality_loss: 0.3466 - val_wine_type_loss: 0.0312 - val_wine_quality_root_mean_squared_error: 0.5896 - val_wine_type_accuracy: 0.9949 Epoch 43/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3751 - wine_quality_loss: 0.3449 - wine_type_loss: 0.0295 - wine_quality_root_mean_squared_error: 0.5877 - wine_type_accuracy: 0.9949 - val_loss: 0.3731 - val_wine_quality_loss: 0.3407 - val_wine_type_loss: 0.0311 - val_wine_quality_root_mean_squared_error: 0.5845 - val_wine_type_accuracy: 0.9949 Epoch 44/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3720 - wine_quality_loss: 0.3423 - wine_type_loss: 0.0293 - wine_quality_root_mean_squared_error: 0.5853 - wine_type_accuracy: 0.9949 - val_loss: 0.3719 - val_wine_quality_loss: 0.3396 - val_wine_type_loss: 0.0310 - val_wine_quality_root_mean_squared_error: 0.5836 - val_wine_type_accuracy: 0.9949 Epoch 45/180 3155/3155 [==============================] - 0s 96us/sample - loss: 0.3666 - wine_quality_loss: 0.3371 - wine_type_loss: 0.0291 - wine_quality_root_mean_squared_error: 0.5809 - wine_type_accuracy: 0.9949 - val_loss: 0.3686 - val_wine_quality_loss: 0.3364 - val_wine_type_loss: 0.0307 - val_wine_quality_root_mean_squared_error: 0.5809 - val_wine_type_accuracy: 0.9949 Epoch 46/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3643 - wine_quality_loss: 0.3349 - wine_type_loss: 0.0288 - wine_quality_root_mean_squared_error: 0.5791 - wine_type_accuracy: 0.9952 - val_loss: 0.3642 - val_wine_quality_loss: 0.3321 - val_wine_type_loss: 0.0306 - val_wine_quality_root_mean_squared_error: 0.5773 - val_wine_type_accuracy: 0.9949 Epoch 47/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3616 - wine_quality_loss: 0.3325 - wine_type_loss: 0.0287 - wine_quality_root_mean_squared_error: 0.5769 - wine_type_accuracy: 0.9952 - val_loss: 0.3637 - val_wine_quality_loss: 0.3319 - val_wine_type_loss: 0.0304 - val_wine_quality_root_mean_squared_error: 0.5770 - val_wine_type_accuracy: 0.9949 Epoch 48/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3592 - wine_quality_loss: 0.3301 - wine_type_loss: 0.0284 - wine_quality_root_mean_squared_error: 0.5751 - wine_type_accuracy: 0.9952 - val_loss: 0.3635 - val_wine_quality_loss: 0.3319 - val_wine_type_loss: 0.0303 - val_wine_quality_root_mean_squared_error: 0.5770 - val_wine_type_accuracy: 0.9949 Epoch 49/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3563 - wine_quality_loss: 0.3282 - wine_type_loss: 0.0286 - wine_quality_root_mean_squared_error: 0.5728 - wine_type_accuracy: 0.9952 - val_loss: 0.3654 - val_wine_quality_loss: 0.3335 - val_wine_type_loss: 0.0304 - val_wine_quality_root_mean_squared_error: 0.5784 - val_wine_type_accuracy: 0.9949 Epoch 50/180 3155/3155 [==============================] - 0s 77us/sample - loss: 0.3542 - wine_quality_loss: 0.3264 - wine_type_loss: 0.0280 - wine_quality_root_mean_squared_error: 0.5711 - wine_type_accuracy: 0.9952 - val_loss: 0.3627 - val_wine_quality_loss: 0.3309 - val_wine_type_loss: 0.0301 - val_wine_quality_root_mean_squared_error: 0.5763 - val_wine_type_accuracy: 0.9949 Epoch 51/180 3155/3155 [==============================] - 0s 95us/sample - loss: 0.3514 - wine_quality_loss: 0.3236 - wine_type_loss: 0.0278 - wine_quality_root_mean_squared_error: 0.5688 - wine_type_accuracy: 0.9952 - val_loss: 0.3766 - val_wine_quality_loss: 0.3447 - val_wine_type_loss: 0.0300 - val_wine_quality_root_mean_squared_error: 0.5884 - val_wine_type_accuracy: 0.9949 Epoch 52/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3505 - wine_quality_loss: 0.3223 - wine_type_loss: 0.0276 - wine_quality_root_mean_squared_error: 0.5682 - wine_type_accuracy: 0.9952 - val_loss: 0.3587 - val_wine_quality_loss: 0.3275 - val_wine_type_loss: 0.0299 - val_wine_quality_root_mean_squared_error: 0.5731 - val_wine_type_accuracy: 0.9949 Epoch 53/180 3155/3155 [==============================] - 0s 96us/sample - loss: 0.3488 - wine_quality_loss: 0.3211 - wine_type_loss: 0.0274 - wine_quality_root_mean_squared_error: 0.5669 - wine_type_accuracy: 0.9952 - val_loss: 0.3563 - val_wine_quality_loss: 0.3251 - val_wine_type_loss: 0.0298 - val_wine_quality_root_mean_squared_error: 0.5711 - val_wine_type_accuracy: 0.9949 Epoch 54/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.3459 - wine_quality_loss: 0.3190 - wine_type_loss: 0.0272 - wine_quality_root_mean_squared_error: 0.5645 - wine_type_accuracy: 0.9952 - val_loss: 0.3526 - val_wine_quality_loss: 0.3215 - val_wine_type_loss: 0.0296 - val_wine_quality_root_mean_squared_error: 0.5680 - val_wine_type_accuracy: 0.9949 Epoch 55/180 3155/3155 [==============================] - 0s 96us/sample - loss: 0.3445 - wine_quality_loss: 0.3182 - wine_type_loss: 0.0271 - wine_quality_root_mean_squared_error: 0.5634 - wine_type_accuracy: 0.9952 - val_loss: 0.3565 - val_wine_quality_loss: 0.3258 - val_wine_type_loss: 0.0295 - val_wine_quality_root_mean_squared_error: 0.5715 - val_wine_type_accuracy: 0.9949 Epoch 56/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3419 - wine_quality_loss: 0.3162 - wine_type_loss: 0.0268 - wine_quality_root_mean_squared_error: 0.5613 - wine_type_accuracy: 0.9952 - val_loss: 0.3525 - val_wine_quality_loss: 0.3219 - val_wine_type_loss: 0.0295 - val_wine_quality_root_mean_squared_error: 0.5681 - val_wine_type_accuracy: 0.9949 Epoch 57/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3415 - wine_quality_loss: 0.3150 - wine_type_loss: 0.0266 - wine_quality_root_mean_squared_error: 0.5610 - wine_type_accuracy: 0.9952 - val_loss: 0.3548 - val_wine_quality_loss: 0.3243 - val_wine_type_loss: 0.0294 - val_wine_quality_root_mean_squared_error: 0.5702 - val_wine_type_accuracy: 0.9949 Epoch 58/180 3155/3155 [==============================] - 0s 95us/sample - loss: 0.3405 - wine_quality_loss: 0.3137 - wine_type_loss: 0.0264 - wine_quality_root_mean_squared_error: 0.5603 - wine_type_accuracy: 0.9952 - val_loss: 0.3523 - val_wine_quality_loss: 0.3216 - val_wine_type_loss: 0.0292 - val_wine_quality_root_mean_squared_error: 0.5681 - val_wine_type_accuracy: 0.9949 Epoch 59/180 3155/3155 [==============================] - 0s 95us/sample - loss: 0.3388 - wine_quality_loss: 0.3119 - wine_type_loss: 0.0263 - wine_quality_root_mean_squared_error: 0.5589 - wine_type_accuracy: 0.9952 - val_loss: 0.3490 - val_wine_quality_loss: 0.3185 - val_wine_type_loss: 0.0292 - val_wine_quality_root_mean_squared_error: 0.5652 - val_wine_type_accuracy: 0.9949 Epoch 60/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3364 - wine_quality_loss: 0.3104 - wine_type_loss: 0.0261 - wine_quality_root_mean_squared_error: 0.5570 - wine_type_accuracy: 0.9952 - val_loss: 0.3477 - val_wine_quality_loss: 0.3173 - val_wine_type_loss: 0.0292 - val_wine_quality_root_mean_squared_error: 0.5640 - val_wine_type_accuracy: 0.9949 Epoch 61/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.3349 - wine_quality_loss: 0.3093 - wine_type_loss: 0.0260 - wine_quality_root_mean_squared_error: 0.5558 - wine_type_accuracy: 0.9952 - val_loss: 0.3507 - val_wine_quality_loss: 0.3203 - val_wine_type_loss: 0.0291 - val_wine_quality_root_mean_squared_error: 0.5668 - val_wine_type_accuracy: 0.9949 Epoch 62/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3340 - wine_quality_loss: 0.3090 - wine_type_loss: 0.0258 - wine_quality_root_mean_squared_error: 0.5551 - wine_type_accuracy: 0.9956 - val_loss: 0.3475 - val_wine_quality_loss: 0.3172 - val_wine_type_loss: 0.0290 - val_wine_quality_root_mean_squared_error: 0.5640 - val_wine_type_accuracy: 0.9949 Epoch 63/180 3155/3155 [==============================] - 0s 76us/sample - loss: 0.3321 - wine_quality_loss: 0.3065 - wine_type_loss: 0.0256 - wine_quality_root_mean_squared_error: 0.5535 - wine_type_accuracy: 0.9952 - val_loss: 0.3448 - val_wine_quality_loss: 0.3148 - val_wine_type_loss: 0.0287 - val_wine_quality_root_mean_squared_error: 0.5619 - val_wine_type_accuracy: 0.9949 Epoch 64/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.3316 - wine_quality_loss: 0.3058 - wine_type_loss: 0.0255 - wine_quality_root_mean_squared_error: 0.5532 - wine_type_accuracy: 0.9952 - val_loss: 0.3474 - val_wine_quality_loss: 0.3175 - val_wine_type_loss: 0.0288 - val_wine_quality_root_mean_squared_error: 0.5642 - val_wine_type_accuracy: 0.9949 Epoch 65/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.3298 - wine_quality_loss: 0.3050 - wine_type_loss: 0.0252 - wine_quality_root_mean_squared_error: 0.5518 - wine_type_accuracy: 0.9952 - val_loss: 0.3536 - val_wine_quality_loss: 0.3239 - val_wine_type_loss: 0.0286 - val_wine_quality_root_mean_squared_error: 0.5697 - val_wine_type_accuracy: 0.9949 Epoch 66/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.3303 - wine_quality_loss: 0.3052 - wine_type_loss: 0.0251 - wine_quality_root_mean_squared_error: 0.5524 - wine_type_accuracy: 0.9952 - val_loss: 0.3500 - val_wine_quality_loss: 0.3200 - val_wine_type_loss: 0.0286 - val_wine_quality_root_mean_squared_error: 0.5666 - val_wine_type_accuracy: 0.9949 Epoch 67/180 3155/3155 [==============================] - 0s 96us/sample - loss: 0.3289 - wine_quality_loss: 0.3036 - wine_type_loss: 0.0249 - wine_quality_root_mean_squared_error: 0.5513 - wine_type_accuracy: 0.9956 - val_loss: 0.3501 - val_wine_quality_loss: 0.3202 - val_wine_type_loss: 0.0285 - val_wine_quality_root_mean_squared_error: 0.5668 - val_wine_type_accuracy: 0.9949 Epoch 68/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3266 - wine_quality_loss: 0.3019 - wine_type_loss: 0.0248 - wine_quality_root_mean_squared_error: 0.5492 - wine_type_accuracy: 0.9956 - val_loss: 0.3477 - val_wine_quality_loss: 0.3180 - val_wine_type_loss: 0.0286 - val_wine_quality_root_mean_squared_error: 0.5646 - val_wine_type_accuracy: 0.9949 Epoch 69/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.3264 - wine_quality_loss: 0.3017 - wine_type_loss: 0.0248 - wine_quality_root_mean_squared_error: 0.5492 - wine_type_accuracy: 0.9952 - val_loss: 0.3436 - val_wine_quality_loss: 0.3140 - val_wine_type_loss: 0.0284 - val_wine_quality_root_mean_squared_error: 0.5611 - val_wine_type_accuracy: 0.9949 Epoch 70/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.3262 - wine_quality_loss: 0.3012 - wine_type_loss: 0.0259 - wine_quality_root_mean_squared_error: 0.5492 - wine_type_accuracy: 0.9956 - val_loss: 0.3459 - val_wine_quality_loss: 0.3164 - val_wine_type_loss: 0.0282 - val_wine_quality_root_mean_squared_error: 0.5633 - val_wine_type_accuracy: 0.9949 Epoch 71/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3241 - wine_quality_loss: 0.2993 - wine_type_loss: 0.0244 - wine_quality_root_mean_squared_error: 0.5474 - wine_type_accuracy: 0.9956 - val_loss: 0.3501 - val_wine_quality_loss: 0.3209 - val_wine_type_loss: 0.0282 - val_wine_quality_root_mean_squared_error: 0.5671 - val_wine_type_accuracy: 0.9949 Epoch 72/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3244 - wine_quality_loss: 0.3006 - wine_type_loss: 0.0243 - wine_quality_root_mean_squared_error: 0.5478 - wine_type_accuracy: 0.9956 - val_loss: 0.3423 - val_wine_quality_loss: 0.3129 - val_wine_type_loss: 0.0282 - val_wine_quality_root_mean_squared_error: 0.5601 - val_wine_type_accuracy: 0.9949 Epoch 73/180 3155/3155 [==============================] - 0s 89us/sample - loss: 0.3227 - wine_quality_loss: 0.2993 - wine_type_loss: 0.0241 - wine_quality_root_mean_squared_error: 0.5464 - wine_type_accuracy: 0.9956 - val_loss: 0.3477 - val_wine_quality_loss: 0.3187 - val_wine_type_loss: 0.0281 - val_wine_quality_root_mean_squared_error: 0.5650 - val_wine_type_accuracy: 0.9949 Epoch 74/180 3155/3155 [==============================] - 0s 78us/sample - loss: 0.3225 - wine_quality_loss: 0.2981 - wine_type_loss: 0.0240 - wine_quality_root_mean_squared_error: 0.5462 - wine_type_accuracy: 0.9956 - val_loss: 0.3414 - val_wine_quality_loss: 0.3122 - val_wine_type_loss: 0.0280 - val_wine_quality_root_mean_squared_error: 0.5595 - val_wine_type_accuracy: 0.9949 Epoch 75/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3209 - wine_quality_loss: 0.2970 - wine_type_loss: 0.0253 - wine_quality_root_mean_squared_error: 0.5449 - wine_type_accuracy: 0.9956 - val_loss: 0.3441 - val_wine_quality_loss: 0.3152 - val_wine_type_loss: 0.0278 - val_wine_quality_root_mean_squared_error: 0.5620 - val_wine_type_accuracy: 0.9949 Epoch 76/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3206 - wine_quality_loss: 0.2966 - wine_type_loss: 0.0236 - wine_quality_root_mean_squared_error: 0.5448 - wine_type_accuracy: 0.9956 - val_loss: 0.3445 - val_wine_quality_loss: 0.3153 - val_wine_type_loss: 0.0278 - val_wine_quality_root_mean_squared_error: 0.5624 - val_wine_type_accuracy: 0.9949 Epoch 77/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3191 - wine_quality_loss: 0.2949 - wine_type_loss: 0.0236 - wine_quality_root_mean_squared_error: 0.5436 - wine_type_accuracy: 0.9956 - val_loss: 0.3500 - val_wine_quality_loss: 0.3210 - val_wine_type_loss: 0.0278 - val_wine_quality_root_mean_squared_error: 0.5672 - val_wine_type_accuracy: 0.9949 Epoch 78/180 3155/3155 [==============================] - 0s 89us/sample - loss: 0.3191 - wine_quality_loss: 0.2959 - wine_type_loss: 0.0234 - wine_quality_root_mean_squared_error: 0.5437 - wine_type_accuracy: 0.9956 - val_loss: 0.3411 - val_wine_quality_loss: 0.3121 - val_wine_type_loss: 0.0278 - val_wine_quality_root_mean_squared_error: 0.5595 - val_wine_type_accuracy: 0.9949 Epoch 79/180 3155/3155 [==============================] - 0s 79us/sample - loss: 0.3180 - wine_quality_loss: 0.2948 - wine_type_loss: 0.0233 - wine_quality_root_mean_squared_error: 0.5428 - wine_type_accuracy: 0.9956 - val_loss: 0.3436 - val_wine_quality_loss: 0.3147 - val_wine_type_loss: 0.0277 - val_wine_quality_root_mean_squared_error: 0.5618 - val_wine_type_accuracy: 0.9949 Epoch 80/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3166 - wine_quality_loss: 0.2931 - wine_type_loss: 0.0231 - wine_quality_root_mean_squared_error: 0.5416 - wine_type_accuracy: 0.9956 - val_loss: 0.3437 - val_wine_quality_loss: 0.3147 - val_wine_type_loss: 0.0277 - val_wine_quality_root_mean_squared_error: 0.5618 - val_wine_type_accuracy: 0.9949 Epoch 81/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.3175 - wine_quality_loss: 0.2947 - wine_type_loss: 0.0230 - wine_quality_root_mean_squared_error: 0.5426 - wine_type_accuracy: 0.9956 - val_loss: 0.3442 - val_wine_quality_loss: 0.3152 - val_wine_type_loss: 0.0276 - val_wine_quality_root_mean_squared_error: 0.5623 - val_wine_type_accuracy: 0.9949 Epoch 82/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3146 - wine_quality_loss: 0.2919 - wine_type_loss: 0.0230 - wine_quality_root_mean_squared_error: 0.5400 - wine_type_accuracy: 0.9956 - val_loss: 0.3453 - val_wine_quality_loss: 0.3171 - val_wine_type_loss: 0.0275 - val_wine_quality_root_mean_squared_error: 0.5634 - val_wine_type_accuracy: 0.9949 Epoch 83/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3147 - wine_quality_loss: 0.2916 - wine_type_loss: 0.0227 - wine_quality_root_mean_squared_error: 0.5402 - wine_type_accuracy: 0.9956 - val_loss: 0.3416 - val_wine_quality_loss: 0.3129 - val_wine_type_loss: 0.0274 - val_wine_quality_root_mean_squared_error: 0.5602 - val_wine_type_accuracy: 0.9949 Epoch 84/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3139 - wine_quality_loss: 0.2912 - wine_type_loss: 0.0228 - wine_quality_root_mean_squared_error: 0.5396 - wine_type_accuracy: 0.9956 - val_loss: 0.3417 - val_wine_quality_loss: 0.3131 - val_wine_type_loss: 0.0274 - val_wine_quality_root_mean_squared_error: 0.5603 - val_wine_type_accuracy: 0.9949 Epoch 85/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.3133 - wine_quality_loss: 0.2913 - wine_type_loss: 0.0225 - wine_quality_root_mean_squared_error: 0.5392 - wine_type_accuracy: 0.9956 - val_loss: 0.3428 - val_wine_quality_loss: 0.3143 - val_wine_type_loss: 0.0273 - val_wine_quality_root_mean_squared_error: 0.5613 - val_wine_type_accuracy: 0.9949 Epoch 86/180 3155/3155 [==============================] - 0s 78us/sample - loss: 0.3124 - wine_quality_loss: 0.2899 - wine_type_loss: 0.0224 - wine_quality_root_mean_squared_error: 0.5385 - wine_type_accuracy: 0.9956 - val_loss: 0.3369 - val_wine_quality_loss: 0.3086 - val_wine_type_loss: 0.0274 - val_wine_quality_root_mean_squared_error: 0.5561 - val_wine_type_accuracy: 0.9949 Epoch 87/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3123 - wine_quality_loss: 0.2900 - wine_type_loss: 0.0222 - wine_quality_root_mean_squared_error: 0.5385 - wine_type_accuracy: 0.9959 - val_loss: 0.3393 - val_wine_quality_loss: 0.3109 - val_wine_type_loss: 0.0272 - val_wine_quality_root_mean_squared_error: 0.5583 - val_wine_type_accuracy: 0.9949 Epoch 88/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.3107 - wine_quality_loss: 0.2884 - wine_type_loss: 0.0222 - wine_quality_root_mean_squared_error: 0.5371 - wine_type_accuracy: 0.9956 - val_loss: 0.3380 - val_wine_quality_loss: 0.3096 - val_wine_type_loss: 0.0272 - val_wine_quality_root_mean_squared_error: 0.5572 - val_wine_type_accuracy: 0.9949 Epoch 89/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.3096 - wine_quality_loss: 0.2880 - wine_type_loss: 0.0220 - wine_quality_root_mean_squared_error: 0.5362 - wine_type_accuracy: 0.9959 - val_loss: 0.3421 - val_wine_quality_loss: 0.3140 - val_wine_type_loss: 0.0271 - val_wine_quality_root_mean_squared_error: 0.5609 - val_wine_type_accuracy: 0.9949 Epoch 90/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.3098 - wine_quality_loss: 0.2874 - wine_type_loss: 0.0219 - wine_quality_root_mean_squared_error: 0.5366 - wine_type_accuracy: 0.9956 - val_loss: 0.3362 - val_wine_quality_loss: 0.3080 - val_wine_type_loss: 0.0270 - val_wine_quality_root_mean_squared_error: 0.5558 - val_wine_type_accuracy: 0.9949 Epoch 91/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3093 - wine_quality_loss: 0.2875 - wine_type_loss: 0.0217 - wine_quality_root_mean_squared_error: 0.5362 - wine_type_accuracy: 0.9956 - val_loss: 0.3444 - val_wine_quality_loss: 0.3161 - val_wine_type_loss: 0.0271 - val_wine_quality_root_mean_squared_error: 0.5630 - val_wine_type_accuracy: 0.9949 Epoch 92/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3086 - wine_quality_loss: 0.2864 - wine_type_loss: 0.0217 - wine_quality_root_mean_squared_error: 0.5356 - wine_type_accuracy: 0.9956 - val_loss: 0.3396 - val_wine_quality_loss: 0.3116 - val_wine_type_loss: 0.0271 - val_wine_quality_root_mean_squared_error: 0.5587 - val_wine_type_accuracy: 0.9949 Epoch 93/180 3155/3155 [==============================] - 0s 75us/sample - loss: 0.3075 - wine_quality_loss: 0.2859 - wine_type_loss: 0.0215 - wine_quality_root_mean_squared_error: 0.5348 - wine_type_accuracy: 0.9959 - val_loss: 0.3405 - val_wine_quality_loss: 0.3127 - val_wine_type_loss: 0.0270 - val_wine_quality_root_mean_squared_error: 0.5597 - val_wine_type_accuracy: 0.9949 Epoch 94/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3069 - wine_quality_loss: 0.2851 - wine_type_loss: 0.0214 - wine_quality_root_mean_squared_error: 0.5342 - wine_type_accuracy: 0.9959 - val_loss: 0.3513 - val_wine_quality_loss: 0.3233 - val_wine_type_loss: 0.0270 - val_wine_quality_root_mean_squared_error: 0.5692 - val_wine_type_accuracy: 0.9949 Epoch 95/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.3067 - wine_quality_loss: 0.2855 - wine_type_loss: 0.0213 - wine_quality_root_mean_squared_error: 0.5342 - wine_type_accuracy: 0.9959 - val_loss: 0.3439 - val_wine_quality_loss: 0.3160 - val_wine_type_loss: 0.0268 - val_wine_quality_root_mean_squared_error: 0.5629 - val_wine_type_accuracy: 0.9949 Epoch 96/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3062 - wine_quality_loss: 0.2852 - wine_type_loss: 0.0212 - wine_quality_root_mean_squared_error: 0.5338 - wine_type_accuracy: 0.9959 - val_loss: 0.3411 - val_wine_quality_loss: 0.3132 - val_wine_type_loss: 0.0267 - val_wine_quality_root_mean_squared_error: 0.5604 - val_wine_type_accuracy: 0.9949 Epoch 97/180 3155/3155 [==============================] - 0s 89us/sample - loss: 0.3061 - wine_quality_loss: 0.2845 - wine_type_loss: 0.0213 - wine_quality_root_mean_squared_error: 0.5339 - wine_type_accuracy: 0.9959 - val_loss: 0.3432 - val_wine_quality_loss: 0.3156 - val_wine_type_loss: 0.0266 - val_wine_quality_root_mean_squared_error: 0.5623 - val_wine_type_accuracy: 0.9949 Epoch 98/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3049 - wine_quality_loss: 0.2838 - wine_type_loss: 0.0209 - wine_quality_root_mean_squared_error: 0.5328 - wine_type_accuracy: 0.9959 - val_loss: 0.3373 - val_wine_quality_loss: 0.3098 - val_wine_type_loss: 0.0266 - val_wine_quality_root_mean_squared_error: 0.5571 - val_wine_type_accuracy: 0.9949 Epoch 99/180 3155/3155 [==============================] - 0s 76us/sample - loss: 0.3041 - wine_quality_loss: 0.2835 - wine_type_loss: 0.0208 - wine_quality_root_mean_squared_error: 0.5321 - wine_type_accuracy: 0.9959 - val_loss: 0.3433 - val_wine_quality_loss: 0.3159 - val_wine_type_loss: 0.0266 - val_wine_quality_root_mean_squared_error: 0.5624 - val_wine_type_accuracy: 0.9949 Epoch 100/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3046 - wine_quality_loss: 0.2835 - wine_type_loss: 0.0207 - wine_quality_root_mean_squared_error: 0.5327 - wine_type_accuracy: 0.9959 - val_loss: 0.3391 - val_wine_quality_loss: 0.3113 - val_wine_type_loss: 0.0267 - val_wine_quality_root_mean_squared_error: 0.5586 - val_wine_type_accuracy: 0.9949 Epoch 101/180 3155/3155 [==============================] - 0s 95us/sample - loss: 0.3024 - wine_quality_loss: 0.2817 - wine_type_loss: 0.0207 - wine_quality_root_mean_squared_error: 0.5307 - wine_type_accuracy: 0.9959 - val_loss: 0.3378 - val_wine_quality_loss: 0.3104 - val_wine_type_loss: 0.0265 - val_wine_quality_root_mean_squared_error: 0.5577 - val_wine_type_accuracy: 0.9949 Epoch 102/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3019 - wine_quality_loss: 0.2817 - wine_type_loss: 0.0205 - wine_quality_root_mean_squared_error: 0.5304 - wine_type_accuracy: 0.9959 - val_loss: 0.3385 - val_wine_quality_loss: 0.3114 - val_wine_type_loss: 0.0263 - val_wine_quality_root_mean_squared_error: 0.5585 - val_wine_type_accuracy: 0.9949 Epoch 103/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.3012 - wine_quality_loss: 0.2810 - wine_type_loss: 0.0204 - wine_quality_root_mean_squared_error: 0.5299 - wine_type_accuracy: 0.9959 - val_loss: 0.3378 - val_wine_quality_loss: 0.3106 - val_wine_type_loss: 0.0264 - val_wine_quality_root_mean_squared_error: 0.5578 - val_wine_type_accuracy: 0.9949 Epoch 104/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3015 - wine_quality_loss: 0.2811 - wine_type_loss: 0.0203 - wine_quality_root_mean_squared_error: 0.5302 - wine_type_accuracy: 0.9959 - val_loss: 0.3384 - val_wine_quality_loss: 0.3109 - val_wine_type_loss: 0.0263 - val_wine_quality_root_mean_squared_error: 0.5584 - val_wine_type_accuracy: 0.9949 Epoch 105/180 3155/3155 [==============================] - 0s 95us/sample - loss: 0.3011 - wine_quality_loss: 0.2813 - wine_type_loss: 0.0202 - wine_quality_root_mean_squared_error: 0.5299 - wine_type_accuracy: 0.9962 - val_loss: 0.3366 - val_wine_quality_loss: 0.3092 - val_wine_type_loss: 0.0262 - val_wine_quality_root_mean_squared_error: 0.5568 - val_wine_type_accuracy: 0.9949 Epoch 106/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.3000 - wine_quality_loss: 0.2797 - wine_type_loss: 0.0202 - wine_quality_root_mean_squared_error: 0.5290 - wine_type_accuracy: 0.9959 - val_loss: 0.3385 - val_wine_quality_loss: 0.3113 - val_wine_type_loss: 0.0262 - val_wine_quality_root_mean_squared_error: 0.5585 - val_wine_type_accuracy: 0.9949 Epoch 107/180 3155/3155 [==============================] - 0s 76us/sample - loss: 0.2991 - wine_quality_loss: 0.2791 - wine_type_loss: 0.0200 - wine_quality_root_mean_squared_error: 0.5282 - wine_type_accuracy: 0.9962 - val_loss: 0.3423 - val_wine_quality_loss: 0.3148 - val_wine_type_loss: 0.0261 - val_wine_quality_root_mean_squared_error: 0.5620 - val_wine_type_accuracy: 0.9949 Epoch 108/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.2984 - wine_quality_loss: 0.2778 - wine_type_loss: 0.0199 - wine_quality_root_mean_squared_error: 0.5277 - wine_type_accuracy: 0.9962 - val_loss: 0.3393 - val_wine_quality_loss: 0.3121 - val_wine_type_loss: 0.0260 - val_wine_quality_root_mean_squared_error: 0.5594 - val_wine_type_accuracy: 0.9949 Epoch 109/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.2977 - wine_quality_loss: 0.2791 - wine_type_loss: 0.0198 - wine_quality_root_mean_squared_error: 0.5271 - wine_type_accuracy: 0.9962 - val_loss: 0.3445 - val_wine_quality_loss: 0.3174 - val_wine_type_loss: 0.0261 - val_wine_quality_root_mean_squared_error: 0.5640 - val_wine_type_accuracy: 0.9949 Epoch 110/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2976 - wine_quality_loss: 0.2777 - wine_type_loss: 0.0197 - wine_quality_root_mean_squared_error: 0.5270 - wine_type_accuracy: 0.9962 - val_loss: 0.3406 - val_wine_quality_loss: 0.3136 - val_wine_type_loss: 0.0260 - val_wine_quality_root_mean_squared_error: 0.5606 - val_wine_type_accuracy: 0.9949 Epoch 111/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.2975 - wine_quality_loss: 0.2778 - wine_type_loss: 0.0196 - wine_quality_root_mean_squared_error: 0.5271 - wine_type_accuracy: 0.9962 - val_loss: 0.3335 - val_wine_quality_loss: 0.3064 - val_wine_type_loss: 0.0261 - val_wine_quality_root_mean_squared_error: 0.5542 - val_wine_type_accuracy: 0.9949 Epoch 112/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2969 - wine_quality_loss: 0.2773 - wine_type_loss: 0.0196 - wine_quality_root_mean_squared_error: 0.5266 - wine_type_accuracy: 0.9962 - val_loss: 0.3366 - val_wine_quality_loss: 0.3098 - val_wine_type_loss: 0.0260 - val_wine_quality_root_mean_squared_error: 0.5570 - val_wine_type_accuracy: 0.9949 Epoch 113/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2966 - wine_quality_loss: 0.2768 - wine_type_loss: 0.0194 - wine_quality_root_mean_squared_error: 0.5264 - wine_type_accuracy: 0.9962 - val_loss: 0.3341 - val_wine_quality_loss: 0.3071 - val_wine_type_loss: 0.0259 - val_wine_quality_root_mean_squared_error: 0.5548 - val_wine_type_accuracy: 0.9949 Epoch 114/180 3155/3155 [==============================] - 0s 78us/sample - loss: 0.2964 - wine_quality_loss: 0.2770 - wine_type_loss: 0.0193 - wine_quality_root_mean_squared_error: 0.5264 - wine_type_accuracy: 0.9962 - val_loss: 0.3370 - val_wine_quality_loss: 0.3103 - val_wine_type_loss: 0.0258 - val_wine_quality_root_mean_squared_error: 0.5576 - val_wine_type_accuracy: 0.9949 Epoch 115/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2966 - wine_quality_loss: 0.2774 - wine_type_loss: 0.0192 - wine_quality_root_mean_squared_error: 0.5266 - wine_type_accuracy: 0.9962 - val_loss: 0.3343 - val_wine_quality_loss: 0.3077 - val_wine_type_loss: 0.0258 - val_wine_quality_root_mean_squared_error: 0.5551 - val_wine_type_accuracy: 0.9949 Epoch 116/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2950 - wine_quality_loss: 0.2763 - wine_type_loss: 0.0191 - wine_quality_root_mean_squared_error: 0.5251 - wine_type_accuracy: 0.9962 - val_loss: 0.3540 - val_wine_quality_loss: 0.3275 - val_wine_type_loss: 0.0259 - val_wine_quality_root_mean_squared_error: 0.5725 - val_wine_type_accuracy: 0.9949 Epoch 117/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2950 - wine_quality_loss: 0.2756 - wine_type_loss: 0.0190 - wine_quality_root_mean_squared_error: 0.5252 - wine_type_accuracy: 0.9962 - val_loss: 0.3353 - val_wine_quality_loss: 0.3086 - val_wine_type_loss: 0.0258 - val_wine_quality_root_mean_squared_error: 0.5560 - val_wine_type_accuracy: 0.9949 Epoch 118/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2946 - wine_quality_loss: 0.2755 - wine_type_loss: 0.0191 - wine_quality_root_mean_squared_error: 0.5250 - wine_type_accuracy: 0.9962 - val_loss: 0.3381 - val_wine_quality_loss: 0.3113 - val_wine_type_loss: 0.0258 - val_wine_quality_root_mean_squared_error: 0.5585 - val_wine_type_accuracy: 0.9949 Epoch 119/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2936 - wine_quality_loss: 0.2747 - wine_type_loss: 0.0188 - wine_quality_root_mean_squared_error: 0.5241 - wine_type_accuracy: 0.9962 - val_loss: 0.3347 - val_wine_quality_loss: 0.3079 - val_wine_type_loss: 0.0258 - val_wine_quality_root_mean_squared_error: 0.5555 - val_wine_type_accuracy: 0.9949 Epoch 120/180 3155/3155 [==============================] - 0s 90us/sample - loss: 0.2921 - wine_quality_loss: 0.2733 - wine_type_loss: 0.0188 - wine_quality_root_mean_squared_error: 0.5227 - wine_type_accuracy: 0.9962 - val_loss: 0.3357 - val_wine_quality_loss: 0.3091 - val_wine_type_loss: 0.0257 - val_wine_quality_root_mean_squared_error: 0.5565 - val_wine_type_accuracy: 0.9949 Epoch 121/180 3155/3155 [==============================] - 0s 79us/sample - loss: 0.2926 - wine_quality_loss: 0.2735 - wine_type_loss: 0.0187 - wine_quality_root_mean_squared_error: 0.5233 - wine_type_accuracy: 0.9962 - val_loss: 0.3392 - val_wine_quality_loss: 0.3126 - val_wine_type_loss: 0.0256 - val_wine_quality_root_mean_squared_error: 0.5597 - val_wine_type_accuracy: 0.9949 Epoch 122/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2916 - wine_quality_loss: 0.2731 - wine_type_loss: 0.0186 - wine_quality_root_mean_squared_error: 0.5223 - wine_type_accuracy: 0.9962 - val_loss: 0.3331 - val_wine_quality_loss: 0.3063 - val_wine_type_loss: 0.0258 - val_wine_quality_root_mean_squared_error: 0.5540 - val_wine_type_accuracy: 0.9949 Epoch 123/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2919 - wine_quality_loss: 0.2729 - wine_type_loss: 0.0186 - wine_quality_root_mean_squared_error: 0.5227 - wine_type_accuracy: 0.9962 - val_loss: 0.3409 - val_wine_quality_loss: 0.3144 - val_wine_type_loss: 0.0258 - val_wine_quality_root_mean_squared_error: 0.5610 - val_wine_type_accuracy: 0.9949 Epoch 124/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2907 - wine_quality_loss: 0.2722 - wine_type_loss: 0.0188 - wine_quality_root_mean_squared_error: 0.5217 - wine_type_accuracy: 0.9962 - val_loss: 0.3433 - val_wine_quality_loss: 0.3161 - val_wine_type_loss: 0.0258 - val_wine_quality_root_mean_squared_error: 0.5632 - val_wine_type_accuracy: 0.9949 Epoch 125/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.2901 - wine_quality_loss: 0.2721 - wine_type_loss: 0.0184 - wine_quality_root_mean_squared_error: 0.5212 - wine_type_accuracy: 0.9962 - val_loss: 0.3375 - val_wine_quality_loss: 0.3108 - val_wine_type_loss: 0.0258 - val_wine_quality_root_mean_squared_error: 0.5579 - val_wine_type_accuracy: 0.9949 Epoch 126/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.2884 - wine_quality_loss: 0.2699 - wine_type_loss: 0.0183 - wine_quality_root_mean_squared_error: 0.5196 - wine_type_accuracy: 0.9962 - val_loss: 0.3481 - val_wine_quality_loss: 0.3213 - val_wine_type_loss: 0.0257 - val_wine_quality_root_mean_squared_error: 0.5676 - val_wine_type_accuracy: 0.9949 Epoch 127/180 3155/3155 [==============================] - 0s 77us/sample - loss: 0.2878 - wine_quality_loss: 0.2693 - wine_type_loss: 0.0184 - wine_quality_root_mean_squared_error: 0.5191 - wine_type_accuracy: 0.9962 - val_loss: 0.3344 - val_wine_quality_loss: 0.3082 - val_wine_type_loss: 0.0257 - val_wine_quality_root_mean_squared_error: 0.5553 - val_wine_type_accuracy: 0.9949 Epoch 128/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2903 - wine_quality_loss: 0.2721 - wine_type_loss: 0.0181 - wine_quality_root_mean_squared_error: 0.5217 - wine_type_accuracy: 0.9962 - val_loss: 0.3386 - val_wine_quality_loss: 0.3119 - val_wine_type_loss: 0.0257 - val_wine_quality_root_mean_squared_error: 0.5590 - val_wine_type_accuracy: 0.9949 Epoch 129/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2877 - wine_quality_loss: 0.2693 - wine_type_loss: 0.0181 - wine_quality_root_mean_squared_error: 0.5192 - wine_type_accuracy: 0.9962 - val_loss: 0.3418 - val_wine_quality_loss: 0.3151 - val_wine_type_loss: 0.0258 - val_wine_quality_root_mean_squared_error: 0.5619 - val_wine_type_accuracy: 0.9949 Epoch 130/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2885 - wine_quality_loss: 0.2703 - wine_type_loss: 0.0180 - wine_quality_root_mean_squared_error: 0.5200 - wine_type_accuracy: 0.9962 - val_loss: 0.3391 - val_wine_quality_loss: 0.3124 - val_wine_type_loss: 0.0258 - val_wine_quality_root_mean_squared_error: 0.5594 - val_wine_type_accuracy: 0.9949 Epoch 131/180 3155/3155 [==============================] - 0s 89us/sample - loss: 0.2877 - wine_quality_loss: 0.2698 - wine_type_loss: 0.0180 - wine_quality_root_mean_squared_error: 0.5193 - wine_type_accuracy: 0.9962 - val_loss: 0.3378 - val_wine_quality_loss: 0.3113 - val_wine_type_loss: 0.0257 - val_wine_quality_root_mean_squared_error: 0.5584 - val_wine_type_accuracy: 0.9949 Epoch 132/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2880 - wine_quality_loss: 0.2703 - wine_type_loss: 0.0178 - wine_quality_root_mean_squared_error: 0.5198 - wine_type_accuracy: 0.9962 - val_loss: 0.3438 - val_wine_quality_loss: 0.3168 - val_wine_type_loss: 0.0256 - val_wine_quality_root_mean_squared_error: 0.5637 - val_wine_type_accuracy: 0.9949 Epoch 133/180 3155/3155 [==============================] - 0s 79us/sample - loss: 0.2876 - wine_quality_loss: 0.2694 - wine_type_loss: 0.0177 - wine_quality_root_mean_squared_error: 0.5194 - wine_type_accuracy: 0.9962 - val_loss: 0.3339 - val_wine_quality_loss: 0.3075 - val_wine_type_loss: 0.0256 - val_wine_quality_root_mean_squared_error: 0.5550 - val_wine_type_accuracy: 0.9949 Epoch 134/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2861 - wine_quality_loss: 0.2693 - wine_type_loss: 0.0176 - wine_quality_root_mean_squared_error: 0.5181 - wine_type_accuracy: 0.9962 - val_loss: 0.3407 - val_wine_quality_loss: 0.3140 - val_wine_type_loss: 0.0257 - val_wine_quality_root_mean_squared_error: 0.5610 - val_wine_type_accuracy: 0.9949 Epoch 135/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2876 - wine_quality_loss: 0.2704 - wine_type_loss: 0.0177 - wine_quality_root_mean_squared_error: 0.5195 - wine_type_accuracy: 0.9962 - val_loss: 0.3354 - val_wine_quality_loss: 0.3090 - val_wine_type_loss: 0.0256 - val_wine_quality_root_mean_squared_error: 0.5563 - val_wine_type_accuracy: 0.9949 Epoch 136/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.2852 - wine_quality_loss: 0.2681 - wine_type_loss: 0.0178 - wine_quality_root_mean_squared_error: 0.5173 - wine_type_accuracy: 0.9962 - val_loss: 0.3345 - val_wine_quality_loss: 0.3079 - val_wine_type_loss: 0.0254 - val_wine_quality_root_mean_squared_error: 0.5556 - val_wine_type_accuracy: 0.9949 Epoch 137/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.2848 - wine_quality_loss: 0.2676 - wine_type_loss: 0.0174 - wine_quality_root_mean_squared_error: 0.5171 - wine_type_accuracy: 0.9962 - val_loss: 0.3361 - val_wine_quality_loss: 0.3096 - val_wine_type_loss: 0.0254 - val_wine_quality_root_mean_squared_error: 0.5571 - val_wine_type_accuracy: 0.9949 Epoch 138/180 3155/3155 [==============================] - 0s 95us/sample - loss: 0.2854 - wine_quality_loss: 0.2678 - wine_type_loss: 0.0173 - wine_quality_root_mean_squared_error: 0.5177 - wine_type_accuracy: 0.9962 - val_loss: 0.3351 - val_wine_quality_loss: 0.3089 - val_wine_type_loss: 0.0254 - val_wine_quality_root_mean_squared_error: 0.5562 - val_wine_type_accuracy: 0.9949 Epoch 139/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2843 - wine_quality_loss: 0.2678 - wine_type_loss: 0.0172 - wine_quality_root_mean_squared_error: 0.5167 - wine_type_accuracy: 0.9965 - val_loss: 0.3400 - val_wine_quality_loss: 0.3140 - val_wine_type_loss: 0.0254 - val_wine_quality_root_mean_squared_error: 0.5606 - val_wine_type_accuracy: 0.9949 Epoch 140/180 3155/3155 [==============================] - 0s 75us/sample - loss: 0.2835 - wine_quality_loss: 0.2657 - wine_type_loss: 0.0172 - wine_quality_root_mean_squared_error: 0.5160 - wine_type_accuracy: 0.9965 - val_loss: 0.3362 - val_wine_quality_loss: 0.3100 - val_wine_type_loss: 0.0255 - val_wine_quality_root_mean_squared_error: 0.5572 - val_wine_type_accuracy: 0.9949 Epoch 141/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.2837 - wine_quality_loss: 0.2661 - wine_type_loss: 0.0172 - wine_quality_root_mean_squared_error: 0.5162 - wine_type_accuracy: 0.9962 - val_loss: 0.3355 - val_wine_quality_loss: 0.3095 - val_wine_type_loss: 0.0254 - val_wine_quality_root_mean_squared_error: 0.5566 - val_wine_type_accuracy: 0.9949 Epoch 142/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2821 - wine_quality_loss: 0.2651 - wine_type_loss: 0.0171 - wine_quality_root_mean_squared_error: 0.5148 - wine_type_accuracy: 0.9965 - val_loss: 0.3465 - val_wine_quality_loss: 0.3201 - val_wine_type_loss: 0.0253 - val_wine_quality_root_mean_squared_error: 0.5664 - val_wine_type_accuracy: 0.9949 Epoch 143/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2812 - wine_quality_loss: 0.2645 - wine_type_loss: 0.0170 - wine_quality_root_mean_squared_error: 0.5140 - wine_type_accuracy: 0.9962 - val_loss: 0.3361 - val_wine_quality_loss: 0.3100 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5573 - val_wine_type_accuracy: 0.9937 Epoch 144/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.2831 - wine_quality_loss: 0.2663 - wine_type_loss: 0.0169 - wine_quality_root_mean_squared_error: 0.5158 - wine_type_accuracy: 0.9965 - val_loss: 0.3379 - val_wine_quality_loss: 0.3118 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5588 - val_wine_type_accuracy: 0.9937 Epoch 145/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2808 - wine_quality_loss: 0.2644 - wine_type_loss: 0.0168 - wine_quality_root_mean_squared_error: 0.5138 - wine_type_accuracy: 0.9965 - val_loss: 0.3418 - val_wine_quality_loss: 0.3157 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5624 - val_wine_type_accuracy: 0.9949 Epoch 146/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2812 - wine_quality_loss: 0.2640 - wine_type_loss: 0.0167 - wine_quality_root_mean_squared_error: 0.5142 - wine_type_accuracy: 0.9965 - val_loss: 0.3384 - val_wine_quality_loss: 0.3125 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5594 - val_wine_type_accuracy: 0.9937 Epoch 147/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2803 - wine_quality_loss: 0.2637 - wine_type_loss: 0.0167 - wine_quality_root_mean_squared_error: 0.5133 - wine_type_accuracy: 0.9965 - val_loss: 0.3318 - val_wine_quality_loss: 0.3059 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5534 - val_wine_type_accuracy: 0.9937 Epoch 148/180 3155/3155 [==============================] - 0s 77us/sample - loss: 0.2801 - wine_quality_loss: 0.2638 - wine_type_loss: 0.0166 - wine_quality_root_mean_squared_error: 0.5133 - wine_type_accuracy: 0.9965 - val_loss: 0.3448 - val_wine_quality_loss: 0.3192 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5650 - val_wine_type_accuracy: 0.9937 Epoch 149/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2794 - wine_quality_loss: 0.2622 - wine_type_loss: 0.0166 - wine_quality_root_mean_squared_error: 0.5126 - wine_type_accuracy: 0.9965 - val_loss: 0.3391 - val_wine_quality_loss: 0.3128 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5600 - val_wine_type_accuracy: 0.9937 Epoch 150/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.2790 - wine_quality_loss: 0.2622 - wine_type_loss: 0.0164 - wine_quality_root_mean_squared_error: 0.5123 - wine_type_accuracy: 0.9965 - val_loss: 0.3379 - val_wine_quality_loss: 0.3118 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5588 - val_wine_type_accuracy: 0.9937 Epoch 151/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.2784 - wine_quality_loss: 0.2624 - wine_type_loss: 0.0164 - wine_quality_root_mean_squared_error: 0.5118 - wine_type_accuracy: 0.9965 - val_loss: 0.3402 - val_wine_quality_loss: 0.3142 - val_wine_type_loss: 0.0253 - val_wine_quality_root_mean_squared_error: 0.5608 - val_wine_type_accuracy: 0.9949 Epoch 152/180 3155/3155 [==============================] - 0s 95us/sample - loss: 0.2790 - wine_quality_loss: 0.2620 - wine_type_loss: 0.0163 - wine_quality_root_mean_squared_error: 0.5124 - wine_type_accuracy: 0.9965 - val_loss: 0.3429 - val_wine_quality_loss: 0.3167 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5634 - val_wine_type_accuracy: 0.9937 Epoch 153/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2783 - wine_quality_loss: 0.2619 - wine_type_loss: 0.0162 - wine_quality_root_mean_squared_error: 0.5119 - wine_type_accuracy: 0.9965 - val_loss: 0.3511 - val_wine_quality_loss: 0.3250 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5706 - val_wine_type_accuracy: 0.9949 Epoch 154/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2790 - wine_quality_loss: 0.2631 - wine_type_loss: 0.0162 - wine_quality_root_mean_squared_error: 0.5126 - wine_type_accuracy: 0.9965 - val_loss: 0.3408 - val_wine_quality_loss: 0.3145 - val_wine_type_loss: 0.0253 - val_wine_quality_root_mean_squared_error: 0.5615 - val_wine_type_accuracy: 0.9949 Epoch 155/180 3155/3155 [==============================] - 0s 89us/sample - loss: 0.2774 - wine_quality_loss: 0.2618 - wine_type_loss: 0.0162 - wine_quality_root_mean_squared_error: 0.5110 - wine_type_accuracy: 0.9965 - val_loss: 0.3368 - val_wine_quality_loss: 0.3108 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5579 - val_wine_type_accuracy: 0.9949 Epoch 156/180 3155/3155 [==============================] - 0s 78us/sample - loss: 0.2769 - wine_quality_loss: 0.2603 - wine_type_loss: 0.0161 - wine_quality_root_mean_squared_error: 0.5106 - wine_type_accuracy: 0.9965 - val_loss: 0.3394 - val_wine_quality_loss: 0.3138 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5603 - val_wine_type_accuracy: 0.9949 Epoch 157/180 3155/3155 [==============================] - 0s 95us/sample - loss: 0.2778 - wine_quality_loss: 0.2616 - wine_type_loss: 0.0160 - wine_quality_root_mean_squared_error: 0.5116 - wine_type_accuracy: 0.9965 - val_loss: 0.3418 - val_wine_quality_loss: 0.3158 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5625 - val_wine_type_accuracy: 0.9949 Epoch 158/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2767 - wine_quality_loss: 0.2607 - wine_type_loss: 0.0159 - wine_quality_root_mean_squared_error: 0.5106 - wine_type_accuracy: 0.9965 - val_loss: 0.3365 - val_wine_quality_loss: 0.3105 - val_wine_type_loss: 0.0250 - val_wine_quality_root_mean_squared_error: 0.5578 - val_wine_type_accuracy: 0.9949 Epoch 159/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.2766 - wine_quality_loss: 0.2605 - wine_type_loss: 0.0159 - wine_quality_root_mean_squared_error: 0.5105 - wine_type_accuracy: 0.9965 - val_loss: 0.3362 - val_wine_quality_loss: 0.3104 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5575 - val_wine_type_accuracy: 0.9949 Epoch 160/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2770 - wine_quality_loss: 0.2612 - wine_type_loss: 0.0158 - wine_quality_root_mean_squared_error: 0.5110 - wine_type_accuracy: 0.9965 - val_loss: 0.3345 - val_wine_quality_loss: 0.3085 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5559 - val_wine_type_accuracy: 0.9949 Epoch 161/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2750 - wine_quality_loss: 0.2590 - wine_type_loss: 0.0171 - wine_quality_root_mean_squared_error: 0.5090 - wine_type_accuracy: 0.9965 - val_loss: 0.3367 - val_wine_quality_loss: 0.3110 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5580 - val_wine_type_accuracy: 0.9949 Epoch 162/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.2751 - wine_quality_loss: 0.2594 - wine_type_loss: 0.0157 - wine_quality_root_mean_squared_error: 0.5092 - wine_type_accuracy: 0.9965 - val_loss: 0.3444 - val_wine_quality_loss: 0.3186 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5648 - val_wine_type_accuracy: 0.9949 Epoch 163/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2742 - wine_quality_loss: 0.2582 - wine_type_loss: 0.0173 - wine_quality_root_mean_squared_error: 0.5083 - wine_type_accuracy: 0.9965 - val_loss: 0.3495 - val_wine_quality_loss: 0.3234 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5692 - val_wine_type_accuracy: 0.9949 Epoch 164/180 3155/3155 [==============================] - 0s 74us/sample - loss: 0.2734 - wine_quality_loss: 0.2577 - wine_type_loss: 0.0156 - wine_quality_root_mean_squared_error: 0.5077 - wine_type_accuracy: 0.9965 - val_loss: 0.3437 - val_wine_quality_loss: 0.3175 - val_wine_type_loss: 0.0249 - val_wine_quality_root_mean_squared_error: 0.5643 - val_wine_type_accuracy: 0.9949 Epoch 165/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2736 - wine_quality_loss: 0.2582 - wine_type_loss: 0.0155 - wine_quality_root_mean_squared_error: 0.5079 - wine_type_accuracy: 0.9965 - val_loss: 0.3373 - val_wine_quality_loss: 0.3117 - val_wine_type_loss: 0.0250 - val_wine_quality_root_mean_squared_error: 0.5586 - val_wine_type_accuracy: 0.9949 Epoch 166/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2727 - wine_quality_loss: 0.2568 - wine_type_loss: 0.0155 - wine_quality_root_mean_squared_error: 0.5071 - wine_type_accuracy: 0.9965 - val_loss: 0.3342 - val_wine_quality_loss: 0.3084 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5557 - val_wine_type_accuracy: 0.9949 Epoch 167/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.2732 - wine_quality_loss: 0.2582 - wine_type_loss: 0.0154 - wine_quality_root_mean_squared_error: 0.5076 - wine_type_accuracy: 0.9968 - val_loss: 0.3340 - val_wine_quality_loss: 0.3081 - val_wine_type_loss: 0.0250 - val_wine_quality_root_mean_squared_error: 0.5556 - val_wine_type_accuracy: 0.9949 Epoch 168/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.2707 - wine_quality_loss: 0.2552 - wine_type_loss: 0.0154 - wine_quality_root_mean_squared_error: 0.5053 - wine_type_accuracy: 0.9965 - val_loss: 0.3386 - val_wine_quality_loss: 0.3128 - val_wine_type_loss: 0.0250 - val_wine_quality_root_mean_squared_error: 0.5597 - val_wine_type_accuracy: 0.9949 Epoch 169/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2720 - wine_quality_loss: 0.2567 - wine_type_loss: 0.0153 - wine_quality_root_mean_squared_error: 0.5066 - wine_type_accuracy: 0.9965 - val_loss: 0.3344 - val_wine_quality_loss: 0.3086 - val_wine_type_loss: 0.0250 - val_wine_quality_root_mean_squared_error: 0.5559 - val_wine_type_accuracy: 0.9949 Epoch 170/180 3155/3155 [==============================] - 0s 94us/sample - loss: 0.2713 - wine_quality_loss: 0.2562 - wine_type_loss: 0.0153 - wine_quality_root_mean_squared_error: 0.5060 - wine_type_accuracy: 0.9968 - val_loss: 0.3458 - val_wine_quality_loss: 0.3201 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5661 - val_wine_type_accuracy: 0.9949 Epoch 171/180 3155/3155 [==============================] - 0s 90us/sample - loss: 0.2713 - wine_quality_loss: 0.2561 - wine_type_loss: 0.0152 - wine_quality_root_mean_squared_error: 0.5061 - wine_type_accuracy: 0.9965 - val_loss: 0.3423 - val_wine_quality_loss: 0.3162 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5629 - val_wine_type_accuracy: 0.9949 Epoch 172/180 3155/3155 [==============================] - 0s 77us/sample - loss: 0.2709 - wine_quality_loss: 0.2559 - wine_type_loss: 0.0151 - wine_quality_root_mean_squared_error: 0.5057 - wine_type_accuracy: 0.9965 - val_loss: 0.3377 - val_wine_quality_loss: 0.3116 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5588 - val_wine_type_accuracy: 0.9949 Epoch 173/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.2709 - wine_quality_loss: 0.2565 - wine_type_loss: 0.0150 - wine_quality_root_mean_squared_error: 0.5057 - wine_type_accuracy: 0.9968 - val_loss: 0.3388 - val_wine_quality_loss: 0.3127 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5598 - val_wine_type_accuracy: 0.9949 Epoch 174/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2704 - wine_quality_loss: 0.2555 - wine_type_loss: 0.0150 - wine_quality_root_mean_squared_error: 0.5053 - wine_type_accuracy: 0.9965 - val_loss: 0.3423 - val_wine_quality_loss: 0.3165 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5628 - val_wine_type_accuracy: 0.9949 Epoch 175/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2695 - wine_quality_loss: 0.2545 - wine_type_loss: 0.0150 - wine_quality_root_mean_squared_error: 0.5044 - wine_type_accuracy: 0.9965 - val_loss: 0.3349 - val_wine_quality_loss: 0.3089 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5562 - val_wine_type_accuracy: 0.9949 Epoch 176/180 3155/3155 [==============================] - 0s 93us/sample - loss: 0.2692 - wine_quality_loss: 0.2541 - wine_type_loss: 0.0149 - wine_quality_root_mean_squared_error: 0.5042 - wine_type_accuracy: 0.9968 - val_loss: 0.3365 - val_wine_quality_loss: 0.3105 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5577 - val_wine_type_accuracy: 0.9949 Epoch 177/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.2693 - wine_quality_loss: 0.2540 - wine_type_loss: 0.0148 - wine_quality_root_mean_squared_error: 0.5044 - wine_type_accuracy: 0.9965 - val_loss: 0.3345 - val_wine_quality_loss: 0.3088 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5558 - val_wine_type_accuracy: 0.9949 Epoch 178/180 3155/3155 [==============================] - 0s 92us/sample - loss: 0.2687 - wine_quality_loss: 0.2540 - wine_type_loss: 0.0148 - wine_quality_root_mean_squared_error: 0.5038 - wine_type_accuracy: 0.9968 - val_loss: 0.3417 - val_wine_quality_loss: 0.3159 - val_wine_type_loss: 0.0251 - val_wine_quality_root_mean_squared_error: 0.5624 - val_wine_type_accuracy: 0.9949 Epoch 179/180 3155/3155 [==============================] - 0s 79us/sample - loss: 0.2682 - wine_quality_loss: 0.2533 - wine_type_loss: 0.0147 - wine_quality_root_mean_squared_error: 0.5035 - wine_type_accuracy: 0.9965 - val_loss: 0.3339 - val_wine_quality_loss: 0.3080 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5553 - val_wine_type_accuracy: 0.9949 Epoch 180/180 3155/3155 [==============================] - 0s 91us/sample - loss: 0.2687 - wine_quality_loss: 0.2542 - wine_type_loss: 0.0147 - wine_quality_root_mean_squared_error: 0.5039 - wine_type_accuracy: 0.9965 - val_loss: 0.3354 - val_wine_quality_loss: 0.3095 - val_wine_type_loss: 0.0252 - val_wine_quality_root_mean_squared_error: 0.5567 - val_wine_type_accuracy: 0.9949
utils.test_history(history)
All public tests passed
# Gather the training metrics loss, wine_quality_loss, wine_type_loss, wine_quality_rmse, wine_type_accuracy = model.evaluate(x=norm_val_X, y=val_Y) print() print(f'loss: {loss}') print(f'wine_quality_loss: {wine_quality_loss}') print(f'wine_type_loss: {wine_type_loss}') print(f'wine_quality_rmse: {wine_quality_rmse}') print(f'wine_type_accuracy: {wine_type_accuracy}') # EXPECTED VALUES # ~ 0.30 - 0.38 # ~ 0.30 - 0.38 # ~ 0.018 - 0.030 # ~ 0.50 - 0.62 # ~ 0.97 - 1.0 # Example: #0.3657050132751465 #0.3463745415210724 #0.019330406561493874 #0.5885359048843384 #0.9974651336669922
789/789 [==============================] - 0s 61us/sample - loss: 0.3354 - wine_quality_loss: 0.3095 - wine_type_loss: 0.0252 - wine_quality_root_mean_squared_error: 0.5567 - wine_type_accuracy: 0.9949 loss: 0.335441492922859 wine_quality_loss: 0.3094671964645386 wine_type_loss: 0.02524704672396183 wine_quality_rmse: 0.5566568374633789 wine_type_accuracy: 0.9949302673339844

Analyze the Model Performance

Note that the model has two outputs. The output at index 0 is quality and index 1 is wine type

So, round the quality predictions to the nearest integer.

predictions = model.predict(norm_test_X) quality_pred = predictions[0] type_pred = predictions[1]
print(quality_pred[0]) # EXPECTED OUTPUT # 5.6 - 6.0
[5.587502]
print(type_pred[0]) print(type_pred[944]) # EXPECTED OUTPUT # A number close to zero # A number close to or equal to 1
[0.00022221] [0.9999976]

Plot Utilities

We define a few utilities to visualize the model performance.

def plot_metrics(metric_name, title, ylim=5): plt.title(title) plt.ylim(0,ylim) plt.plot(history.history[metric_name],color='blue',label=metric_name) plt.plot(history.history['val_' + metric_name],color='green',label='val_' + metric_name)
def plot_confusion_matrix(y_true, y_pred, title='', labels=[0,1]): cm = confusion_matrix(y_true, y_pred) fig = plt.figure() ax = fig.add_subplot(111) cax = ax.matshow(cm) plt.title('Confusion matrix of the classifier') fig.colorbar(cax) ax.set_xticklabels([''] + labels) ax.set_yticklabels([''] + labels) plt.xlabel('Predicted') plt.ylabel('True') fmt = 'd' thresh = cm.max() / 2. for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])): plt.text(j, i, format(cm[i, j], fmt), horizontalalignment="center", color="black" if cm[i, j] > thresh else "white") plt.show()
def plot_diff(y_true, y_pred, title = '' ): plt.scatter(y_true, y_pred) plt.title(title) plt.xlabel('True Values') plt.ylabel('Predictions') plt.axis('equal') plt.axis('square') plt.plot([-100, 100], [-100, 100]) return plt

Plots for Metrics

plot_metrics('wine_quality_root_mean_squared_error', 'RMSE', ylim=2)
Image in a Jupyter notebook
plot_metrics('wine_type_loss', 'Wine Type Loss', ylim=0.2)
Image in a Jupyter notebook

Plots for Confusion Matrix

Plot the confusion matrices for wine type. You can see that the model performs well for prediction of wine type from the confusion matrix and the loss metrics.

plot_confusion_matrix(test_Y[1], np.round(type_pred), title='Wine Type', labels = [0, 1])
Image in a Jupyter notebook
scatter_plot = plot_diff(test_Y[0], quality_pred, title='Type')
Image in a Jupyter notebook