1 Star 0 Fork 0

homer_1943/Ultimate-Deepfake-Detection-Using-Python

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Chapter9_DeepfakeAudioClassification.ipynb 1.17 MB
Nimrita 提交于 10个月前 . Add files via upload
import numpy as np
import os
import librosa
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, GlobalAveragePooling2D, Input, Activation,Reshape,MaxPooling2D, Dropout, Conv2D, MaxPool2D, Flatten

Dataset

  • We will use the dataset containing real and fake audio of well known people from https://www.kaggle.com/datasets/birdy654/deep-voice-deepfake-voice-recognition

  • The dataset is available under MIT License.

  • Download the Audio folder from above URL and save it with folder name "AudioClassification". It contains two sub folders - FAKE and REAL containing fake and real audio files respectively. Also download two files under the folder 'DEMONSTRATION' to test our audio classifier. These files are named as 'linus-original-DEMO.mp3' and 'linus-to-musk-DEMO.mp3', they contain original voice of Linus and voice of Linus converted to that of Elon Musk.

  • The code given here is inspired by the solutions to DEEP-VOICE: DeepFake Voice Recognition at Kaggle.com (https://www.kaggle.com/datasets/birdy654/deep-voice-deepfake-voice-recognition)

  • The below code was implemented in Jupyter Notebook under Anaconda 3 Python Distribution (Python 3.11.9) on a Windows 11 PC.

# this code loads Real and Fake audio files dataset

paths = [] #list of audio file paths (both real and fake)

# Label of each audio file is the name of folder it is in (REAL or FAKE)
labels = []# list of labels corresponding to each audio

# Define the path of folder containing audio files
audio_dir = 'AudioClassification\Audio'

#Subfolder containing real audio samples
real_audio_path = 'REAL'

#Subfolder containing fake audio samples
fake_audio_path = 'FAKE'

#for all subfolders in audio_dir we store the file name of each file in it and the corresponding label
for dir in os.listdir(audio_dir):
    dir_path = os.path.join(audio_dir, dir)
    if os.path.isdir(dir_path):
         for filename in os.listdir(dir_path):
            file_path = os.path.join(dir_path, filename)
            paths.append(file_path)
            labels.append(dir)

            
#let us see the subfolders in audio_dir
folders = os.listdir(audio_path)
print("The audio directory has following folders:", folders)

paths_and_labels = pd.DataFrame({'path': paths, 'label': labels} )
paths_and_labels.head(64)
            
The audio directory has following folders: ['FAKE', 'REAL']
path label
0 AudioClassification\Audio\FAKE\biden-to-linus.wav FAKE
1 AudioClassification\Audio\FAKE\biden-to-margot... FAKE
2 AudioClassification\Audio\FAKE\biden-to-musk.wav FAKE
3 AudioClassification\Audio\FAKE\biden-to-Obama.wav FAKE
4 AudioClassification\Audio\FAKE\biden-to-ryan.wav FAKE
... ... ...
59 AudioClassification\Audio\REAL\musk-original.wav REAL
60 AudioClassification\Audio\REAL\obama-original.wav REAL
61 AudioClassification\Audio\REAL\ryan-original.wav REAL
62 AudioClassification\Audio\REAL\taylor-original... REAL
63 AudioClassification\Audio\REAL\trump-original.wav REAL

64 rows × 2 columns

# Let us plot the mel-spectrogram a real audio musk-original.wav and that of the mel-spectrogram corresponding fake (voice converted) audio musk-original.wav using librosa library
real_audio = "AudioClassification\Audio\REAL\musk-original.wav"
fake_audio = "AudioClassification\Audio\FAKE\musk-to-obama.wav"

real_ad, real_sr = librosa.load(real_audio)
fake_ad, fake_sr = librosa.load(fake_audio)

real_mel_spect = librosa.feature.melspectrogram(y=real_ad, sr=real_sr)
real_mel_spect = librosa.power_to_db(real_mel_spect, ref=np.max)

fake_mel_spect = librosa.feature.melspectrogram(y=fake_ad, sr=fake_sr)
fake_mel_spect = librosa.power_to_db(fake_mel_spect, ref=np.max)

# Create a figure with two subplots
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(18, 8))




im1 = ax1.imshow(real_mel_spect, origin='lower', aspect='auto', cmap='magma')
#librosa.display.specshow(real_mel_spect, y_axis="mel", x_axis="time", ax=ax1)
ax1.set_title("Mel Spectogram of original audio")
plt.colorbar(im1, ax = ax1,format="%+2.0f dB")
ax1.set_xlabel("Time")
ax1.set_ylabel("Frequency")


im2 = ax2.imshow(fake_mel_spect, origin='lower', aspect='auto', cmap='magma')
#librosa.display.specshow(fake_mel_spect, y_axis="mel", x_axis="time", ax = ax2)
ax2.set_title("Mel Spectogram of fake (voice converted) audio")
plt.colorbar(im2,ax= ax2, format="%+2.0f dB")
ax2.set_xlabel("Time")
ax2.set_ylabel("Frequency")


plt.tight_layout()

plt.show()

# This function extracts Mel-Frequency Cepstral Coefficients as features from each audio sample 
# The Python library librosa is used to extract the features

def extract_mfcc_features(audio_path, max_length=1000):
    features = []
    labels = []
    for folder in os.listdir(audio_path):
        folder_path = os.path.join(audio_path, folder)
        for file in os.listdir(folder_path):
            file_path = os.path.join(folder_path, file)
            try:
                # Load audio file
                audio, _ = librosa.load(file_path, sr=16000)
                # Extract features (example: using Mel-Frequency Cepstral Coefficients)
                mfccs = librosa.feature.mfcc(y=audio, sr=16000, n_mfcc=100)
                # Pad or trim the feature array to a fixed length
                if mfccs.shape[1] < max_length:
                    mfccs = np.pad(mfccs, ((0, 0), (0, max_length - mfccs.shape[1])), mode='constant')
                else:
                    mfccs = mfccs[:, :max_length]
                features.append(mfccs)
                # Assign label
                if folder == 'FAKE':
                    labels.append(1)  # 1 for fake
                else:
                    labels.append(0)  # 0 for real
            except Exception as e:
                print(f"Error encountered while parsing file: {file_path}")
                continue
    return np.array(features), np.array(labels)
# We call extract_features() function to extract features from our audio files
audio_path = 'AudioClassification/Audio'
X, y = extract_mfcc_features(audio_path)
Features shape: (64, 40, 500)
Labels shape: (64,)
print("Features shape:", X.shape)
print("Labels shape:", y.shape)
Features shape: (64, 100, 1000)
Labels shape: (64,)
# Let us split the features set and labels into train and test portions
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 42)
model = Sequential()

model.add(Input(shape = (X_train.shape[1:])))
model.add(Reshape((100,1000,1)))

model.add(Conv2D(32, kernel_size=(3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(64, kernel_size=(3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
   


model.add(GlobalAveragePooling2D())

model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))  
model.compile(optimizer='adam', loss = 'binary_crossentropy', metrics  = ['accuracy'])
history = model.fit(X_train, y_train, epochs = 500, batch_size = 32, validation_data = [X_test,y_test])
Epoch 1/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 2s 503ms/step - accuracy: 0.9034 - loss: 0.3085 - val_accuracy: 0.7692 - val_loss: 0.6877
Epoch 2/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 0.9034 - loss: 0.3122 - val_accuracy: 0.7692 - val_loss: 0.6825
Epoch 3/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 376ms/step - accuracy: 0.8930 - loss: 0.3244 - val_accuracy: 0.7692 - val_loss: 0.6153
Epoch 4/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 362ms/step - accuracy: 0.8930 - loss: 0.3157 - val_accuracy: 0.7692 - val_loss: 0.6430
Epoch 5/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 359ms/step - accuracy: 0.8930 - loss: 0.2762 - val_accuracy: 0.7692 - val_loss: 0.7461
Epoch 6/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 361ms/step - accuracy: 0.8930 - loss: 0.3406 - val_accuracy: 0.7692 - val_loss: 0.7646
Epoch 7/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 376ms/step - accuracy: 0.9138 - loss: 0.2723 - val_accuracy: 0.7692 - val_loss: 0.7369
Epoch 8/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 425ms/step - accuracy: 0.9034 - loss: 0.3199 - val_accuracy: 0.7692 - val_loss: 0.6360
Epoch 9/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9138 - loss: 0.3413 - val_accuracy: 0.7692 - val_loss: 0.5835
Epoch 10/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9269 - loss: 0.2769 - val_accuracy: 0.7692 - val_loss: 0.5992
Epoch 11/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 351ms/step - accuracy: 0.8903 - loss: 0.2623 - val_accuracy: 0.7692 - val_loss: 0.6663
Epoch 12/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 371ms/step - accuracy: 0.9034 - loss: 0.2909 - val_accuracy: 0.7692 - val_loss: 0.7234
Epoch 13/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 364ms/step - accuracy: 0.9034 - loss: 0.3446 - val_accuracy: 0.7692 - val_loss: 0.7299
Epoch 14/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 360ms/step - accuracy: 0.9138 - loss: 0.2282 - val_accuracy: 0.7692 - val_loss: 0.6912
Epoch 15/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 376ms/step - accuracy: 0.8826 - loss: 0.3458 - val_accuracy: 0.7692 - val_loss: 0.6512
Epoch 16/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 359ms/step - accuracy: 0.8930 - loss: 0.2619 - val_accuracy: 0.7692 - val_loss: 0.6617
Epoch 17/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 359ms/step - accuracy: 0.9138 - loss: 0.2516 - val_accuracy: 0.7692 - val_loss: 0.7171
Epoch 18/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 344ms/step - accuracy: 0.9034 - loss: 0.2894 - val_accuracy: 0.7692 - val_loss: 0.7278
Epoch 19/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 359ms/step - accuracy: 0.9165 - loss: 0.3514 - val_accuracy: 0.7692 - val_loss: 0.6845
Epoch 20/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 360ms/step - accuracy: 0.9138 - loss: 0.2612 - val_accuracy: 0.7692 - val_loss: 0.6578
Epoch 21/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 365ms/step - accuracy: 0.9269 - loss: 0.2860 - val_accuracy: 0.7692 - val_loss: 0.6293
Epoch 22/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 359ms/step - accuracy: 0.9165 - loss: 0.3048 - val_accuracy: 0.7692 - val_loss: 0.6171
Epoch 23/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 0.9034 - loss: 0.2947 - val_accuracy: 0.7692 - val_loss: 0.6198
Epoch 24/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 361ms/step - accuracy: 0.8930 - loss: 0.3300 - val_accuracy: 0.7692 - val_loss: 0.6302
Epoch 25/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9034 - loss: 0.2779 - val_accuracy: 0.7692 - val_loss: 0.6632
Epoch 26/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 409ms/step - accuracy: 0.8930 - loss: 0.3030 - val_accuracy: 0.7692 - val_loss: 0.6863
Epoch 27/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 406ms/step - accuracy: 0.9138 - loss: 0.2593 - val_accuracy: 0.7692 - val_loss: 0.6863
Epoch 28/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 415ms/step - accuracy: 0.9034 - loss: 0.2688 - val_accuracy: 0.7692 - val_loss: 0.6398
Epoch 29/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9007 - loss: 0.2989 - val_accuracy: 0.7692 - val_loss: 0.6161
Epoch 30/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 398ms/step - accuracy: 0.9165 - loss: 0.2797 - val_accuracy: 0.7692 - val_loss: 0.6302
Epoch 31/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 429ms/step - accuracy: 0.9242 - loss: 0.2545 - val_accuracy: 0.7692 - val_loss: 0.6696
Epoch 32/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 413ms/step - accuracy: 0.9242 - loss: 0.2202 - val_accuracy: 0.7692 - val_loss: 0.6877
Epoch 33/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 418ms/step - accuracy: 0.9034 - loss: 0.2324 - val_accuracy: 0.7692 - val_loss: 0.6781
Epoch 34/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 444ms/step - accuracy: 0.9060 - loss: 0.2973 - val_accuracy: 0.7692 - val_loss: 0.6593
Epoch 35/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 437ms/step - accuracy: 0.8930 - loss: 0.3136 - val_accuracy: 0.7692 - val_loss: 0.6518
Epoch 36/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 456ms/step - accuracy: 0.8930 - loss: 0.2679 - val_accuracy: 0.7692 - val_loss: 0.6554
Epoch 37/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 425ms/step - accuracy: 0.9034 - loss: 0.2548 - val_accuracy: 0.7692 - val_loss: 0.6752
Epoch 38/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 424ms/step - accuracy: 0.9165 - loss: 0.2392 - val_accuracy: 0.7692 - val_loss: 0.6749
Epoch 39/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 408ms/step - accuracy: 0.9034 - loss: 0.2701 - val_accuracy: 0.7692 - val_loss: 0.6567
Epoch 40/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9138 - loss: 0.2641 - val_accuracy: 0.7692 - val_loss: 0.6343
Epoch 41/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 407ms/step - accuracy: 0.9165 - loss: 0.2687 - val_accuracy: 0.7692 - val_loss: 0.6156
Epoch 42/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 0.9165 - loss: 0.2407 - val_accuracy: 0.7692 - val_loss: 0.6535
Epoch 43/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 398ms/step - accuracy: 0.9269 - loss: 0.2628 - val_accuracy: 0.7692 - val_loss: 0.6692
Epoch 44/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 0.9373 - loss: 0.2321 - val_accuracy: 0.7692 - val_loss: 0.6519
Epoch 45/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 384ms/step - accuracy: 0.9138 - loss: 0.2173 - val_accuracy: 0.7692 - val_loss: 0.6115
Epoch 46/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9007 - loss: 0.2385 - val_accuracy: 0.7692 - val_loss: 0.6099
Epoch 47/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 410ms/step - accuracy: 0.9060 - loss: 0.2850 - val_accuracy: 0.7692 - val_loss: 0.6513
Epoch 48/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.8930 - loss: 0.3041 - val_accuracy: 0.7692 - val_loss: 0.7181
Epoch 49/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 406ms/step - accuracy: 0.9269 - loss: 0.2591 - val_accuracy: 0.7692 - val_loss: 0.7339
Epoch 50/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9138 - loss: 0.2241 - val_accuracy: 0.7692 - val_loss: 0.6403
Epoch 51/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 414ms/step - accuracy: 0.9269 - loss: 0.2262 - val_accuracy: 0.7692 - val_loss: 0.5594
Epoch 52/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 439ms/step - accuracy: 0.9400 - loss: 0.2566 - val_accuracy: 0.7692 - val_loss: 0.5569
Epoch 53/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 492ms/step - accuracy: 0.9269 - loss: 0.2618 - val_accuracy: 0.7692 - val_loss: 0.6513
Epoch 54/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 416ms/step - accuracy: 0.9034 - loss: 0.2313 - val_accuracy: 0.7692 - val_loss: 0.7127
Epoch 55/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 0.9373 - loss: 0.2240 - val_accuracy: 0.7692 - val_loss: 0.6910
Epoch 56/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 0.9242 - loss: 0.2127 - val_accuracy: 0.7692 - val_loss: 0.6107
Epoch 57/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 388ms/step - accuracy: 0.9138 - loss: 0.2133 - val_accuracy: 0.7692 - val_loss: 0.5550
Epoch 58/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.8930 - loss: 0.3096 - val_accuracy: 0.7692 - val_loss: 0.5497
Epoch 59/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9060 - loss: 0.2872 - val_accuracy: 0.7692 - val_loss: 0.5906
Epoch 60/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9138 - loss: 0.2319 - val_accuracy: 0.7692 - val_loss: 0.6737
Epoch 61/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9269 - loss: 0.2589 - val_accuracy: 0.7692 - val_loss: 0.6923
Epoch 62/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9138 - loss: 0.2559 - val_accuracy: 0.7692 - val_loss: 0.6582
Epoch 63/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 393ms/step - accuracy: 0.8930 - loss: 0.2469 - val_accuracy: 0.7692 - val_loss: 0.5985
Epoch 64/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 441ms/step - accuracy: 0.8930 - loss: 0.2836 - val_accuracy: 0.7692 - val_loss: 0.5635
Epoch 65/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 434ms/step - accuracy: 0.9269 - loss: 0.2573 - val_accuracy: 0.7692 - val_loss: 0.5623
Epoch 66/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 430ms/step - accuracy: 0.9504 - loss: 0.2379 - val_accuracy: 0.7692 - val_loss: 0.5741
Epoch 67/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 414ms/step - accuracy: 0.9373 - loss: 0.1953 - val_accuracy: 0.7692 - val_loss: 0.6281
Epoch 68/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 446ms/step - accuracy: 0.9060 - loss: 0.2310 - val_accuracy: 0.7692 - val_loss: 0.6728
Epoch 69/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 468ms/step - accuracy: 0.8930 - loss: 0.2797 - val_accuracy: 0.7692 - val_loss: 0.6655
Epoch 70/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 0.9269 - loss: 0.2044 - val_accuracy: 0.7692 - val_loss: 0.6092
Epoch 71/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 429ms/step - accuracy: 0.9165 - loss: 0.2460 - val_accuracy: 0.7692 - val_loss: 0.5596
Epoch 72/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 386ms/step - accuracy: 0.9269 - loss: 0.2414 - val_accuracy: 0.7692 - val_loss: 0.5823
Epoch 73/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 432ms/step - accuracy: 0.9269 - loss: 0.2322 - val_accuracy: 0.7692 - val_loss: 0.6455
Epoch 74/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 444ms/step - accuracy: 0.9165 - loss: 0.2664 - val_accuracy: 0.7692 - val_loss: 0.6512
Epoch 75/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 0.9138 - loss: 0.2134 - val_accuracy: 0.7692 - val_loss: 0.5925
Epoch 76/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 420ms/step - accuracy: 0.8799 - loss: 0.2532 - val_accuracy: 0.7692 - val_loss: 0.5303
Epoch 77/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 413ms/step - accuracy: 0.9269 - loss: 0.2169 - val_accuracy: 0.7692 - val_loss: 0.5591
Epoch 78/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 392ms/step - accuracy: 0.9034 - loss: 0.2222 - val_accuracy: 0.7692 - val_loss: 0.6337
Epoch 79/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 431ms/step - accuracy: 0.9165 - loss: 0.2220 - val_accuracy: 0.7692 - val_loss: 0.6404
Epoch 80/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9034 - loss: 0.2875 - val_accuracy: 0.7692 - val_loss: 0.5689
Epoch 81/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 433ms/step - accuracy: 0.9165 - loss: 0.2359 - val_accuracy: 0.7692 - val_loss: 0.5249
Epoch 82/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 393ms/step - accuracy: 0.9165 - loss: 0.2810 - val_accuracy: 0.7692 - val_loss: 0.5308
Epoch 83/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 401ms/step - accuracy: 0.9165 - loss: 0.2515 - val_accuracy: 0.7692 - val_loss: 0.5774
Epoch 84/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9165 - loss: 0.2009 - val_accuracy: 0.7692 - val_loss: 0.6471
Epoch 85/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 424ms/step - accuracy: 0.9060 - loss: 0.2647 - val_accuracy: 0.7692 - val_loss: 0.6492
Epoch 86/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 377ms/step - accuracy: 0.9165 - loss: 0.2600 - val_accuracy: 0.7692 - val_loss: 0.5985
Epoch 87/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9165 - loss: 0.2435 - val_accuracy: 0.7692 - val_loss: 0.5514
Epoch 88/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 425ms/step - accuracy: 0.9165 - loss: 0.2075 - val_accuracy: 0.7692 - val_loss: 0.5454
Epoch 89/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 444ms/step - accuracy: 0.9165 - loss: 0.2135 - val_accuracy: 0.7692 - val_loss: 0.5848
Epoch 90/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 386ms/step - accuracy: 0.9739 - loss: 0.1402 - val_accuracy: 0.7692 - val_loss: 0.6033
Epoch 91/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 411ms/step - accuracy: 0.9165 - loss: 0.2206 - val_accuracy: 0.7692 - val_loss: 0.5255
Epoch 92/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 424ms/step - accuracy: 0.9295 - loss: 0.2266 - val_accuracy: 0.7692 - val_loss: 0.5003
Epoch 93/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 0.9373 - loss: 0.2125 - val_accuracy: 0.7692 - val_loss: 0.5065
Epoch 94/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 390ms/step - accuracy: 0.9165 - loss: 0.2024 - val_accuracy: 0.7692 - val_loss: 0.4950
Epoch 95/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 410ms/step - accuracy: 0.9504 - loss: 0.1850 - val_accuracy: 0.7692 - val_loss: 0.5488
Epoch 96/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 432ms/step - accuracy: 0.9165 - loss: 0.2380 - val_accuracy: 0.7692 - val_loss: 0.5368
Epoch 97/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 404ms/step - accuracy: 0.9504 - loss: 0.1842 - val_accuracy: 0.7692 - val_loss: 0.5693
Epoch 98/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 410ms/step - accuracy: 0.9295 - loss: 0.2093 - val_accuracy: 0.7692 - val_loss: 0.5186
Epoch 99/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 382ms/step - accuracy: 0.9530 - loss: 0.2150 - val_accuracy: 0.7692 - val_loss: 0.5092
Epoch 100/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9504 - loss: 0.1932 - val_accuracy: 0.7692 - val_loss: 0.5393
Epoch 101/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9165 - loss: 0.2106 - val_accuracy: 0.7692 - val_loss: 0.5064
Epoch 102/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9060 - loss: 0.2096 - val_accuracy: 0.7692 - val_loss: 0.5321
Epoch 103/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 406ms/step - accuracy: 0.9165 - loss: 0.2273 - val_accuracy: 0.7692 - val_loss: 0.4973
Epoch 104/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9400 - loss: 0.2264 - val_accuracy: 0.7692 - val_loss: 0.4599
Epoch 105/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 435ms/step - accuracy: 0.9269 - loss: 0.1883 - val_accuracy: 0.7692 - val_loss: 0.4861
Epoch 106/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 392ms/step - accuracy: 0.9400 - loss: 0.1937 - val_accuracy: 0.7692 - val_loss: 0.4857
Epoch 107/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9165 - loss: 0.1705 - val_accuracy: 0.7692 - val_loss: 0.5170
Epoch 108/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 443ms/step - accuracy: 0.9269 - loss: 0.1925 - val_accuracy: 0.7692 - val_loss: 0.4621
Epoch 109/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 403ms/step - accuracy: 0.9400 - loss: 0.1880 - val_accuracy: 0.6923 - val_loss: 0.4324
Epoch 110/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 410ms/step - accuracy: 0.9138 - loss: 0.1780 - val_accuracy: 0.7692 - val_loss: 0.4928
Epoch 111/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 406ms/step - accuracy: 0.9269 - loss: 0.1707 - val_accuracy: 0.7692 - val_loss: 0.5104
Epoch 112/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9504 - loss: 0.1567 - val_accuracy: 0.7692 - val_loss: 0.4706
Epoch 113/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 414ms/step - accuracy: 0.9608 - loss: 0.1331 - val_accuracy: 0.7692 - val_loss: 0.4438
Epoch 114/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 388ms/step - accuracy: 0.9295 - loss: 0.2115 - val_accuracy: 0.7692 - val_loss: 0.4174
Epoch 115/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 410ms/step - accuracy: 0.9295 - loss: 0.1797 - val_accuracy: 0.7692 - val_loss: 0.5467
Epoch 116/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 0.9504 - loss: 0.1426 - val_accuracy: 0.7692 - val_loss: 0.6570
Epoch 117/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 434ms/step - accuracy: 0.8930 - loss: 0.2466 - val_accuracy: 0.7692 - val_loss: 0.4289
Epoch 118/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 393ms/step - accuracy: 0.9400 - loss: 0.1988 - val_accuracy: 0.6923 - val_loss: 0.3920
Epoch 119/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 376ms/step - accuracy: 0.9242 - loss: 0.2654 - val_accuracy: 0.7692 - val_loss: 0.4361
Epoch 120/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 419ms/step - accuracy: 0.9504 - loss: 0.1280 - val_accuracy: 0.7692 - val_loss: 0.5341
Epoch 121/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 410ms/step - accuracy: 0.9269 - loss: 0.1378 - val_accuracy: 0.7692 - val_loss: 0.5402
Epoch 122/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 403ms/step - accuracy: 0.9165 - loss: 0.1963 - val_accuracy: 0.7692 - val_loss: 0.4763
Epoch 123/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 433ms/step - accuracy: 0.9634 - loss: 0.1481 - val_accuracy: 0.7692 - val_loss: 0.4869
Epoch 124/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 417ms/step - accuracy: 0.9400 - loss: 0.1965 - val_accuracy: 0.7692 - val_loss: 0.4772
Epoch 125/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 430ms/step - accuracy: 0.9608 - loss: 0.1595 - val_accuracy: 0.7692 - val_loss: 0.4648
Epoch 126/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 416ms/step - accuracy: 0.9269 - loss: 0.1521 - val_accuracy: 0.6923 - val_loss: 0.3633
Epoch 127/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 486ms/step - accuracy: 0.9400 - loss: 0.2193 - val_accuracy: 0.7692 - val_loss: 0.3591
Epoch 128/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 0.9400 - loss: 0.1409 - val_accuracy: 0.7692 - val_loss: 0.5169
Epoch 129/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 427ms/step - accuracy: 0.9400 - loss: 0.1808 - val_accuracy: 0.7692 - val_loss: 0.5129
Epoch 130/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 400ms/step - accuracy: 0.9504 - loss: 0.1566 - val_accuracy: 0.7692 - val_loss: 0.3722
Epoch 131/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 413ms/step - accuracy: 0.9530 - loss: 0.1705 - val_accuracy: 0.7692 - val_loss: 0.3543
Epoch 132/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9034 - loss: 0.1938 - val_accuracy: 0.7692 - val_loss: 0.4788
Epoch 133/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 419ms/step - accuracy: 0.9504 - loss: 0.1997 - val_accuracy: 0.7692 - val_loss: 0.5080
Epoch 134/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 421ms/step - accuracy: 0.9400 - loss: 0.1552 - val_accuracy: 0.7692 - val_loss: 0.4109
Epoch 135/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 386ms/step - accuracy: 0.9295 - loss: 0.1908 - val_accuracy: 0.6923 - val_loss: 0.3768
Epoch 136/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9765 - loss: 0.1601 - val_accuracy: 0.7692 - val_loss: 0.4528
Epoch 137/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 403ms/step - accuracy: 0.9295 - loss: 0.2156 - val_accuracy: 0.7692 - val_loss: 0.5688
Epoch 138/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9269 - loss: 0.2142 - val_accuracy: 0.7692 - val_loss: 0.5310
Epoch 139/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 378ms/step - accuracy: 0.9504 - loss: 0.1151 - val_accuracy: 0.7692 - val_loss: 0.3670
Epoch 140/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 390ms/step - accuracy: 0.9530 - loss: 0.1538 - val_accuracy: 0.7692 - val_loss: 0.3439
Epoch 141/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 386ms/step - accuracy: 0.9634 - loss: 0.1700 - val_accuracy: 0.7692 - val_loss: 0.4226
Epoch 142/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 434ms/step - accuracy: 0.9504 - loss: 0.1303 - val_accuracy: 0.7692 - val_loss: 0.5340
Epoch 143/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 453ms/step - accuracy: 0.9295 - loss: 0.2288 - val_accuracy: 0.7692 - val_loss: 0.3938
Epoch 144/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9295 - loss: 0.1628 - val_accuracy: 0.7692 - val_loss: 0.3659
Epoch 145/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9400 - loss: 0.1713 - val_accuracy: 0.7692 - val_loss: 0.4661
Epoch 146/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 0.9504 - loss: 0.1223 - val_accuracy: 0.7692 - val_loss: 0.4833
Epoch 147/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 427ms/step - accuracy: 0.8930 - loss: 0.1961 - val_accuracy: 0.7692 - val_loss: 0.3541
Epoch 148/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 411ms/step - accuracy: 0.9530 - loss: 0.1904 - val_accuracy: 0.7692 - val_loss: 0.3478
Epoch 149/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 412ms/step - accuracy: 0.9765 - loss: 0.1324 - val_accuracy: 0.7692 - val_loss: 0.5877
Epoch 150/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 419ms/step - accuracy: 0.9504 - loss: 0.1658 - val_accuracy: 0.7692 - val_loss: 0.7223
Epoch 151/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 0.9269 - loss: 0.1716 - val_accuracy: 0.7692 - val_loss: 0.4737
Epoch 152/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 405ms/step - accuracy: 0.9400 - loss: 0.1643 - val_accuracy: 0.8462 - val_loss: 0.3710
Epoch 153/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 401ms/step - accuracy: 0.9295 - loss: 0.1966 - val_accuracy: 0.7692 - val_loss: 0.3545
Epoch 154/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 449ms/step - accuracy: 0.9295 - loss: 0.1258 - val_accuracy: 0.7692 - val_loss: 0.5920
Epoch 155/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 436ms/step - accuracy: 0.9400 - loss: 0.1795 - val_accuracy: 0.7692 - val_loss: 0.7740
Epoch 156/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 384ms/step - accuracy: 0.9295 - loss: 0.2920 - val_accuracy: 0.7692 - val_loss: 0.6326
Epoch 157/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9400 - loss: 0.1500 - val_accuracy: 0.7692 - val_loss: 0.4128
Epoch 158/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 0.9400 - loss: 0.1782 - val_accuracy: 0.6923 - val_loss: 0.4018
Epoch 159/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 393ms/step - accuracy: 0.9739 - loss: 0.1507 - val_accuracy: 0.7692 - val_loss: 0.4105
Epoch 160/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 404ms/step - accuracy: 0.9634 - loss: 0.1165 - val_accuracy: 0.7692 - val_loss: 0.5310
Epoch 161/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 0.9400 - loss: 0.1643 - val_accuracy: 0.7692 - val_loss: 0.5739
Epoch 162/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 401ms/step - accuracy: 0.9530 - loss: 0.1537 - val_accuracy: 0.7692 - val_loss: 0.4771
Epoch 163/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 403ms/step - accuracy: 0.9504 - loss: 0.1351 - val_accuracy: 0.7692 - val_loss: 0.3959
Epoch 164/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9739 - loss: 0.1235 - val_accuracy: 0.6923 - val_loss: 0.4082
Epoch 165/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 386ms/step - accuracy: 0.9504 - loss: 0.1394 - val_accuracy: 0.7692 - val_loss: 0.4880
Epoch 166/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9400 - loss: 0.1669 - val_accuracy: 0.7692 - val_loss: 0.4782
Epoch 167/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 400ms/step - accuracy: 0.9504 - loss: 0.1287 - val_accuracy: 0.7692 - val_loss: 0.4045
Epoch 168/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9530 - loss: 0.1443 - val_accuracy: 0.7692 - val_loss: 0.3608
Epoch 169/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 401ms/step - accuracy: 0.9765 - loss: 0.1293 - val_accuracy: 0.7692 - val_loss: 0.4142
Epoch 170/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 409ms/step - accuracy: 0.9608 - loss: 0.1205 - val_accuracy: 0.7692 - val_loss: 0.4992
Epoch 171/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 373ms/step - accuracy: 0.9400 - loss: 0.1327 - val_accuracy: 0.7692 - val_loss: 0.3294
Epoch 172/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9295 - loss: 0.1649 - val_accuracy: 0.8462 - val_loss: 0.3206
Epoch 173/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 374ms/step - accuracy: 1.0000 - loss: 0.1155 - val_accuracy: 0.7692 - val_loss: 0.4421
Epoch 174/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 428ms/step - accuracy: 0.9295 - loss: 0.1278 - val_accuracy: 0.7692 - val_loss: 0.6108
Epoch 175/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 450ms/step - accuracy: 0.9295 - loss: 0.2001 - val_accuracy: 0.7692 - val_loss: 0.5757
Epoch 176/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 417ms/step - accuracy: 0.9400 - loss: 0.1303 - val_accuracy: 0.7692 - val_loss: 0.4170
Epoch 177/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 422ms/step - accuracy: 0.9634 - loss: 0.1000 - val_accuracy: 0.7692 - val_loss: 0.3527
Epoch 178/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 447ms/step - accuracy: 0.9634 - loss: 0.1209 - val_accuracy: 0.7692 - val_loss: 0.3373
Epoch 179/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 496ms/step - accuracy: 0.9765 - loss: 0.1144 - val_accuracy: 0.7692 - val_loss: 0.4325
Epoch 180/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 408ms/step - accuracy: 0.9634 - loss: 0.1100 - val_accuracy: 0.7692 - val_loss: 0.4371
Epoch 181/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9400 - loss: 0.0919 - val_accuracy: 0.7692 - val_loss: 0.3331
Epoch 182/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9634 - loss: 0.0864 - val_accuracy: 0.7692 - val_loss: 0.3103
Epoch 183/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 432ms/step - accuracy: 0.9634 - loss: 0.0929 - val_accuracy: 0.7692 - val_loss: 0.3313
Epoch 184/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 402ms/step - accuracy: 0.9530 - loss: 0.1049 - val_accuracy: 0.7692 - val_loss: 0.3956
Epoch 185/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 401ms/step - accuracy: 0.9608 - loss: 0.0973 - val_accuracy: 0.7692 - val_loss: 0.3955
Epoch 186/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 403ms/step - accuracy: 0.9765 - loss: 0.0867 - val_accuracy: 0.8462 - val_loss: 0.2869
Epoch 187/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 408ms/step - accuracy: 0.9765 - loss: 0.0998 - val_accuracy: 0.7692 - val_loss: 0.2963
Epoch 188/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 407ms/step - accuracy: 0.9530 - loss: 0.1063 - val_accuracy: 0.7692 - val_loss: 0.2946
Epoch 189/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 430ms/step - accuracy: 0.9634 - loss: 0.1067 - val_accuracy: 0.7692 - val_loss: 0.3050
Epoch 190/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 453ms/step - accuracy: 0.9634 - loss: 0.0769 - val_accuracy: 0.7692 - val_loss: 0.3299
Epoch 191/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 425ms/step - accuracy: 0.9765 - loss: 0.0691 - val_accuracy: 0.7692 - val_loss: 0.3218
Epoch 192/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 418ms/step - accuracy: 0.9295 - loss: 0.0961 - val_accuracy: 0.7692 - val_loss: 0.3193
Epoch 193/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 385ms/step - accuracy: 0.9739 - loss: 0.0782 - val_accuracy: 0.7692 - val_loss: 0.3014
Epoch 194/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 416ms/step - accuracy: 0.9634 - loss: 0.0865 - val_accuracy: 0.9231 - val_loss: 0.2551
Epoch 195/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 402ms/step - accuracy: 0.9530 - loss: 0.1180 - val_accuracy: 0.9231 - val_loss: 0.2323
Epoch 196/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 400ms/step - accuracy: 1.0000 - loss: 0.0956 - val_accuracy: 0.7692 - val_loss: 0.4171
Epoch 197/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 419ms/step - accuracy: 0.9400 - loss: 0.0876 - val_accuracy: 0.7692 - val_loss: 0.4604
Epoch 198/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 402ms/step - accuracy: 0.9739 - loss: 0.0612 - val_accuracy: 0.7692 - val_loss: 0.2908
Epoch 199/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 401ms/step - accuracy: 0.9530 - loss: 0.1132 - val_accuracy: 1.0000 - val_loss: 0.2727
Epoch 200/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 415ms/step - accuracy: 0.9165 - loss: 0.1700 - val_accuracy: 0.7692 - val_loss: 0.3975
Epoch 201/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 433ms/step - accuracy: 0.9400 - loss: 0.0784 - val_accuracy: 0.7692 - val_loss: 0.6311
Epoch 202/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9295 - loss: 0.1682 - val_accuracy: 0.7692 - val_loss: 0.5296
Epoch 203/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 407ms/step - accuracy: 0.9634 - loss: 0.0840 - val_accuracy: 0.7692 - val_loss: 0.2817
Epoch 204/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 411ms/step - accuracy: 1.0000 - loss: 0.0713 - val_accuracy: 1.0000 - val_loss: 0.2481
Epoch 205/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 433ms/step - accuracy: 0.9530 - loss: 0.1127 - val_accuracy: 0.8462 - val_loss: 0.2496
Epoch 206/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9765 - loss: 0.0691 - val_accuracy: 0.7692 - val_loss: 0.5273
Epoch 207/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9634 - loss: 0.0928 - val_accuracy: 0.7692 - val_loss: 0.6615
Epoch 208/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 422ms/step - accuracy: 0.9400 - loss: 0.1776 - val_accuracy: 0.7692 - val_loss: 0.2671
Epoch 209/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 1.0000 - loss: 0.0744 - val_accuracy: 0.8462 - val_loss: 0.2874
Epoch 210/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 419ms/step - accuracy: 0.9765 - loss: 0.1351 - val_accuracy: 0.8462 - val_loss: 0.2387
Epoch 211/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9608 - loss: 0.0803 - val_accuracy: 0.7692 - val_loss: 0.4602
Epoch 212/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9295 - loss: 0.0730 - val_accuracy: 0.7692 - val_loss: 0.4446
Epoch 213/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 438ms/step - accuracy: 0.9295 - loss: 0.1440 - val_accuracy: 0.7692 - val_loss: 0.2685
Epoch 214/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 420ms/step - accuracy: 0.9739 - loss: 0.1290 - val_accuracy: 1.0000 - val_loss: 0.2523
Epoch 215/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 393ms/step - accuracy: 0.9869 - loss: 0.1084 - val_accuracy: 0.7692 - val_loss: 0.2653
Epoch 216/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 403ms/step - accuracy: 0.9400 - loss: 0.1201 - val_accuracy: 0.7692 - val_loss: 0.5409
Epoch 217/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 416ms/step - accuracy: 0.9504 - loss: 0.1093 - val_accuracy: 0.7692 - val_loss: 0.5659
Epoch 218/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9634 - loss: 0.1098 - val_accuracy: 0.6923 - val_loss: 0.3841
Epoch 219/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 392ms/step - accuracy: 0.9869 - loss: 0.0893 - val_accuracy: 0.7692 - val_loss: 0.3039
Epoch 220/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 399ms/step - accuracy: 0.9400 - loss: 0.0828 - val_accuracy: 0.7692 - val_loss: 0.3623
Epoch 221/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 0.9400 - loss: 0.0967 - val_accuracy: 0.7692 - val_loss: 0.3280
Epoch 222/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 413ms/step - accuracy: 0.9400 - loss: 0.1191 - val_accuracy: 0.7692 - val_loss: 0.2492
Epoch 223/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 382ms/step - accuracy: 0.9530 - loss: 0.1220 - val_accuracy: 0.7692 - val_loss: 0.2839
Epoch 224/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 398ms/step - accuracy: 0.9739 - loss: 0.0527 - val_accuracy: 0.7692 - val_loss: 0.2806
Epoch 225/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 420ms/step - accuracy: 0.9765 - loss: 0.0873 - val_accuracy: 0.9231 - val_loss: 0.2904
Epoch 226/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 389ms/step - accuracy: 0.9634 - loss: 0.1140 - val_accuracy: 0.7692 - val_loss: 0.3413
Epoch 227/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 431ms/step - accuracy: 1.0000 - loss: 0.0511 - val_accuracy: 0.7692 - val_loss: 0.4085
Epoch 228/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 382ms/step - accuracy: 0.9400 - loss: 0.1105 - val_accuracy: 0.7692 - val_loss: 0.4649
Epoch 229/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9530 - loss: 0.0857 - val_accuracy: 0.7692 - val_loss: 0.4112
Epoch 230/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 376ms/step - accuracy: 0.9530 - loss: 0.1058 - val_accuracy: 0.7692 - val_loss: 0.3004
Epoch 231/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 393ms/step - accuracy: 0.9634 - loss: 0.0737 - val_accuracy: 0.7692 - val_loss: 0.3352
Epoch 232/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 376ms/step - accuracy: 0.9765 - loss: 0.0676 - val_accuracy: 0.7692 - val_loss: 0.4514
Epoch 233/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 429ms/step - accuracy: 0.9295 - loss: 0.1020 - val_accuracy: 0.7692 - val_loss: 0.3614
Epoch 234/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9765 - loss: 0.0670 - val_accuracy: 0.7692 - val_loss: 0.3095
Epoch 235/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 1.0000 - loss: 0.0832 - val_accuracy: 0.7692 - val_loss: 0.3448
Epoch 236/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 363ms/step - accuracy: 0.9530 - loss: 0.0840 - val_accuracy: 0.7692 - val_loss: 0.4747
Epoch 237/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9504 - loss: 0.0709 - val_accuracy: 0.7692 - val_loss: 0.3956
Epoch 238/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 377ms/step - accuracy: 0.9165 - loss: 0.1047 - val_accuracy: 1.0000 - val_loss: 0.2488
Epoch 239/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 403ms/step - accuracy: 1.0000 - loss: 0.0903 - val_accuracy: 0.7692 - val_loss: 0.2866
Epoch 240/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 411ms/step - accuracy: 0.9400 - loss: 0.0797 - val_accuracy: 0.7692 - val_loss: 0.5467
Epoch 241/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9295 - loss: 0.1067 - val_accuracy: 0.7692 - val_loss: 0.5126
Epoch 242/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9295 - loss: 0.0900 - val_accuracy: 0.7692 - val_loss: 0.3344
Epoch 243/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 378ms/step - accuracy: 0.9869 - loss: 0.0410 - val_accuracy: 0.7692 - val_loss: 0.2740
Epoch 244/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 1.0000 - loss: 0.0577 - val_accuracy: 1.0000 - val_loss: 0.2715
Epoch 245/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 418ms/step - accuracy: 1.0000 - loss: 0.0578 - val_accuracy: 0.7692 - val_loss: 0.3208
Epoch 246/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 421ms/step - accuracy: 0.9869 - loss: 0.0462 - val_accuracy: 0.7692 - val_loss: 0.4485
Epoch 247/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 418ms/step - accuracy: 0.9608 - loss: 0.0697 - val_accuracy: 0.7692 - val_loss: 0.3200
Epoch 248/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9869 - loss: 0.0519 - val_accuracy: 1.0000 - val_loss: 0.2222
Epoch 249/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 1.0000 - loss: 0.0582 - val_accuracy: 0.8462 - val_loss: 0.2376
Epoch 250/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0485 - val_accuracy: 0.7692 - val_loss: 0.3952
Epoch 251/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 383ms/step - accuracy: 0.9765 - loss: 0.0671 - val_accuracy: 0.7692 - val_loss: 0.5542
Epoch 252/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 378ms/step - accuracy: 0.9400 - loss: 0.1073 - val_accuracy: 0.7692 - val_loss: 0.4185
Epoch 253/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9608 - loss: 0.0594 - val_accuracy: 0.9231 - val_loss: 0.2759
Epoch 254/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 421ms/step - accuracy: 1.0000 - loss: 0.0743 - val_accuracy: 0.7692 - val_loss: 0.3406
Epoch 255/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 0.9530 - loss: 0.1374 - val_accuracy: 0.7692 - val_loss: 0.4760
Epoch 256/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 402ms/step - accuracy: 0.9634 - loss: 0.0812 - val_accuracy: 0.7692 - val_loss: 0.8063
Epoch 257/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 411ms/step - accuracy: 0.9400 - loss: 0.1293 - val_accuracy: 0.7692 - val_loss: 0.5774
Epoch 258/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 420ms/step - accuracy: 0.9765 - loss: 0.0805 - val_accuracy: 0.9231 - val_loss: 0.2410
Epoch 259/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 434ms/step - accuracy: 0.9869 - loss: 0.0558 - val_accuracy: 0.9231 - val_loss: 0.2571
Epoch 260/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 419ms/step - accuracy: 0.9765 - loss: 0.0893 - val_accuracy: 0.7692 - val_loss: 0.3241
Epoch 261/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 0.9530 - loss: 0.0849 - val_accuracy: 0.7692 - val_loss: 0.4916
Epoch 262/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 420ms/step - accuracy: 0.9530 - loss: 0.0834 - val_accuracy: 0.7692 - val_loss: 0.5294
Epoch 263/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 400ms/step - accuracy: 0.9869 - loss: 0.0467 - val_accuracy: 0.7692 - val_loss: 0.4759
Epoch 264/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 364ms/step - accuracy: 0.9608 - loss: 0.0659 - val_accuracy: 0.7692 - val_loss: 0.3118
Epoch 265/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 401ms/step - accuracy: 1.0000 - loss: 0.0477 - val_accuracy: 0.7692 - val_loss: 0.3010
Epoch 266/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 399ms/step - accuracy: 0.9739 - loss: 0.1110 - val_accuracy: 0.8462 - val_loss: 0.2866
Epoch 267/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 411ms/step - accuracy: 0.9530 - loss: 0.0946 - val_accuracy: 0.7692 - val_loss: 0.3459
Epoch 268/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 434ms/step - accuracy: 1.0000 - loss: 0.0372 - val_accuracy: 0.7692 - val_loss: 0.4094
Epoch 269/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 421ms/step - accuracy: 0.9765 - loss: 0.0903 - val_accuracy: 0.7692 - val_loss: 0.3913
Epoch 270/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 402ms/step - accuracy: 0.9269 - loss: 0.0971 - val_accuracy: 0.7692 - val_loss: 0.3338
Epoch 271/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9765 - loss: 0.0568 - val_accuracy: 0.7692 - val_loss: 0.2888
Epoch 272/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9869 - loss: 0.0527 - val_accuracy: 0.7692 - val_loss: 0.3334
Epoch 273/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 378ms/step - accuracy: 0.9634 - loss: 0.0552 - val_accuracy: 0.7692 - val_loss: 0.4268
Epoch 274/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 0.9530 - loss: 0.0615 - val_accuracy: 0.7692 - val_loss: 0.4284
Epoch 275/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 383ms/step - accuracy: 0.9530 - loss: 0.0706 - val_accuracy: 0.7692 - val_loss: 0.3706
Epoch 276/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 448ms/step - accuracy: 0.9765 - loss: 0.0618 - val_accuracy: 0.7692 - val_loss: 0.3895
Epoch 277/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 413ms/step - accuracy: 0.9869 - loss: 0.0670 - val_accuracy: 0.7692 - val_loss: 0.3811
Epoch 278/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 420ms/step - accuracy: 0.9530 - loss: 0.0926 - val_accuracy: 0.7692 - val_loss: 0.2643
Epoch 279/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 403ms/step - accuracy: 1.0000 - loss: 0.0398 - val_accuracy: 0.9231 - val_loss: 0.2326
Epoch 280/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 400ms/step - accuracy: 1.0000 - loss: 0.0562 - val_accuracy: 0.7692 - val_loss: 0.2701
Epoch 281/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 370ms/step - accuracy: 0.9869 - loss: 0.0441 - val_accuracy: 0.7692 - val_loss: 0.3600
Epoch 282/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 402ms/step - accuracy: 0.9765 - loss: 0.0846 - val_accuracy: 0.7692 - val_loss: 0.2587
Epoch 283/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9530 - loss: 0.0719 - val_accuracy: 0.9231 - val_loss: 0.2253
Epoch 284/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 1.0000 - loss: 0.0567 - val_accuracy: 0.7692 - val_loss: 0.3017
Epoch 285/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 0.9634 - loss: 0.0458 - val_accuracy: 0.7692 - val_loss: 0.3598
Epoch 286/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 1.0000 - loss: 0.0347 - val_accuracy: 0.7692 - val_loss: 0.3625
Epoch 287/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 0.9765 - loss: 0.0528 - val_accuracy: 0.7692 - val_loss: 0.3887
Epoch 288/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 1.0000 - loss: 0.0324 - val_accuracy: 0.7692 - val_loss: 0.3109
Epoch 289/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 0.9765 - loss: 0.0471 - val_accuracy: 0.7692 - val_loss: 0.2575
Epoch 290/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9869 - loss: 0.0461 - val_accuracy: 0.8462 - val_loss: 0.2337
Epoch 291/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 1.0000 - loss: 0.0380 - val_accuracy: 0.9231 - val_loss: 0.2059
Epoch 292/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 1.0000 - loss: 0.0593 - val_accuracy: 0.7692 - val_loss: 0.2734
Epoch 293/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 393ms/step - accuracy: 0.9765 - loss: 0.0643 - val_accuracy: 0.7692 - val_loss: 0.3427
Epoch 294/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9869 - loss: 0.0274 - val_accuracy: 0.7692 - val_loss: 0.3298
Epoch 295/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 416ms/step - accuracy: 0.9765 - loss: 0.0678 - val_accuracy: 0.8462 - val_loss: 0.2625
Epoch 296/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 522ms/step - accuracy: 0.9765 - loss: 0.0727 - val_accuracy: 0.9231 - val_loss: 0.2734
Epoch 297/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 517ms/step - accuracy: 1.0000 - loss: 0.0456 - val_accuracy: 0.7692 - val_loss: 0.4880
Epoch 298/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 466ms/step - accuracy: 0.9739 - loss: 0.0651 - val_accuracy: 0.7692 - val_loss: 0.5144
Epoch 299/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 454ms/step - accuracy: 1.0000 - loss: 0.0231 - val_accuracy: 0.7692 - val_loss: 0.3953
Epoch 300/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 422ms/step - accuracy: 1.0000 - loss: 0.0742 - val_accuracy: 0.9231 - val_loss: 0.3796
Epoch 301/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 471ms/step - accuracy: 1.0000 - loss: 0.0560 - val_accuracy: 0.7692 - val_loss: 0.3122
Epoch 302/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 451ms/step - accuracy: 0.9765 - loss: 0.0585 - val_accuracy: 0.7692 - val_loss: 0.4277
Epoch 303/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 484ms/step - accuracy: 1.0000 - loss: 0.0281 - val_accuracy: 0.7692 - val_loss: 0.5875
Epoch 304/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 436ms/step - accuracy: 0.9530 - loss: 0.1071 - val_accuracy: 0.7692 - val_loss: 0.3645
Epoch 305/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 444ms/step - accuracy: 1.0000 - loss: 0.0321 - val_accuracy: 0.9231 - val_loss: 0.2162
Epoch 306/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 429ms/step - accuracy: 0.9765 - loss: 0.0462 - val_accuracy: 0.9231 - val_loss: 0.2046
Epoch 307/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 447ms/step - accuracy: 0.9530 - loss: 0.0924 - val_accuracy: 0.7692 - val_loss: 0.3130
Epoch 308/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 438ms/step - accuracy: 1.0000 - loss: 0.0304 - val_accuracy: 0.7692 - val_loss: 0.4230
Epoch 309/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 492ms/step - accuracy: 0.9739 - loss: 0.0491 - val_accuracy: 0.7692 - val_loss: 0.3958
Epoch 310/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 465ms/step - accuracy: 1.0000 - loss: 0.0430 - val_accuracy: 0.9231 - val_loss: 0.2565
Epoch 311/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 443ms/step - accuracy: 1.0000 - loss: 0.0408 - val_accuracy: 0.9231 - val_loss: 0.2027
Epoch 312/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 470ms/step - accuracy: 0.9765 - loss: 0.0633 - val_accuracy: 0.7692 - val_loss: 0.2638
Epoch 313/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 0.9634 - loss: 0.0821 - val_accuracy: 0.9231 - val_loss: 0.2320
Epoch 314/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 391ms/step - accuracy: 1.0000 - loss: 0.0462 - val_accuracy: 0.9231 - val_loss: 0.2363
Epoch 315/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 421ms/step - accuracy: 0.9869 - loss: 0.0504 - val_accuracy: 0.7692 - val_loss: 0.3393
Epoch 316/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 375ms/step - accuracy: 1.0000 - loss: 0.0283 - val_accuracy: 0.7692 - val_loss: 0.4987
Epoch 317/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 384ms/step - accuracy: 0.9530 - loss: 0.0664 - val_accuracy: 0.7692 - val_loss: 0.3899
Epoch 318/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 444ms/step - accuracy: 0.9765 - loss: 0.0511 - val_accuracy: 0.8462 - val_loss: 0.2995
Epoch 319/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 408ms/step - accuracy: 1.0000 - loss: 0.0237 - val_accuracy: 0.9231 - val_loss: 0.2711
Epoch 320/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 423ms/step - accuracy: 0.9869 - loss: 0.0494 - val_accuracy: 0.9231 - val_loss: 0.2392
Epoch 321/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 450ms/step - accuracy: 1.0000 - loss: 0.0306 - val_accuracy: 0.9231 - val_loss: 0.2239
Epoch 322/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 401ms/step - accuracy: 1.0000 - loss: 0.0469 - val_accuracy: 0.7692 - val_loss: 0.3249
Epoch 323/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 431ms/step - accuracy: 1.0000 - loss: 0.0157 - val_accuracy: 0.7692 - val_loss: 0.5151
Epoch 324/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 402ms/step - accuracy: 0.9634 - loss: 0.0679 - val_accuracy: 0.7692 - val_loss: 0.2839
Epoch 325/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 1.0000 - loss: 0.0371 - val_accuracy: 0.9231 - val_loss: 0.2664
Epoch 326/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 378ms/step - accuracy: 1.0000 - loss: 0.0329 - val_accuracy: 0.6923 - val_loss: 0.3530
Epoch 327/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 431ms/step - accuracy: 0.9765 - loss: 0.0359 - val_accuracy: 0.7692 - val_loss: 0.5018
Epoch 328/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 411ms/step - accuracy: 0.9530 - loss: 0.0937 - val_accuracy: 0.7692 - val_loss: 0.4518
Epoch 329/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 412ms/step - accuracy: 0.9739 - loss: 0.0511 - val_accuracy: 0.7692 - val_loss: 0.2984
Epoch 330/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0257 - val_accuracy: 0.8462 - val_loss: 0.2677
Epoch 331/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 1.0000 - loss: 0.0554 - val_accuracy: 0.9231 - val_loss: 0.1804
Epoch 332/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0233 - val_accuracy: 0.7692 - val_loss: 0.4709
Epoch 333/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 0.9739 - loss: 0.0380 - val_accuracy: 0.7692 - val_loss: 0.6582
Epoch 334/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9634 - loss: 0.0984 - val_accuracy: 0.9231 - val_loss: 0.2198
Epoch 335/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 1.0000 - loss: 0.0238 - val_accuracy: 0.9231 - val_loss: 0.2461
Epoch 336/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 398ms/step - accuracy: 0.9765 - loss: 0.0835 - val_accuracy: 0.9231 - val_loss: 0.2386
Epoch 337/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 0.9765 - loss: 0.0668 - val_accuracy: 0.7692 - val_loss: 0.3762
Epoch 338/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 378ms/step - accuracy: 1.0000 - loss: 0.0283 - val_accuracy: 0.7692 - val_loss: 0.6066
Epoch 339/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9400 - loss: 0.0760 - val_accuracy: 0.7692 - val_loss: 0.3641
Epoch 340/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 1.0000 - loss: 0.0225 - val_accuracy: 0.8462 - val_loss: 0.2421
Epoch 341/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0336 - val_accuracy: 0.9231 - val_loss: 0.2397
Epoch 342/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 1.0000 - loss: 0.0408 - val_accuracy: 0.7692 - val_loss: 0.2496
Epoch 343/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0166 - val_accuracy: 0.7692 - val_loss: 0.4316
Epoch 344/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 378ms/step - accuracy: 0.9869 - loss: 0.0322 - val_accuracy: 0.7692 - val_loss: 0.4697
Epoch 345/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9530 - loss: 0.1203 - val_accuracy: 0.9231 - val_loss: 0.2100
Epoch 346/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0425 - val_accuracy: 0.9231 - val_loss: 0.2010
Epoch 347/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 0.9739 - loss: 0.0423 - val_accuracy: 0.9231 - val_loss: 0.2279
Epoch 348/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 1.0000 - loss: 0.0310 - val_accuracy: 0.7692 - val_loss: 0.3264
Epoch 349/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 0.9869 - loss: 0.0411 - val_accuracy: 0.7692 - val_loss: 0.3257
Epoch 350/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0202 - val_accuracy: 0.7692 - val_loss: 0.2750
Epoch 351/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 378ms/step - accuracy: 1.0000 - loss: 0.0376 - val_accuracy: 0.9231 - val_loss: 0.2354
Epoch 352/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9869 - loss: 0.0369 - val_accuracy: 0.7692 - val_loss: 0.2632
Epoch 353/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0242 - val_accuracy: 0.7692 - val_loss: 0.3546
Epoch 354/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0284 - val_accuracy: 0.7692 - val_loss: 0.3320
Epoch 355/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 0.9869 - loss: 0.0271 - val_accuracy: 0.9231 - val_loss: 0.1957
Epoch 356/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 1.0000 - loss: 0.0225 - val_accuracy: 0.9231 - val_loss: 0.2020
Epoch 357/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 382ms/step - accuracy: 1.0000 - loss: 0.0411 - val_accuracy: 0.9231 - val_loss: 0.1874
Epoch 358/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9765 - loss: 0.0425 - val_accuracy: 0.8462 - val_loss: 0.2129
Epoch 359/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 1.0000 - loss: 0.0203 - val_accuracy: 0.7692 - val_loss: 0.4200
Epoch 360/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 364ms/step - accuracy: 1.0000 - loss: 0.0160 - val_accuracy: 0.7692 - val_loss: 0.5190
Epoch 361/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 429ms/step - accuracy: 0.9530 - loss: 0.0531 - val_accuracy: 0.7692 - val_loss: 0.2373
Epoch 362/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 1.0000 - loss: 0.0228 - val_accuracy: 1.0000 - val_loss: 0.1851
Epoch 363/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 1.0000 - loss: 0.0274 - val_accuracy: 1.0000 - val_loss: 0.1861
Epoch 364/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 1.0000 - loss: 0.0273 - val_accuracy: 0.7692 - val_loss: 0.2521
Epoch 365/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 0.9869 - loss: 0.0264 - val_accuracy: 0.7692 - val_loss: 0.3120
Epoch 366/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 1.0000 - loss: 0.0245 - val_accuracy: 0.8462 - val_loss: 0.2079
Epoch 367/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 382ms/step - accuracy: 0.9765 - loss: 0.0396 - val_accuracy: 0.9231 - val_loss: 0.1702
Epoch 368/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 0.9765 - loss: 0.0682 - val_accuracy: 0.9231 - val_loss: 0.1723
Epoch 369/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 1.0000 - loss: 0.0202 - val_accuracy: 0.7692 - val_loss: 0.3350
Epoch 370/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 0.9869 - loss: 0.0319 - val_accuracy: 0.7692 - val_loss: 0.4205
Epoch 371/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 1.0000 - loss: 0.0246 - val_accuracy: 0.7692 - val_loss: 0.2412
Epoch 372/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0337 - val_accuracy: 0.9231 - val_loss: 0.1653
Epoch 373/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 0.9869 - loss: 0.0333 - val_accuracy: 0.9231 - val_loss: 0.1708
Epoch 374/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 1.0000 - loss: 0.0131 - val_accuracy: 0.7692 - val_loss: 0.3679
Epoch 375/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 382ms/step - accuracy: 0.9739 - loss: 0.0382 - val_accuracy: 0.7692 - val_loss: 0.3397
Epoch 376/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 1.0000 - loss: 0.0127 - val_accuracy: 0.8462 - val_loss: 0.2245
Epoch 377/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9765 - loss: 0.0378 - val_accuracy: 0.8462 - val_loss: 0.2765
Epoch 378/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 0.9634 - loss: 0.0626 - val_accuracy: 0.7692 - val_loss: 0.2672
Epoch 379/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 1.0000 - loss: 0.0146 - val_accuracy: 0.7692 - val_loss: 0.2976
Epoch 380/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0146 - val_accuracy: 0.8462 - val_loss: 0.2269
Epoch 381/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9634 - loss: 0.0520 - val_accuracy: 0.9231 - val_loss: 0.1498
Epoch 382/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9869 - loss: 0.0399 - val_accuracy: 0.9231 - val_loss: 0.1830
Epoch 383/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 1.0000 - loss: 0.0190 - val_accuracy: 0.8462 - val_loss: 0.2268
Epoch 384/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 393ms/step - accuracy: 1.0000 - loss: 0.0163 - val_accuracy: 0.7692 - val_loss: 0.6086
Epoch 385/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 0.9869 - loss: 0.0576 - val_accuracy: 0.7692 - val_loss: 0.6012
Epoch 386/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 1.0000 - loss: 0.0262 - val_accuracy: 0.7692 - val_loss: 0.2776
Epoch 387/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0128 - val_accuracy: 1.0000 - val_loss: 0.1869
Epoch 388/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 378ms/step - accuracy: 1.0000 - loss: 0.0330 - val_accuracy: 0.9231 - val_loss: 0.1792
Epoch 389/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 412ms/step - accuracy: 1.0000 - loss: 0.0220 - val_accuracy: 0.9231 - val_loss: 0.2003
Epoch 390/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0203 - val_accuracy: 0.7692 - val_loss: 0.3565
Epoch 391/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 378ms/step - accuracy: 0.9869 - loss: 0.0313 - val_accuracy: 0.7692 - val_loss: 0.3597
Epoch 392/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 0.9765 - loss: 0.0355 - val_accuracy: 0.9231 - val_loss: 0.2139
Epoch 393/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 0.9869 - loss: 0.0262 - val_accuracy: 0.8462 - val_loss: 0.2610
Epoch 394/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 398ms/step - accuracy: 1.0000 - loss: 0.0336 - val_accuracy: 0.7692 - val_loss: 0.3384
Epoch 395/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0212 - val_accuracy: 0.7692 - val_loss: 0.4785
Epoch 396/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 1.0000 - loss: 0.0210 - val_accuracy: 0.7692 - val_loss: 0.5804
Epoch 397/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 0.9634 - loss: 0.0462 - val_accuracy: 0.7692 - val_loss: 0.3943
Epoch 398/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 1.0000 - loss: 0.0281 - val_accuracy: 0.9231 - val_loss: 0.1841
Epoch 399/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 1.0000 - loss: 0.0159 - val_accuracy: 0.9231 - val_loss: 0.1743
Epoch 400/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0190 - val_accuracy: 0.9231 - val_loss: 0.1656
Epoch 401/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 1.0000 - loss: 0.0170 - val_accuracy: 0.7692 - val_loss: 0.2536
Epoch 402/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 0.9869 - loss: 0.0251 - val_accuracy: 0.7692 - val_loss: 0.2789
Epoch 403/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 378ms/step - accuracy: 1.0000 - loss: 0.0169 - val_accuracy: 0.9231 - val_loss: 0.1842
Epoch 404/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0306 - val_accuracy: 0.9231 - val_loss: 0.1700
Epoch 405/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 1.0000 - loss: 0.0179 - val_accuracy: 0.8462 - val_loss: 0.2451
Epoch 406/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0267 - val_accuracy: 0.7692 - val_loss: 0.3880
Epoch 407/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 393ms/step - accuracy: 0.9869 - loss: 0.0221 - val_accuracy: 0.7692 - val_loss: 0.3244
Epoch 408/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 1.0000 - loss: 0.0173 - val_accuracy: 0.9231 - val_loss: 0.2305
Epoch 409/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0294 - val_accuracy: 0.9231 - val_loss: 0.2138
Epoch 410/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0363 - val_accuracy: 0.9231 - val_loss: 0.2205
Epoch 411/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0226 - val_accuracy: 0.7692 - val_loss: 0.3381
Epoch 412/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 398ms/step - accuracy: 1.0000 - loss: 0.0222 - val_accuracy: 0.7692 - val_loss: 0.3928
Epoch 413/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 382ms/step - accuracy: 0.9765 - loss: 0.0350 - val_accuracy: 0.7692 - val_loss: 0.3264
Epoch 414/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0157 - val_accuracy: 0.9231 - val_loss: 0.2190
Epoch 415/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 1.0000 - loss: 0.0149 - val_accuracy: 0.9231 - val_loss: 0.1585
Epoch 416/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 0.9869 - loss: 0.0198 - val_accuracy: 0.9231 - val_loss: 0.1752
Epoch 417/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 378ms/step - accuracy: 1.0000 - loss: 0.0133 - val_accuracy: 0.7692 - val_loss: 0.2694
Epoch 418/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 398ms/step - accuracy: 0.9765 - loss: 0.0266 - val_accuracy: 0.9231 - val_loss: 0.2445
Epoch 419/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 1.0000 - loss: 0.0147 - val_accuracy: 0.9231 - val_loss: 0.2271
Epoch 420/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 1.0000 - loss: 0.0231 - val_accuracy: 0.9231 - val_loss: 0.1732
Epoch 421/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0214 - val_accuracy: 0.9231 - val_loss: 0.1765
Epoch 422/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9765 - loss: 0.0325 - val_accuracy: 0.9231 - val_loss: 0.1914
Epoch 423/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 1.0000 - loss: 0.0124 - val_accuracy: 0.9231 - val_loss: 0.2179
Epoch 424/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0289 - val_accuracy: 0.9231 - val_loss: 0.1967
Epoch 425/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0205 - val_accuracy: 0.9231 - val_loss: 0.1569
Epoch 426/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 1.0000 - loss: 0.0122 - val_accuracy: 0.9231 - val_loss: 0.1657
Epoch 427/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 399ms/step - accuracy: 1.0000 - loss: 0.0108 - val_accuracy: 0.9231 - val_loss: 0.2204
Epoch 428/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 389ms/step - accuracy: 1.0000 - loss: 0.0133 - val_accuracy: 0.9231 - val_loss: 0.2003
Epoch 429/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 1.0000 - loss: 0.0182 - val_accuracy: 0.9231 - val_loss: 0.1452
Epoch 430/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9765 - loss: 0.0460 - val_accuracy: 0.9231 - val_loss: 0.1603
Epoch 431/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 0.9765 - loss: 0.0439 - val_accuracy: 0.9231 - val_loss: 0.1751
Epoch 432/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 409ms/step - accuracy: 1.0000 - loss: 0.0160 - val_accuracy: 0.8462 - val_loss: 0.2537
Epoch 433/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 1.0000 - loss: 0.0199 - val_accuracy: 0.8462 - val_loss: 0.2751
Epoch 434/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 1.0000 - loss: 0.0279 - val_accuracy: 0.9231 - val_loss: 0.2138
Epoch 435/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 1.0000 - loss: 0.0129 - val_accuracy: 0.9231 - val_loss: 0.1742
Epoch 436/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 412ms/step - accuracy: 1.0000 - loss: 0.0130 - val_accuracy: 0.9231 - val_loss: 0.1609
Epoch 437/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0110 - val_accuracy: 0.9231 - val_loss: 0.1933
Epoch 438/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 1.0000 - loss: 0.0142 - val_accuracy: 0.9231 - val_loss: 0.1766
Epoch 439/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 382ms/step - accuracy: 1.0000 - loss: 0.0080 - val_accuracy: 0.9231 - val_loss: 0.1623
Epoch 440/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 1.0000 - loss: 0.0070 - val_accuracy: 0.9231 - val_loss: 0.1506
Epoch 441/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0242 - val_accuracy: 0.8462 - val_loss: 0.1421
Epoch 442/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0102 - val_accuracy: 0.9231 - val_loss: 0.1532
Epoch 443/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 1.0000 - loss: 0.0150 - val_accuracy: 0.9231 - val_loss: 0.2329
Epoch 444/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 1.0000 - loss: 0.0136 - val_accuracy: 0.9231 - val_loss: 0.2277
Epoch 445/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 1.0000 - loss: 0.0191 - val_accuracy: 0.9231 - val_loss: 0.1744
Epoch 446/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0075 - val_accuracy: 0.9231 - val_loss: 0.1686
Epoch 447/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 1.0000 - loss: 0.0213 - val_accuracy: 0.9231 - val_loss: 0.2053
Epoch 448/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 408ms/step - accuracy: 1.0000 - loss: 0.0114 - val_accuracy: 0.7692 - val_loss: 0.3856
Epoch 449/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0137 - val_accuracy: 0.7692 - val_loss: 0.3775
Epoch 450/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 388ms/step - accuracy: 0.9765 - loss: 0.0530 - val_accuracy: 1.0000 - val_loss: 0.1571
Epoch 451/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 0.9869 - loss: 0.0253 - val_accuracy: 0.9231 - val_loss: 0.1590
Epoch 452/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 1.0000 - loss: 0.0168 - val_accuracy: 0.8462 - val_loss: 0.2728
Epoch 453/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0093 - val_accuracy: 0.7692 - val_loss: 0.5228
Epoch 454/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 400ms/step - accuracy: 1.0000 - loss: 0.0298 - val_accuracy: 0.7692 - val_loss: 0.4047
Epoch 455/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 1.0000 - loss: 0.0254 - val_accuracy: 0.9231 - val_loss: 0.2116
Epoch 456/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 1.0000 - loss: 0.0251 - val_accuracy: 0.8462 - val_loss: 0.2295
Epoch 457/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 1.0000 - loss: 0.0192 - val_accuracy: 0.9231 - val_loss: 0.2215
Epoch 458/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 382ms/step - accuracy: 1.0000 - loss: 0.0110 - val_accuracy: 0.7692 - val_loss: 0.3424
Epoch 459/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0169 - val_accuracy: 0.8462 - val_loss: 0.2618
Epoch 460/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 398ms/step - accuracy: 0.9869 - loss: 0.0173 - val_accuracy: 0.9231 - val_loss: 0.1644
Epoch 461/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 382ms/step - accuracy: 1.0000 - loss: 0.0118 - val_accuracy: 0.8462 - val_loss: 0.2706
Epoch 462/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 382ms/step - accuracy: 0.9869 - loss: 0.0427 - val_accuracy: 0.9231 - val_loss: 0.1980
Epoch 463/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 1.0000 - loss: 0.0140 - val_accuracy: 0.7692 - val_loss: 0.8420
Epoch 464/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 0.9400 - loss: 0.1004 - val_accuracy: 0.7692 - val_loss: 0.4117
Epoch 465/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0180 - val_accuracy: 0.8462 - val_loss: 0.3865
Epoch 466/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 379ms/step - accuracy: 1.0000 - loss: 0.0467 - val_accuracy: 0.8462 - val_loss: 0.3669
Epoch 467/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 1.0000 - loss: 0.0291 - val_accuracy: 0.7692 - val_loss: 0.2963
Epoch 468/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0133 - val_accuracy: 0.7692 - val_loss: 0.7678
Epoch 469/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9634 - loss: 0.0587 - val_accuracy: 0.7692 - val_loss: 0.5892
Epoch 470/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 1.0000 - loss: 0.0152 - val_accuracy: 0.9231 - val_loss: 0.1490
Epoch 471/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0340 - val_accuracy: 0.9231 - val_loss: 0.2496
Epoch 472/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 377ms/step - accuracy: 0.9765 - loss: 0.0401 - val_accuracy: 0.9231 - val_loss: 0.1582
Epoch 473/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 1.0000 - loss: 0.0337 - val_accuracy: 0.8462 - val_loss: 0.2248
Epoch 474/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9869 - loss: 0.0206 - val_accuracy: 0.7692 - val_loss: 0.2795
Epoch 475/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 377ms/step - accuracy: 1.0000 - loss: 0.0137 - val_accuracy: 0.9231 - val_loss: 0.1551
Epoch 476/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 382ms/step - accuracy: 1.0000 - loss: 0.0147 - val_accuracy: 0.9231 - val_loss: 0.1485
Epoch 477/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 0.9869 - loss: 0.0431 - val_accuracy: 0.9231 - val_loss: 0.1516
Epoch 478/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0114 - val_accuracy: 0.7692 - val_loss: 0.5023
Epoch 479/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 0.9634 - loss: 0.0362 - val_accuracy: 0.7692 - val_loss: 0.5360
Epoch 480/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 0.9765 - loss: 0.0283 - val_accuracy: 0.9231 - val_loss: 0.2089
Epoch 481/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 398ms/step - accuracy: 1.0000 - loss: 0.0101 - val_accuracy: 0.8462 - val_loss: 0.2023
Epoch 482/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 0.9765 - loss: 0.0340 - val_accuracy: 1.0000 - val_loss: 0.1702
Epoch 483/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 1.0000 - loss: 0.0177 - val_accuracy: 0.9231 - val_loss: 0.2014
Epoch 484/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0134 - val_accuracy: 0.7692 - val_loss: 0.3092
Epoch 485/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 0.9869 - loss: 0.0263 - val_accuracy: 0.8462 - val_loss: 0.2242
Epoch 486/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0166 - val_accuracy: 0.9231 - val_loss: 0.1425
Epoch 487/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 1.0000 - loss: 0.0146 - val_accuracy: 0.9231 - val_loss: 0.1791
Epoch 488/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 395ms/step - accuracy: 1.0000 - loss: 0.0203 - val_accuracy: 0.9231 - val_loss: 0.1656
Epoch 489/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 0.9869 - loss: 0.0215 - val_accuracy: 0.7692 - val_loss: 0.3327
Epoch 490/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0156 - val_accuracy: 0.8462 - val_loss: 0.2861
Epoch 491/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 397ms/step - accuracy: 1.0000 - loss: 0.0072 - val_accuracy: 0.9231 - val_loss: 0.2213
Epoch 492/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 383ms/step - accuracy: 1.0000 - loss: 0.0186 - val_accuracy: 0.9231 - val_loss: 0.1856
Epoch 493/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 394ms/step - accuracy: 1.0000 - loss: 0.0092 - val_accuracy: 0.9231 - val_loss: 0.1682
Epoch 494/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 380ms/step - accuracy: 1.0000 - loss: 0.0088 - val_accuracy: 0.9231 - val_loss: 0.1566
Epoch 495/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 393ms/step - accuracy: 1.0000 - loss: 0.0097 - val_accuracy: 0.9231 - val_loss: 0.1495
Epoch 496/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 392ms/step - accuracy: 1.0000 - loss: 0.0102 - val_accuracy: 0.9231 - val_loss: 0.1494
Epoch 497/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0072 - val_accuracy: 0.9231 - val_loss: 0.1567
Epoch 498/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 381ms/step - accuracy: 0.9869 - loss: 0.0212 - val_accuracy: 0.9231 - val_loss: 0.1547
Epoch 499/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0145 - val_accuracy: 0.9231 - val_loss: 0.1878
Epoch 500/500
2/2 ━━━━━━━━━━━━━━━━━━━━ 1s 396ms/step - accuracy: 1.0000 - loss: 0.0146 - val_accuracy: 0.8462 - val_loss: 0.2146
model.summary()
Model: "sequential_18"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ Layer (type)                          Output Shape                         Param # ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│ reshape_15 (Reshape)                 │ (None, 100, 1000, 1)        │               0 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ conv2d_50 (Conv2D)                   │ (None, 98, 998, 32)         │             320 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ max_pooling2d_49 (MaxPooling2D)      │ (None, 49, 499, 32)         │               0 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ conv2d_51 (Conv2D)                   │ (None, 47, 497, 64)         │          18,496 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ max_pooling2d_50 (MaxPooling2D)      │ (None, 23, 248, 64)         │               0 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ global_average_pooling2d_6           │ (None, 64)                  │               0 │
│ (GlobalAveragePooling2D)             │                             │                 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ dense_26 (Dense)                     │ (None, 128)                 │           8,320 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ dropout_13 (Dropout)                 │ (None, 128)                 │               0 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ dense_27 (Dense)                     │ (None, 1)                   │             129 │
└──────────────────────────────────────┴─────────────────────────────┴─────────────────┘
 Total params: 81,797 (319.52 KB)
 Trainable params: 27,265 (106.50 KB)
 Non-trainable params: 0 (0.00 B)
 Optimizer params: 54,532 (213.02 KB)
test_loss, test_acc = model.evaluate(X_test, y_test)
print("Test Loss:", test_loss)
print("Test Accuracy:", test_acc)
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 65ms/step - accuracy: 0.8462 - loss: 0.2146
Test Loss: 0.21456041932106018
Test Accuracy: 0.8461538553237915
plt.figure()
plt.title("Model Accuracy")
plt.plot(history.history["accuracy"], label="train")
plt.plot(history.history["val_accuracy"], label="validation")
plt.legend()
plt.ylim([0, 1])
plt.show()
plt.figure()
plt.title("Model Loss")
plt.plot(history.history["loss"], label="train")
plt.plot(history.history["val_loss"], label="validation")
plt.legend()
plt.ylim([0, 1])
plt.show()
loss,accuracy = model.evaluate(X_test,y_test)
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 63ms/step - accuracy: 0.8462 - loss: 0.2146
y_pred = model.predict(X_test)
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 97ms/step
def convert_to_labels(predictions, threshold=0.5):
    labels = []
    for prob in predictions:
        if prob >= threshold:
            labels.append("Real")
        else:
            labels.append("Fake")
    return labels
labels = convert_to_labels(y_pred)
print(labels)
['Real', 'Fake', 'Real', 'Real', 'Real', 'Real', 'Real', 'Real', 'Real', 'Fake', 'Real', 'Fake', 'Real']
labels = convert_to_labels(y_test)
print(labels)
['Real', 'Fake', 'Real', 'Real', 'Real', 'Real', 'Real', 'Real', 'Real', 'Fake', 'Fake', 'Real', 'Real']
import os
def extract_features_single_audio(filename, max_length = 1000):
    features = []
    audio, _ = librosa.load(filename, sr = 16000)
    mfccs = librosa.feature.mfcc(y=audio, sr=16000, n_mfcc=100)
    # Pad or trim the feature array to a fixed length
    if mfccs.shape[1] < max_length:
        mfccs = np.pad(mfccs, ((0, 0), (0, max_length - mfccs.shape[1])), mode='constant')
    else:
        mfccs = mfccs[:, :max_length]
    features.append(mfccs)
    return np.array(features)           
def classify_an_audiosample(filename):
    audio_features = extract_features_single_audio(realfilename)
    print(audio_features.shape)
    result_array = model.predict(audio_features)
    print(convert_to_labels(result_array))    
fakeaudioname = "AudioClassification/linus-to-musk-DEMO.mp3"
classify_an_audiosample(fakeaudioname)
(1, 100, 1000)
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 62ms/step
['Fake']
realaudioname = "AudioClassification/linus-original-DEMO.mp3"
classify_an_audiosample(realaudioname)
(1, 100, 1000)
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 16ms/step
['Fake']
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/homer-1943/Ultimate-Deepfake-Detection-Using-Python.git
git@gitee.com:homer-1943/Ultimate-Deepfake-Detection-Using-Python.git
homer-1943
Ultimate-Deepfake-Detection-Using-Python
Ultimate-Deepfake-Detection-Using-Python
main

搜索帮助