├── models ├── __init__.py └── model.h5 ├── .gitignore ├── packages.txt ├── alarm.wav ├── image.jpg ├── .gitattributes ├── requirements.txt ├── README.md ├── Dockerfile ├── data_preparation.py ├── main.py ├── streamlit_app.py ├── model_training.py ├── main.ipynb ├── Data Preparation.ipynb ├── data_prep_drowsiness.ipynb └── Model Training.ipynb /models/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | venv 2 | ./venv 3 | env 4 | model.h5 5 | cnnCat2.h5 -------------------------------------------------------------------------------- /packages.txt: -------------------------------------------------------------------------------- 1 | ffmpeg 2 | libsm6 3 | libxext6 4 | libasound2-dev -------------------------------------------------------------------------------- /alarm.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pydeveloperashish/Driver-Drowsiness-Detection-using-Deep-Learning/HEAD/alarm.wav -------------------------------------------------------------------------------- /image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pydeveloperashish/Driver-Drowsiness-Detection-using-Deep-Learning/HEAD/image.jpg -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | models/model.5h filter=lfs diff=lfs merge=lfs -text 2 | models/model.h5 filter=lfs diff=lfs merge=lfs -text 3 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | 2 | Pillow 3 | tensorflow==2.14.0 4 | protobuf==3.20.* 5 | streamlit==1.5.1 6 | opencv-python 7 | click==7.1.2 8 | pygame 9 | altair==4 -------------------------------------------------------------------------------- /models/model.h5: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6d219f2be973a91553420a6ea5ca1f957aea3f8bdf500a7180fcbe6565048ab0 3 | size 89703944 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | Tutorial Link:- https://www.youtube.com/watch?v=O5_--oZPbgQ&t=2s 3 | 4 | Dataset Link:- http://mrl.cs.vsb.cz/eyedataset 5 | 6 | Model .h5 file Link:- https://drive.google.com/file/d/1I3QstH0HH5NRqH8F0QU3yqa7Uu7uLxbO/view?usp=sharing 7 | 8 | ![Screenshot from 2023-01-25 14-12-32](https://user-images.githubusercontent.com/59412013/214517864-e7defd90-57c5-4524-be22-b2907dc41c02.png) 9 | ![Screenshot from 2023-01-25 14-12-59](https://user-images.githubusercontent.com/59412013/214517882-099ed7cd-d8b7-4c06-a471-db6375866751.png) 10 | 11 | 12 | 13 | 14 | 15 | 16 | Data Preparation has been updated with train and test folder split automation. 17 | 18 | If you have any doubt you can DM me on Instagram. 19 | My Insta ID:- https://www.instagram.com/developer_ashish.py 20 | 21 | Lets connect on LinkedIn:- https://www.linkedin.com/in/ashish-kushwaha-45201b179 22 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # Use the official Ubuntu base image 2 | FROM python:3.10 3 | 4 | # Set the working directory inside the container 5 | WORKDIR /app/ 6 | 7 | # Update the package lists and install necessary dependencies 8 | RUN apt-get update && \ 9 | apt-get install -y python3 python3-pip 10 | 11 | RUN apt-get install ffmpeg libsm6 libxext6 -y 12 | RUN export SDL_AUDIODRIVER='dsp' 13 | 14 | # Copy the requirements file into the container at /app 15 | COPY requirements.txt /app/requirements.txt 16 | 17 | # Install any needed packages specified in requirements.txt 18 | 19 | # Copy the current directory contents into the container at /app 20 | COPY alarm.wav /app/alarm.wav 21 | COPY models/model.h5/ /app/models/model.h5 22 | COPY streamlit_app.py/ /app/streamlit_app.py 23 | 24 | 25 | # Make port 5000 available to the world outside this container 26 | # EXPOSE 5000 27 | RUN pip3 install --no-cache-dir -r requirements.txt 28 | RUN export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python 29 | 30 | EXPOSE 8501 31 | 32 | # Run app.py when the container launches 33 | CMD ["streamlit", "run", "streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"] 34 | 35 | # CMD ["ls"] -------------------------------------------------------------------------------- /data_preparation.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | # In[1]: 5 | 6 | 7 | import os 8 | import shutil 9 | import glob 10 | from tqdm import tqdm 11 | 12 | 13 | # # 14 | # subject ID: 15 | # xxx 16 | # 17 | # image number: 18 | # xxx 19 | # 20 | # gender: 21 | # 0 - male 22 | # 1 - famale 23 | # 24 | # glasses: 25 | # 0 - no 26 | # 1 - yes 27 | # 28 | # eye state: 29 | # 0 - close 30 | # 1 - open 31 | # 32 | # reflections: 33 | # 0 - none 34 | # 1 - low 35 | # 2 - high 36 | # 37 | # lighting conditions/image quality: 38 | # 0 - bad 39 | # 1 - good 40 | # 41 | # sensor type: 42 | # 01 - RealSense SR300 640x480 43 | # 02 - IDS Imaging, 1280x1024 44 | # 03 - Aptina Imagin 752x480 45 | # 46 | # example: 47 | # s001_00123_0_0_0_0_0_01.png 48 | 49 | CLOSE_EYE_DIR = os.path.join("MRL Eye Data", "Prepared_Data", "Close Eyes") 50 | OPEN_EYE_DIR = os.path.join("MRL Eye Data", "Prepared_Data", "Open Eyes") 51 | 52 | os.makedirs(CLOSE_EYE_DIR, exist_ok = True) 53 | print("Directory '%s' created successfully" %CLOSE_EYE_DIR) 54 | 55 | os.makedirs(OPEN_EYE_DIR, exist_ok = True) 56 | print("Directory '%s' created successfully" %OPEN_EYE_DIR) 57 | 58 | 59 | Raw_DIR = os.path.join("MRL Eye Data", "mrlEyes_2018_01") 60 | for dirpath, dirname, filenames in os.walk(Raw_DIR): 61 | for i in tqdm([f for f in filenames if f.endswith('.png')]): 62 | if i.split('_')[4] == '0': 63 | shutil.copy(src = dirpath + '/' + i, dst = CLOSE_EYE_DIR) 64 | elif i.split('_')[4] == '1': 65 | shutil.copy(src=dirpath + '/' + i, dst = OPEN_EYE_DIR) 66 | 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | import os 3 | import tensorflow as tf 4 | from tensorflow.keras.models import load_model 5 | import numpy as np 6 | from pygame import mixer 7 | import time 8 | 9 | 10 | mixer.init() 11 | sound = mixer.Sound('alarm.wav') 12 | 13 | face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml") 14 | eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_eye.xml") 15 | model = load_model(os.path.join("models", "model.h5")) 16 | 17 | 18 | lbl=['Close', 'Open'] 19 | 20 | path = os.getcwd() 21 | cap = cv2.VideoCapture(0) 22 | font = cv2.FONT_HERSHEY_COMPLEX_SMALL 23 | score = 0 24 | 25 | while(True): 26 | ret, frame = cap.read() 27 | height,width = frame.shape[:2] 28 | 29 | gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 30 | 31 | faces = face_cascade.detectMultiScale(gray,minNeighbors = 3,scaleFactor = 1.1,minSize=(25,25)) 32 | eyes = eye_cascade.detectMultiScale(gray,minNeighbors = 1,scaleFactor = 1.1) 33 | 34 | cv2.rectangle(frame, (0,height-50) , (200,height) , (0,0,0) , thickness=cv2.FILLED ) 35 | 36 | for (x,y,w,h) in faces: 37 | cv2.rectangle(frame, (x,y) , (x+w,y+h) , (255,0,0) , 3 ) 38 | 39 | for (x,y,w,h) in eyes: 40 | 41 | eye = frame[y:y+h,x:x+w] 42 | #eye = cv2.cvtColor(eye,cv2.COLOR_BGR2GRAY) 43 | eye = cv2.resize(eye,(80,80)) 44 | eye = eye/255 45 | eye = eye.reshape(80,80,3) 46 | eye = np.expand_dims(eye,axis=0) 47 | prediction = model.predict(eye) 48 | # print(prediction) 49 | #Condition for Close 50 | if prediction[0][0]>0.30: 51 | cv2.putText(frame,"Closed",(10,height-20), font, 1,(255,255,255),1,cv2.LINE_AA) 52 | cv2.putText(frame,'Score:'+str(score),(100,height-20), font, 1,(255,255,255),1,cv2.LINE_AA) 53 | score=score+1 54 | #print("Close Eyes") 55 | if(score > 20): 56 | try: 57 | sound.play() 58 | except: # isplaying = False 59 | pass 60 | 61 | #Condition for Open 62 | elif prediction[0][1] > 0.70: 63 | score = score - 1 64 | if (score < 0): 65 | score = 0 66 | cv2.putText(frame,"Open",(10,height-20), font, 1,(255,255,255),1,cv2.LINE_AA) 67 | #print("Open Eyes") 68 | cv2.putText(frame,'Score:'+str(score),(100,height-20), font, 1,(255,255,255),1,cv2.LINE_AA) 69 | 70 | cv2.imshow('frame',frame) 71 | if cv2.waitKey(1) & 0xFF == ord('q'): 72 | break 73 | cap.release() 74 | cv2.destroyAllWindows() 75 | -------------------------------------------------------------------------------- /streamlit_app.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | import os 3 | from tensorflow.keras.models import load_model 4 | import numpy as np 5 | import streamlit as st 6 | 7 | 8 | 9 | face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml") 10 | eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_eye.xml") 11 | 12 | def drowsiness_detection(model_path, alarm_sound='alarm.wav'): 13 | 14 | model = load_model(os.path.join("models", "model.h5")) 15 | 16 | 17 | lbl=['Close', 'Open'] 18 | 19 | path = os.getcwd() 20 | cap = cv2.VideoCapture(0) 21 | font = cv2.FONT_HERSHEY_COMPLEX_SMALL 22 | score = 0 23 | 24 | while(True): 25 | ret, frame = cap.read() 26 | height,width = frame.shape[:2] 27 | 28 | gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 29 | 30 | faces = face_cascade.detectMultiScale(gray,minNeighbors = 3,scaleFactor = 1.1,minSize=(25,25)) 31 | eyes = eye_cascade.detectMultiScale(gray,minNeighbors = 1,scaleFactor = 1.1) 32 | 33 | cv2.rectangle(frame, (0,height-50) , (200,height) , (0,0,0) , thickness=cv2.FILLED ) 34 | 35 | for (x,y,w,h) in faces: 36 | cv2.rectangle(frame, (x,y) , (x+w,y+h) , (255,0,0) , 3 ) 37 | 38 | for (x,y,w,h) in eyes: 39 | 40 | eye = frame[y:y+h,x:x+w] 41 | #eye = cv2.cvtColor(eye,cv2.COLOR_BGR2GRAY) 42 | eye = cv2.resize(eye,(80,80)) 43 | eye = eye/255 44 | eye = eye.reshape(80,80,3) 45 | eye = np.expand_dims(eye,axis=0) 46 | prediction = model.predict(eye) 47 | # print(prediction) 48 | #Condition for Close 49 | if prediction[0][0]>0.30: 50 | cv2.putText(frame,"Closed",(10,height-20), font, 1,(255,255,255),1,cv2.LINE_AA) 51 | cv2.putText(frame,'Score:'+str(score),(100,height-20), font, 1,(255,255,255),1,cv2.LINE_AA) 52 | score=score+1 53 | #print("Close Eyes") 54 | if(score > 20): 55 | try: 56 | sound.play() 57 | except: # isplaying = False 58 | pass 59 | 60 | #Condition for Open 61 | elif prediction[0][1] > 0.70: 62 | score = score - 1 63 | if (score < 0): 64 | score = 0 65 | cv2.putText(frame,"Open",(10,height-20), font, 1,(255,255,255),1,cv2.LINE_AA) 66 | #print("Open Eyes") 67 | cv2.putText(frame,'Score:'+str(score),(100,height-20), font, 1,(255,255,255),1,cv2.LINE_AA) 68 | 69 | cv2.imshow('frame',frame) 70 | 71 | if cv2.waitKey(1) & 0xFF == ord('q'): 72 | break 73 | 74 | cap.release() 75 | cv2.destroyAllWindows() 76 | 77 | 78 | # Streamlit app 79 | def main(): 80 | st.title("Emotion Recognition App") 81 | 82 | # Click the button to start the webcam 83 | if st.button("Start Webcam"): 84 | drowsiness_detection(model_path = os.path.join('models', 'model.h5')) 85 | 86 | 87 | # Run the Streamlit app 88 | if __name__ == '__main__': 89 | main() -------------------------------------------------------------------------------- /model_training.py: -------------------------------------------------------------------------------- 1 | import os 2 | import tensorflow as tf 3 | from tensorflow.keras.applications import InceptionV3 4 | from tensorflow.keras.models import Model 5 | from tensorflow.keras.layers import Dropout,Input,Flatten,Dense,MaxPooling2D 6 | from tensorflow.keras.preprocessing.image import ImageDataGenerator # Data Augumentation 7 | 8 | BATCH_SIZE = 4 9 | EPOCHS = 2 10 | 11 | train_datagen = ImageDataGenerator(rescale = 1./255, rotation_range = 0.2,shear_range = 0.2, 12 | zoom_range = 0.2,width_shift_range = 0.2, 13 | height_shift_range = 0.2, validation_split = 0.2) 14 | 15 | train_data= train_datagen.flow_from_directory(os.path.join('MRL Eye Data', 'Prepared_Data', 'train'), 16 | target_size = (80,80), batch_size = BATCH_SIZE, 17 | class_mode = 'categorical',subset='training' ) 18 | 19 | validation_data= train_datagen.flow_from_directory(os.path.join('MRL Eye Data', 'Prepared_Data', 'train'), 20 | target_size = (80,80), batch_size = BATCH_SIZE, 21 | class_mode = 'categorical', subset='validation') 22 | 23 | 24 | test_datagen = ImageDataGenerator(rescale = 1./255) 25 | 26 | test_data = test_datagen.flow_from_directory(os.path.join('MRL Eye Data', 'Prepared_Data', 'test'), 27 | target_size=(80,80), batch_size = BATCH_SIZE, class_mode='categorical') 28 | 29 | 30 | 31 | bmodel = InceptionV3(include_top = False, weights = 'imagenet', 32 | input_tensor = Input(shape = (80,80,3))) 33 | hmodel = bmodel.output 34 | hmodel = Flatten()(hmodel) 35 | hmodel = Dense(64, activation = 'relu')(hmodel) 36 | hmodel = Dropout(0.5)(hmodel) 37 | hmodel = Dense(2,activation = 'softmax')(hmodel) 38 | 39 | model = Model(inputs = bmodel.input, outputs= hmodel) 40 | for layer in bmodel.layers: 41 | layer.trainable = False 42 | 43 | 44 | from tensorflow.keras.callbacks import ModelCheckpoint,EarlyStopping, ReduceLROnPlateau 45 | 46 | 47 | checkpoint = ModelCheckpoint(os.path.join("models", "model.h5"), 48 | monitor = 'val_loss', save_best_only = True, verbose = 3) 49 | 50 | earlystop = EarlyStopping(monitor = 'val_loss', patience = 7, 51 | verbose= 3, restore_best_weights = True) 52 | 53 | 54 | learning_rate = ReduceLROnPlateau(monitor= 'val_loss', patience=3, verbose= 3, ) 55 | 56 | callbacks = [checkpoint, earlystop, learning_rate] 57 | 58 | 59 | 60 | model.compile(optimizer = 'Adam', 61 | loss = 'categorical_crossentropy', 62 | metrics = ['accuracy']) 63 | 64 | 65 | model.fit_generator(train_data,steps_per_epoch = train_data.samples// BATCH_SIZE, 66 | validation_data = validation_data, 67 | validation_steps = validation_data.samples// BATCH_SIZE, 68 | callbacks = callbacks, 69 | epochs = EPOCHS) 70 | 71 | 72 | # Model Evaluation 73 | 74 | 75 | acc_tr, loss_tr = model.evaluate_generator(train_data) 76 | print(acc_tr) 77 | print(loss_tr) 78 | 79 | 80 | acc_vr, loss_vr = model.evaluate_generator(validation_data) 81 | print(acc_vr) 82 | print(loss_vr) 83 | 84 | 85 | acc_test, loss_test = model.evaluate_generator(test_data) 86 | print(acc_tr) 87 | print(loss_tr) 88 | -------------------------------------------------------------------------------- /main.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stdout", 10 | "output_type": "stream", 11 | "text": [ 12 | "pygame 2.0.1 (SDL 2.0.14, Python 3.7.9)\n", 13 | "Hello from the pygame community. https://www.pygame.org/contribute.html\n" 14 | ] 15 | } 16 | ], 17 | "source": [ 18 | "import cv2\n", 19 | "import tensorflow as tf\n", 20 | "from tensorflow.keras.models import load_model\n", 21 | "import numpy as np\n", 22 | "from pygame import mixer" 23 | ] 24 | }, 25 | { 26 | "cell_type": "code", 27 | "execution_count": 2, 28 | "metadata": {}, 29 | "outputs": [], 30 | "source": [ 31 | "face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')\n", 32 | "eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')\n", 33 | "model = load_model(r'D:\\Python37\\Projects\\iNeuron Intership Projects\\CV_Driver_Drowsiness_Detection\\models\\model.h5')" 34 | ] 35 | }, 36 | { 37 | "cell_type": "code", 38 | "execution_count": 29, 39 | "metadata": {}, 40 | "outputs": [], 41 | "source": [ 42 | "mixer.init()\n", 43 | "sound= mixer.Sound(r'D:\\Python37\\Projects\\iNeuron Intership Projects\\CV_Driver_Drowsiness_Detection\\alarm.wav')\n", 44 | "cap = cv2.VideoCapture(0)\n", 45 | "Score = 0\n", 46 | "while True:\n", 47 | " ret, frame = cap.read()\n", 48 | " height,width = frame.shape[0:2]\n", 49 | " gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)\n", 50 | " faces= face_cascade.detectMultiScale(gray, scaleFactor= 1.2, minNeighbors=3)\n", 51 | " eyes= eye_cascade.detectMultiScale(gray, scaleFactor= 1.1, minNeighbors=1)\n", 52 | " \n", 53 | " cv2.rectangle(frame, (0,height-50),(200,height),(0,0,0),thickness=cv2.FILLED)\n", 54 | " \n", 55 | " for (x,y,w,h) in faces:\n", 56 | " cv2.rectangle(frame,pt1=(x,y),pt2=(x+w,y+h), color= (255,0,0), thickness=3 )\n", 57 | " \n", 58 | " for (ex,ey,ew,eh) in eyes:\n", 59 | " #cv2.rectangle(frame,pt1=(ex,ey),pt2=(ex+ew,ey+eh), color= (255,0,0), thickness=3 )\n", 60 | " \n", 61 | " # preprocessing steps\n", 62 | " eye= frame[ey:ey+eh,ex:ex+w]\n", 63 | " eye= cv2.resize(eye,(80,80))\n", 64 | " eye= eye/255\n", 65 | " eye= eye.reshape(80,80,3)\n", 66 | " eye= np.expand_dims(eye,axis=0)\n", 67 | " # preprocessing is done now model prediction\n", 68 | " prediction = model.predict(eye)\n", 69 | " \n", 70 | " # if eyes are closed\n", 71 | " if prediction[0][0]>0.30:\n", 72 | " cv2.putText(frame,'closed',(10,height-20),fontFace=cv2.FONT_HERSHEY_COMPLEX_SMALL,fontScale=1,color=(255,255,255),\n", 73 | " thickness=1,lineType=cv2.LINE_AA)\n", 74 | " cv2.putText(frame,'Score'+str(Score),(100,height-20),fontFace=cv2.FONT_HERSHEY_COMPLEX_SMALL,fontScale=1,color=(255,255,255),\n", 75 | " thickness=1,lineType=cv2.LINE_AA)\n", 76 | " Score=Score+1\n", 77 | " if(Score>15):\n", 78 | " try:\n", 79 | " sound.play()\n", 80 | " except:\n", 81 | " pass\n", 82 | " \n", 83 | " # if eyes are open\n", 84 | " elif prediction[0][1]>0.90:\n", 85 | " cv2.putText(frame,'open',(10,height-20),fontFace=cv2.FONT_HERSHEY_COMPLEX_SMALL,fontScale=1,color=(255,255,255),\n", 86 | " thickness=1,lineType=cv2.LINE_AA) \n", 87 | " cv2.putText(frame,'Score'+str(Score),(100,height-20),fontFace=cv2.FONT_HERSHEY_COMPLEX_SMALL,fontScale=1,color=(255,255,255),\n", 88 | " thickness=1,lineType=cv2.LINE_AA)\n", 89 | " Score = Score-1\n", 90 | " if (Score<0):\n", 91 | " Score=0\n", 92 | " \n", 93 | " \n", 94 | " cv2.imshow('frame',frame)\n", 95 | " if cv2.waitKey(33) & 0xFF==ord('q'):\n", 96 | " break\n", 97 | " \n", 98 | "cap.release()\n", 99 | "cv2.destroyAllWindows()\n" 100 | ] 101 | }, 102 | { 103 | "cell_type": "code", 104 | "execution_count": null, 105 | "metadata": {}, 106 | "outputs": [], 107 | "source": [] 108 | } 109 | ], 110 | "metadata": { 111 | "kernelspec": { 112 | "display_name": "Python 3", 113 | "language": "python", 114 | "name": "python3" 115 | }, 116 | "language_info": { 117 | "codemirror_mode": { 118 | "name": "ipython", 119 | "version": 3 120 | }, 121 | "file_extension": ".py", 122 | "mimetype": "text/x-python", 123 | "name": "python", 124 | "nbconvert_exporter": "python", 125 | "pygments_lexer": "ipython3", 126 | "version": "3.7.9" 127 | } 128 | }, 129 | "nbformat": 4, 130 | "nbformat_minor": 4 131 | } 132 | -------------------------------------------------------------------------------- /Data Preparation.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import os\n", 10 | "import shutil\n", 11 | "import glob\n", 12 | "from tqdm import tqdm" 13 | ] 14 | }, 15 | { 16 | "cell_type": "markdown", 17 | "metadata": {}, 18 | "source": [ 19 | "#\n", 20 | "subject ID:\n", 21 | "xxx\n", 22 | "\n", 23 | "image number:\n", 24 | "xxx\n", 25 | "\n", 26 | "gender:\n", 27 | "0 - male\n", 28 | "1 - famale\n", 29 | "\n", 30 | "glasses:\n", 31 | "0 - no\n", 32 | "1 - yes\n", 33 | "\n", 34 | "eye state:\n", 35 | "0 - close\n", 36 | "1 - open\n", 37 | "\n", 38 | "reflections:\n", 39 | "0 - none\n", 40 | "1 - low\n", 41 | "2 - high\n", 42 | "\n", 43 | "lighting conditions/image quality:\n", 44 | "0 - bad\n", 45 | "1 - good\n", 46 | "\n", 47 | "sensor type:\n", 48 | "01 - RealSense SR300 640x480\n", 49 | "02 - IDS Imaging, 1280x1024\n", 50 | "03 - Aptina Imagin 752x480\n", 51 | "\n", 52 | "example:\n", 53 | "s001_00123_0_0_0_0_0_01.png" 54 | ] 55 | }, 56 | { 57 | "cell_type": "code", 58 | "execution_count": 10, 59 | "metadata": {}, 60 | "outputs": [ 61 | { 62 | "name": "stderr", 63 | "output_type": "stream", 64 | "text": [ 65 | "0it [00:00, ?it/s]\n", 66 | "100%|█████████████████████████████████████████████████████████████████████████████| 3242/3242 [00:04<00:00, 698.07it/s]\n", 67 | "100%|█████████████████████████████████████████████████████████████████████████████| 1114/1114 [00:01<00:00, 689.73it/s]\n", 68 | "100%|███████████████████████████████████████████████████████████████████████████████| 679/679 [00:00<00:00, 706.50it/s]\n", 69 | "100%|█████████████████████████████████████████████████████████████████████████████| 1069/1069 [00:01<00:00, 670.16it/s]\n", 70 | "100%|███████████████████████████████████████████████████████████████████████████████| 736/736 [00:01<00:00, 545.14it/s]\n", 71 | "100%|█████████████████████████████████████████████████████████████████████████████| 1012/1012 [00:02<00:00, 452.18it/s]\n", 72 | "100%|███████████████████████████████████████████████████████████████████████████████| 624/624 [00:01<00:00, 601.27it/s]\n", 73 | "100%|███████████████████████████████████████████████████████████████████████████████| 832/832 [00:01<00:00, 597.23it/s]\n", 74 | "100%|███████████████████████████████████████████████████████████████████████████████| 387/387 [00:00<00:00, 478.16it/s]\n", 75 | "100%|███████████████████████████████████████████████████████████████████████████████| 399/399 [00:00<00:00, 602.67it/s]\n", 76 | "100%|█████████████████████████████████████████████████████████████████████████████| 1648/1648 [00:03<00:00, 518.88it/s]\n", 77 | "100%|█████████████████████████████████████████████████████████████████████████████| 8728/8728 [00:18<00:00, 464.49it/s]\n", 78 | "100%|█████████████████████████████████████████████████████████████████████████████| 3605/3605 [00:07<00:00, 453.69it/s]\n", 79 | "100%|█████████████████████████████████████████████████████████████████████████████| 8884/8884 [00:21<00:00, 421.22it/s]\n", 80 | "100%|█████████████████████████████████████████████████████████████████████████████| 1132/1132 [00:03<00:00, 367.07it/s]\n", 81 | "100%|█████████████████████████████████████████████████████████████████████████████| 1889/1889 [00:05<00:00, 335.67it/s]\n", 82 | "100%|█████████████████████████████████████████████████████████████████████████████| 1648/1648 [00:05<00:00, 325.03it/s]\n", 83 | "100%|█████████████████████████████████████████████████████████████████████████████| 4410/4410 [00:17<00:00, 251.99it/s]\n", 84 | "100%|█████████████████████████████████████████████████████████████████████████████| 6175/6175 [00:21<00:00, 292.70it/s]\n", 85 | "100%|███████████████████████████████████████████████████████████████████████████████| 704/704 [00:02<00:00, 291.16it/s]\n", 86 | "100%|███████████████████████████████████████████████████████████████████████████████| 987/987 [00:03<00:00, 266.83it/s]\n", 87 | "100%|███████████████████████████████████████████████████████████████████████████████| 382/382 [00:01<00:00, 329.10it/s]\n", 88 | "100%|███████████████████████████████████████████████████████████████████████████████| 522/522 [00:01<00:00, 367.57it/s]\n", 89 | "100%|███████████████████████████████████████████████████████████████████████████████| 752/752 [00:02<00:00, 328.22it/s]\n", 90 | "100%|█████████████████████████████████████████████████████████████████████████████| 1502/1502 [00:03<00:00, 400.61it/s]\n", 91 | "100%|█████████████████████████████████████████████████████████████████████████████| 1246/1246 [00:02<00:00, 440.95it/s]\n", 92 | "100%|███████████████████████████████████████████████████████████████████████████████| 665/665 [00:01<00:00, 485.22it/s]\n", 93 | "100%|███████████████████████████████████████████████████████████████████████████████| 736/736 [00:01<00:00, 434.88it/s]\n", 94 | "100%|█████████████████████████████████████████████████████████████████████████████| 1393/1393 [00:03<00:00, 439.54it/s]\n", 95 | "100%|█████████████████████████████████████████████████████████████████████████████| 1384/1384 [00:03<00:00, 423.03it/s]\n", 96 | "100%|█████████████████████████████████████████████████████████████████████████████| 1738/1738 [00:05<00:00, 336.89it/s]\n", 97 | "100%|█████████████████████████████████████████████████████████████████████████████| 6162/6162 [00:15<00:00, 403.17it/s]\n", 98 | "100%|███████████████████████████████████████████████████████████████████████████████| 681/681 [00:01<00:00, 416.23it/s]\n", 99 | "100%|███████████████████████████████████████████████████████████████████████████████| 739/739 [00:01<00:00, 374.90it/s]\n", 100 | "100%|███████████████████████████████████████████████████████████████████████████████| 642/642 [00:01<00:00, 418.33it/s]\n", 101 | "100%|█████████████████████████████████████████████████████████████████████████████| 6193/6193 [00:15<00:00, 395.57it/s]\n", 102 | "100%|███████████████████████████████████████████████████████████████████████████| 10257/10257 [00:24<00:00, 422.76it/s]\n" 103 | ] 104 | } 105 | ], 106 | "source": [ 107 | "Raw_DIR= r'D:\\Python37\\Projects\\iNeuron Intership Projects\\CV_Driver_Drowsiness_Detection\\MRL Eye Data\\mrlEyes_2018_01'\n", 108 | "for dirpath, dirname, filenames in os.walk(Raw_DIR):\n", 109 | " for i in tqdm([f for f in filenames if f.endswith('.png')]):\n", 110 | " if i.split('_')[4]=='0':\n", 111 | " shutil.copy(src=dirpath+'/'+i, dst=r'D:\\Python37\\Projects\\iNeuron Intership Projects\\CV_Driver_Drowsiness_Detection\\MRL Eye Data\\Prepared_Data\\Close Eyes')\n", 112 | " \n", 113 | " elif i.split('_')[4]=='1':\n", 114 | " shutil.copy(src=dirpath+'/'+i, dst=r'D:\\Python37\\Projects\\iNeuron Intership Projects\\CV_Driver_Drowsiness_Detection\\MRL Eye Data\\Prepared_Data\\Open Eyes')\n" 115 | ] 116 | }, 117 | { 118 | "cell_type": "code", 119 | "execution_count": null, 120 | "metadata": {}, 121 | "outputs": [], 122 | "source": [] 123 | }, 124 | { 125 | "cell_type": "code", 126 | "execution_count": null, 127 | "metadata": {}, 128 | "outputs": [], 129 | "source": [] 130 | } 131 | ], 132 | "metadata": { 133 | "kernelspec": { 134 | "display_name": "Python 3", 135 | "language": "python", 136 | "name": "python3" 137 | }, 138 | "language_info": { 139 | "codemirror_mode": { 140 | "name": "ipython", 141 | "version": 3 142 | }, 143 | "file_extension": ".py", 144 | "mimetype": "text/x-python", 145 | "name": "python", 146 | "nbconvert_exporter": "python", 147 | "pygments_lexer": "ipython3", 148 | "version": "3.7.9" 149 | } 150 | }, 151 | "nbformat": 4, 152 | "nbformat_minor": 4 153 | } 154 | -------------------------------------------------------------------------------- /data_prep_drowsiness.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import os\n", 10 | "import glob\n", 11 | "import shutil\n", 12 | "import random\n", 13 | "from tqdm import tqdm" 14 | ] 15 | }, 16 | { 17 | "cell_type": "code", 18 | "execution_count": 2, 19 | "metadata": {}, 20 | "outputs": [ 21 | { 22 | "name": "stderr", 23 | "output_type": "stream", 24 | "text": [ 25 | "0it [00:00, ?it/s]\n", 26 | "100%|██████████| 681/681 [00:01<00:00, 371.65it/s] \n", 27 | "100%|██████████| 522/522 [00:00<00:00, 1173.59it/s]\n", 28 | "100%|██████████| 832/832 [00:00<00:00, 1119.53it/s]\n", 29 | "100%|██████████| 1012/1012 [00:00<00:00, 1207.62it/s]\n", 30 | "100%|██████████| 399/399 [00:00<00:00, 773.98it/s]\n", 31 | "100%|██████████| 642/642 [00:00<00:00, 824.22it/s] \n", 32 | "100%|██████████| 739/739 [00:00<00:00, 1036.91it/s]\n", 33 | "100%|██████████| 1502/1502 [00:01<00:00, 1076.13it/s]\n", 34 | "100%|██████████| 6162/6162 [00:08<00:00, 707.05it/s] \n", 35 | "100%|██████████| 679/679 [00:00<00:00, 879.79it/s] \n", 36 | "100%|██████████| 704/704 [00:00<00:00, 1362.01it/s]\n", 37 | "100%|██████████| 3605/3605 [00:03<00:00, 1145.38it/s]\n", 38 | "100%|██████████| 1132/1132 [00:01<00:00, 841.32it/s] \n", 39 | "100%|██████████| 6193/6193 [00:05<00:00, 1111.98it/s]\n", 40 | "100%|██████████| 1648/1648 [00:01<00:00, 1147.46it/s]\n", 41 | "100%|██████████| 1889/1889 [00:08<00:00, 224.13it/s]\n", 42 | "100%|██████████| 736/736 [00:00<00:00, 1064.67it/s]\n", 43 | "100%|██████████| 10257/10257 [00:07<00:00, 1323.69it/s]\n", 44 | "100%|██████████| 1393/1393 [00:00<00:00, 1394.60it/s]\n", 45 | "100%|██████████| 387/387 [00:00<00:00, 1064.70it/s]\n", 46 | "100%|██████████| 752/752 [00:00<00:00, 1269.94it/s]\n", 47 | "100%|██████████| 1648/1648 [00:01<00:00, 1539.46it/s]\n", 48 | "100%|██████████| 1738/1738 [00:04<00:00, 428.01it/s] \n", 49 | "100%|██████████| 8884/8884 [00:10<00:00, 882.37it/s] \n", 50 | "100%|██████████| 1069/1069 [00:01<00:00, 1009.81it/s]\n", 51 | "100%|██████████| 6175/6175 [00:04<00:00, 1395.85it/s]\n", 52 | "100%|██████████| 1246/1246 [00:01<00:00, 1020.66it/s]\n", 53 | "100%|██████████| 1114/1114 [00:00<00:00, 1120.48it/s]\n", 54 | "100%|██████████| 382/382 [00:00<00:00, 845.03it/s]\n", 55 | "100%|██████████| 4410/4410 [00:04<00:00, 942.30it/s] \n", 56 | "100%|██████████| 3242/3242 [00:03<00:00, 930.25it/s] \n", 57 | "100%|██████████| 8728/8728 [00:07<00:00, 1148.81it/s]\n", 58 | "100%|██████████| 736/736 [00:00<00:00, 988.15it/s] \n", 59 | "100%|██████████| 665/665 [00:00<00:00, 1435.48it/s]\n", 60 | "100%|██████████| 987/987 [00:00<00:00, 1477.41it/s]\n", 61 | "100%|██████████| 1384/1384 [00:01<00:00, 1250.77it/s]\n", 62 | "100%|██████████| 624/624 [00:00<00:00, 1259.39it/s]\n" 63 | ] 64 | } 65 | ], 66 | "source": [ 67 | "raw_data = '/home/delixus/Desktop/drowsiness_detection/mrlEyes_2018_01'\n", 68 | "for dirpath, dirname, filename in os.walk(raw_data):\n", 69 | " for file in tqdm([f for f in filename if f.endswith('.png')]):\n", 70 | " if file.split('_')[4] == '0':\n", 71 | " path='/home/delixus/Desktop/drowsiness_detection/data/train/closed'\n", 72 | " if not os.path.exists(path):\n", 73 | " os.makedirs(path)\n", 74 | " shutil.copy(src=dirpath + '/' + file, dst= path)\n", 75 | " elif file.split('_')[4] == '1':\n", 76 | " path='/home/delixus/Desktop/drowsiness_detection/data/train/open'\n", 77 | " if not os.path.exists(path):\n", 78 | " os.makedirs(path)\n", 79 | " shutil.copy(src=dirpath + '/' + file, dst= path) " 80 | ] 81 | }, 82 | { 83 | "cell_type": "code", 84 | "execution_count": 5, 85 | "metadata": {}, 86 | "outputs": [], 87 | "source": [ 88 | "def create_test_closed(source, destination, percent):\n", 89 | " '''\n", 90 | " divides closed eyes images into given percent and moves from\n", 91 | " source to destination.\n", 92 | " \n", 93 | " Arguments:\n", 94 | " source(path): path of source directory\n", 95 | " destination(path): path of destination directory\n", 96 | " percent(float): percent of data to be divided(range: 0 to 1)\n", 97 | " '''\n", 98 | " path, dirs, files_closed = next(os.walk(source))\n", 99 | " file_count_closed = len(files_closed)\n", 100 | " percentage = file_count_closed * percent\n", 101 | " to_move = random.sample(glob.glob(source + \"/*.png\"), int(percentage))\n", 102 | "\n", 103 | " for f in enumerate(to_move):\n", 104 | " if not os.path.exists(destination):\n", 105 | " os.makedirs(destination)\n", 106 | " shutil.move(f[1], destination)\n", 107 | " print(f'moved {int(percentage)} images to the destination successfully.') " 108 | ] 109 | }, 110 | { 111 | "cell_type": "code", 112 | "execution_count": 6, 113 | "metadata": {}, 114 | "outputs": [], 115 | "source": [ 116 | "def create_test_open(source, destination, percent):\n", 117 | " '''\n", 118 | " divides open eyes images into given percent and moves from\n", 119 | " source to destination.\n", 120 | " \n", 121 | " Arguments:\n", 122 | " source(path): path of source directory\n", 123 | " destination(path): path of destination directory\n", 124 | " percent(float): percent of data to be divided(range: 0 to 1)\n", 125 | " '''\n", 126 | " path, dirs, files_open = next(os.walk(source))\n", 127 | " file_count_open = len(files_open)\n", 128 | " percentage = file_count_open * percent\n", 129 | " to_move = random.sample(glob.glob(source + \"/*.png\"), int(percentage))\n", 130 | "\n", 131 | " for f in enumerate(to_move):\n", 132 | " if not os.path.exists(destination):\n", 133 | " os.makedirs(destination)\n", 134 | " shutil.move(f[1], destination)\n", 135 | " print(f'moved {int(percentage)} images to the destination successfully.')" 136 | ] 137 | }, 138 | { 139 | "cell_type": "code", 140 | "execution_count": 7, 141 | "metadata": {}, 142 | "outputs": [ 143 | { 144 | "name": "stdout", 145 | "output_type": "stream", 146 | "text": [ 147 | "moved 8389 images to the destination successfully.\n" 148 | ] 149 | } 150 | ], 151 | "source": [ 152 | "create_test_closed('/home/delixus/Desktop/drowsiness_detection/data/train/closed', \n", 153 | " '/home/delixus/Desktop/drowsiness_detection/data/test/closed', \n", 154 | " 0.2)" 155 | ] 156 | }, 157 | { 158 | "cell_type": "code", 159 | "execution_count": 8, 160 | "metadata": {}, 161 | "outputs": [ 162 | { 163 | "name": "stdout", 164 | "output_type": "stream", 165 | "text": [ 166 | "moved 8590 images to the destination successfully.\n" 167 | ] 168 | } 169 | ], 170 | "source": [ 171 | "create_test_open('/home/delixus/Desktop/drowsiness_detection/data/train/open', \n", 172 | " '/home/delixus/Desktop/drowsiness_detection/data/test/open', \n", 173 | " 0.2)" 174 | ] 175 | }, 176 | { 177 | "cell_type": "code", 178 | "execution_count": null, 179 | "metadata": {}, 180 | "outputs": [], 181 | "source": [] 182 | } 183 | ], 184 | "metadata": { 185 | "kernelspec": { 186 | "display_name": "Python 3", 187 | "language": "python", 188 | "name": "python3" 189 | }, 190 | "language_info": { 191 | "codemirror_mode": { 192 | "name": "ipython", 193 | "version": 3 194 | }, 195 | "file_extension": ".py", 196 | "mimetype": "text/x-python", 197 | "name": "python", 198 | "nbconvert_exporter": "python", 199 | "pygments_lexer": "ipython3", 200 | "version": "3.6.9" 201 | } 202 | }, 203 | "nbformat": 4, 204 | "nbformat_minor": 4 205 | } 206 | -------------------------------------------------------------------------------- /Model Training.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 36, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import tensorflow as tf\n", 10 | "from tensorflow.keras.applications import InceptionV3\n", 11 | "from tensorflow.keras.models import Model\n", 12 | "from tensorflow.keras.layers import Dropout,Input,Flatten,Dense,MaxPooling2D\n", 13 | "from tensorflow.keras.preprocessing.image import ImageDataGenerator # Data Augumentation" 14 | ] 15 | }, 16 | { 17 | "cell_type": "code", 18 | "execution_count": 2, 19 | "metadata": {}, 20 | "outputs": [ 21 | { 22 | "name": "stdout", 23 | "output_type": "stream", 24 | "text": [ 25 | "WARNING:tensorflow:From :1: is_gpu_available (from tensorflow.python.framework.test_util) is deprecated and will be removed in a future version.\n", 26 | "Instructions for updating:\n", 27 | "Use `tf.config.list_physical_devices('GPU')` instead.\n" 28 | ] 29 | }, 30 | { 31 | "data": { 32 | "text/plain": [ 33 | "True" 34 | ] 35 | }, 36 | "execution_count": 2, 37 | "metadata": {}, 38 | "output_type": "execute_result" 39 | } 40 | ], 41 | "source": [ 42 | "tf.test.is_gpu_available()" 43 | ] 44 | }, 45 | { 46 | "cell_type": "code", 47 | "execution_count": 33, 48 | "metadata": {}, 49 | "outputs": [], 50 | "source": [ 51 | "batchsize=8" 52 | ] 53 | }, 54 | { 55 | "cell_type": "code", 56 | "execution_count": 40, 57 | "metadata": {}, 58 | "outputs": [ 59 | { 60 | "name": "stdout", 61 | "output_type": "stream", 62 | "text": [ 63 | "Found 64263 images belonging to 2 classes.\n", 64 | "Found 16065 images belonging to 2 classes.\n" 65 | ] 66 | } 67 | ], 68 | "source": [ 69 | "train_datagen= ImageDataGenerator(rescale=1./255, rotation_range=0.2,shear_range=0.2,\n", 70 | " zoom_range=0.2,width_shift_range=0.2,\n", 71 | " height_shift_range=0.2, validation_split=0.2)\n", 72 | "\n", 73 | "train_data= train_datagen.flow_from_directory(r'D:\\Python37\\Projects\\iNeuron Intership Projects\\CV_Driver_Drowsiness_Detection\\MRL Eye Data\\Prepared_Data\\train',\n", 74 | " target_size=(80,80),batch_size=batchsize,class_mode='categorical',subset='training' )\n", 75 | "\n", 76 | "validation_data= train_datagen.flow_from_directory(r'D:\\Python37\\Projects\\iNeuron Intership Projects\\CV_Driver_Drowsiness_Detection\\MRL Eye Data\\Prepared_Data\\train',\n", 77 | " target_size=(80,80),batch_size=batchsize,class_mode='categorical', subset='validation')" 78 | ] 79 | }, 80 | { 81 | "cell_type": "code", 82 | "execution_count": 14, 83 | "metadata": {}, 84 | "outputs": [ 85 | { 86 | "name": "stdout", 87 | "output_type": "stream", 88 | "text": [ 89 | "Found 4570 images belonging to 2 classes.\n" 90 | ] 91 | } 92 | ], 93 | "source": [ 94 | "test_datagen = ImageDataGenerator(rescale=1./255)\n", 95 | "\n", 96 | "test_data = test_datagen.flow_from_directory(r'D:\\Python37\\Projects\\iNeuron Intership Projects\\CV_Driver_Drowsiness_Detection\\MRL Eye Data\\Prepared_Data\\test',\n", 97 | " target_size=(80,80),batch_size=batchsize,class_mode='categorical')" 98 | ] 99 | }, 100 | { 101 | "cell_type": "code", 102 | "execution_count": 27, 103 | "metadata": {}, 104 | "outputs": [], 105 | "source": [ 106 | "bmodel = InceptionV3(include_top=False, weights='imagenet', input_tensor=Input(shape=(80,80,3)))\n", 107 | "hmodel = bmodel.output\n", 108 | "hmodel = Flatten()(hmodel)\n", 109 | "hmodel = Dense(64, activation='relu')(hmodel)\n", 110 | "hmodel = Dropout(0.5)(hmodel)\n", 111 | "hmodel = Dense(2,activation= 'softmax')(hmodel)\n", 112 | "\n", 113 | "model = Model(inputs=bmodel.input, outputs= hmodel)\n", 114 | "for layer in bmodel.layers:\n", 115 | " layer.trainable = False" 116 | ] 117 | }, 118 | { 119 | "cell_type": "code", 120 | "execution_count": 28, 121 | "metadata": {}, 122 | "outputs": [ 123 | { 124 | "name": "stdout", 125 | "output_type": "stream", 126 | "text": [ 127 | "Model: \"model_1\"\n", 128 | "__________________________________________________________________________________________________\n", 129 | "Layer (type) Output Shape Param # Connected to \n", 130 | "==================================================================================================\n", 131 | "input_9 (InputLayer) [(None, 80, 80, 3)] 0 \n", 132 | "__________________________________________________________________________________________________\n", 133 | "conv2d_752 (Conv2D) (None, 39, 39, 32) 864 input_9[0][0] \n", 134 | "__________________________________________________________________________________________________\n", 135 | "batch_normalization_752 (BatchN (None, 39, 39, 32) 96 conv2d_752[0][0] \n", 136 | "__________________________________________________________________________________________________\n", 137 | "activation_752 (Activation) (None, 39, 39, 32) 0 batch_normalization_752[0][0] \n", 138 | "__________________________________________________________________________________________________\n", 139 | "conv2d_753 (Conv2D) (None, 37, 37, 32) 9216 activation_752[0][0] \n", 140 | "__________________________________________________________________________________________________\n", 141 | "batch_normalization_753 (BatchN (None, 37, 37, 32) 96 conv2d_753[0][0] \n", 142 | "__________________________________________________________________________________________________\n", 143 | "activation_753 (Activation) (None, 37, 37, 32) 0 batch_normalization_753[0][0] \n", 144 | "__________________________________________________________________________________________________\n", 145 | "conv2d_754 (Conv2D) (None, 37, 37, 64) 18432 activation_753[0][0] \n", 146 | "__________________________________________________________________________________________________\n", 147 | "batch_normalization_754 (BatchN (None, 37, 37, 64) 192 conv2d_754[0][0] \n", 148 | "__________________________________________________________________________________________________\n", 149 | "activation_754 (Activation) (None, 37, 37, 64) 0 batch_normalization_754[0][0] \n", 150 | "__________________________________________________________________________________________________\n", 151 | "max_pooling2d_32 (MaxPooling2D) (None, 18, 18, 64) 0 activation_754[0][0] \n", 152 | "__________________________________________________________________________________________________\n", 153 | "conv2d_755 (Conv2D) (None, 18, 18, 80) 5120 max_pooling2d_32[0][0] \n", 154 | "__________________________________________________________________________________________________\n", 155 | "batch_normalization_755 (BatchN (None, 18, 18, 80) 240 conv2d_755[0][0] \n", 156 | "__________________________________________________________________________________________________\n", 157 | "activation_755 (Activation) (None, 18, 18, 80) 0 batch_normalization_755[0][0] \n", 158 | "__________________________________________________________________________________________________\n", 159 | "conv2d_756 (Conv2D) (None, 16, 16, 192) 138240 activation_755[0][0] \n", 160 | "__________________________________________________________________________________________________\n", 161 | "batch_normalization_756 (BatchN (None, 16, 16, 192) 576 conv2d_756[0][0] \n", 162 | "__________________________________________________________________________________________________\n", 163 | "activation_756 (Activation) (None, 16, 16, 192) 0 batch_normalization_756[0][0] \n", 164 | "__________________________________________________________________________________________________\n", 165 | "max_pooling2d_33 (MaxPooling2D) (None, 7, 7, 192) 0 activation_756[0][0] \n", 166 | "__________________________________________________________________________________________________\n", 167 | "conv2d_760 (Conv2D) (None, 7, 7, 64) 12288 max_pooling2d_33[0][0] \n", 168 | "__________________________________________________________________________________________________\n", 169 | "batch_normalization_760 (BatchN (None, 7, 7, 64) 192 conv2d_760[0][0] \n", 170 | "__________________________________________________________________________________________________\n", 171 | "activation_760 (Activation) (None, 7, 7, 64) 0 batch_normalization_760[0][0] \n", 172 | "__________________________________________________________________________________________________\n", 173 | "conv2d_758 (Conv2D) (None, 7, 7, 48) 9216 max_pooling2d_33[0][0] \n", 174 | "__________________________________________________________________________________________________\n", 175 | "conv2d_761 (Conv2D) (None, 7, 7, 96) 55296 activation_760[0][0] \n", 176 | "__________________________________________________________________________________________________\n", 177 | "batch_normalization_758 (BatchN (None, 7, 7, 48) 144 conv2d_758[0][0] \n", 178 | "__________________________________________________________________________________________________\n", 179 | "batch_normalization_761 (BatchN (None, 7, 7, 96) 288 conv2d_761[0][0] \n", 180 | "__________________________________________________________________________________________________\n", 181 | "activation_758 (Activation) (None, 7, 7, 48) 0 batch_normalization_758[0][0] \n", 182 | "__________________________________________________________________________________________________\n", 183 | "activation_761 (Activation) (None, 7, 7, 96) 0 batch_normalization_761[0][0] \n", 184 | "__________________________________________________________________________________________________\n", 185 | "average_pooling2d_72 (AveragePo (None, 7, 7, 192) 0 max_pooling2d_33[0][0] \n", 186 | "__________________________________________________________________________________________________\n", 187 | "conv2d_757 (Conv2D) (None, 7, 7, 64) 12288 max_pooling2d_33[0][0] \n", 188 | "__________________________________________________________________________________________________\n", 189 | "conv2d_759 (Conv2D) (None, 7, 7, 64) 76800 activation_758[0][0] \n", 190 | "__________________________________________________________________________________________________\n", 191 | "conv2d_762 (Conv2D) (None, 7, 7, 96) 82944 activation_761[0][0] \n", 192 | "__________________________________________________________________________________________________\n", 193 | "conv2d_763 (Conv2D) (None, 7, 7, 32) 6144 average_pooling2d_72[0][0] \n", 194 | "__________________________________________________________________________________________________\n", 195 | "batch_normalization_757 (BatchN (None, 7, 7, 64) 192 conv2d_757[0][0] \n", 196 | "__________________________________________________________________________________________________\n", 197 | "batch_normalization_759 (BatchN (None, 7, 7, 64) 192 conv2d_759[0][0] \n", 198 | "__________________________________________________________________________________________________\n", 199 | "batch_normalization_762 (BatchN (None, 7, 7, 96) 288 conv2d_762[0][0] \n", 200 | "__________________________________________________________________________________________________\n", 201 | "batch_normalization_763 (BatchN (None, 7, 7, 32) 96 conv2d_763[0][0] \n", 202 | "__________________________________________________________________________________________________\n", 203 | "activation_757 (Activation) (None, 7, 7, 64) 0 batch_normalization_757[0][0] \n", 204 | "__________________________________________________________________________________________________\n", 205 | "activation_759 (Activation) (None, 7, 7, 64) 0 batch_normalization_759[0][0] \n", 206 | "__________________________________________________________________________________________________\n", 207 | "activation_762 (Activation) (None, 7, 7, 96) 0 batch_normalization_762[0][0] \n", 208 | "__________________________________________________________________________________________________\n", 209 | "activation_763 (Activation) (None, 7, 7, 32) 0 batch_normalization_763[0][0] \n", 210 | "__________________________________________________________________________________________________\n", 211 | "mixed0 (Concatenate) (None, 7, 7, 256) 0 activation_757[0][0] \n", 212 | " activation_759[0][0] \n", 213 | " activation_762[0][0] \n", 214 | " activation_763[0][0] \n", 215 | "__________________________________________________________________________________________________\n", 216 | "conv2d_767 (Conv2D) (None, 7, 7, 64) 16384 mixed0[0][0] \n", 217 | "__________________________________________________________________________________________________\n", 218 | "batch_normalization_767 (BatchN (None, 7, 7, 64) 192 conv2d_767[0][0] \n", 219 | "__________________________________________________________________________________________________\n", 220 | "activation_767 (Activation) (None, 7, 7, 64) 0 batch_normalization_767[0][0] \n", 221 | "__________________________________________________________________________________________________\n", 222 | "conv2d_765 (Conv2D) (None, 7, 7, 48) 12288 mixed0[0][0] \n", 223 | "__________________________________________________________________________________________________\n", 224 | "conv2d_768 (Conv2D) (None, 7, 7, 96) 55296 activation_767[0][0] \n", 225 | "__________________________________________________________________________________________________\n", 226 | "batch_normalization_765 (BatchN (None, 7, 7, 48) 144 conv2d_765[0][0] \n", 227 | "__________________________________________________________________________________________________\n", 228 | "batch_normalization_768 (BatchN (None, 7, 7, 96) 288 conv2d_768[0][0] \n", 229 | "__________________________________________________________________________________________________\n", 230 | "activation_765 (Activation) (None, 7, 7, 48) 0 batch_normalization_765[0][0] \n", 231 | "__________________________________________________________________________________________________\n", 232 | "activation_768 (Activation) (None, 7, 7, 96) 0 batch_normalization_768[0][0] \n", 233 | "__________________________________________________________________________________________________\n", 234 | "average_pooling2d_73 (AveragePo (None, 7, 7, 256) 0 mixed0[0][0] \n", 235 | "__________________________________________________________________________________________________\n", 236 | "conv2d_764 (Conv2D) (None, 7, 7, 64) 16384 mixed0[0][0] \n", 237 | "__________________________________________________________________________________________________\n", 238 | "conv2d_766 (Conv2D) (None, 7, 7, 64) 76800 activation_765[0][0] \n", 239 | "__________________________________________________________________________________________________\n", 240 | "conv2d_769 (Conv2D) (None, 7, 7, 96) 82944 activation_768[0][0] \n", 241 | "__________________________________________________________________________________________________\n", 242 | "conv2d_770 (Conv2D) (None, 7, 7, 64) 16384 average_pooling2d_73[0][0] \n", 243 | "__________________________________________________________________________________________________\n", 244 | "batch_normalization_764 (BatchN (None, 7, 7, 64) 192 conv2d_764[0][0] \n", 245 | "__________________________________________________________________________________________________\n", 246 | "batch_normalization_766 (BatchN (None, 7, 7, 64) 192 conv2d_766[0][0] \n", 247 | "__________________________________________________________________________________________________\n", 248 | "batch_normalization_769 (BatchN (None, 7, 7, 96) 288 conv2d_769[0][0] \n", 249 | "__________________________________________________________________________________________________\n", 250 | "batch_normalization_770 (BatchN (None, 7, 7, 64) 192 conv2d_770[0][0] \n", 251 | "__________________________________________________________________________________________________\n", 252 | "activation_764 (Activation) (None, 7, 7, 64) 0 batch_normalization_764[0][0] \n", 253 | "__________________________________________________________________________________________________\n", 254 | "activation_766 (Activation) (None, 7, 7, 64) 0 batch_normalization_766[0][0] \n", 255 | "__________________________________________________________________________________________________\n", 256 | "activation_769 (Activation) (None, 7, 7, 96) 0 batch_normalization_769[0][0] \n", 257 | "__________________________________________________________________________________________________\n", 258 | "activation_770 (Activation) (None, 7, 7, 64) 0 batch_normalization_770[0][0] \n", 259 | "__________________________________________________________________________________________________\n", 260 | "mixed1 (Concatenate) (None, 7, 7, 288) 0 activation_764[0][0] \n", 261 | " activation_766[0][0] \n", 262 | " activation_769[0][0] \n", 263 | " activation_770[0][0] \n", 264 | "__________________________________________________________________________________________________\n", 265 | "conv2d_774 (Conv2D) (None, 7, 7, 64) 18432 mixed1[0][0] \n", 266 | "__________________________________________________________________________________________________\n", 267 | "batch_normalization_774 (BatchN (None, 7, 7, 64) 192 conv2d_774[0][0] \n", 268 | "__________________________________________________________________________________________________\n", 269 | "activation_774 (Activation) (None, 7, 7, 64) 0 batch_normalization_774[0][0] \n", 270 | "__________________________________________________________________________________________________\n", 271 | "conv2d_772 (Conv2D) (None, 7, 7, 48) 13824 mixed1[0][0] \n", 272 | "__________________________________________________________________________________________________\n", 273 | "conv2d_775 (Conv2D) (None, 7, 7, 96) 55296 activation_774[0][0] \n", 274 | "__________________________________________________________________________________________________\n", 275 | "batch_normalization_772 (BatchN (None, 7, 7, 48) 144 conv2d_772[0][0] \n", 276 | "__________________________________________________________________________________________________\n", 277 | "batch_normalization_775 (BatchN (None, 7, 7, 96) 288 conv2d_775[0][0] \n", 278 | "__________________________________________________________________________________________________\n", 279 | "activation_772 (Activation) (None, 7, 7, 48) 0 batch_normalization_772[0][0] \n", 280 | "__________________________________________________________________________________________________\n", 281 | "activation_775 (Activation) (None, 7, 7, 96) 0 batch_normalization_775[0][0] \n", 282 | "__________________________________________________________________________________________________\n", 283 | "average_pooling2d_74 (AveragePo (None, 7, 7, 288) 0 mixed1[0][0] \n", 284 | "__________________________________________________________________________________________________\n", 285 | "conv2d_771 (Conv2D) (None, 7, 7, 64) 18432 mixed1[0][0] \n", 286 | "__________________________________________________________________________________________________\n", 287 | "conv2d_773 (Conv2D) (None, 7, 7, 64) 76800 activation_772[0][0] \n", 288 | "__________________________________________________________________________________________________\n", 289 | "conv2d_776 (Conv2D) (None, 7, 7, 96) 82944 activation_775[0][0] \n", 290 | "__________________________________________________________________________________________________\n", 291 | "conv2d_777 (Conv2D) (None, 7, 7, 64) 18432 average_pooling2d_74[0][0] \n", 292 | "__________________________________________________________________________________________________\n", 293 | "batch_normalization_771 (BatchN (None, 7, 7, 64) 192 conv2d_771[0][0] \n", 294 | "__________________________________________________________________________________________________\n", 295 | "batch_normalization_773 (BatchN (None, 7, 7, 64) 192 conv2d_773[0][0] \n", 296 | "__________________________________________________________________________________________________\n", 297 | "batch_normalization_776 (BatchN (None, 7, 7, 96) 288 conv2d_776[0][0] \n", 298 | "__________________________________________________________________________________________________\n", 299 | "batch_normalization_777 (BatchN (None, 7, 7, 64) 192 conv2d_777[0][0] \n", 300 | "__________________________________________________________________________________________________\n", 301 | "activation_771 (Activation) (None, 7, 7, 64) 0 batch_normalization_771[0][0] \n", 302 | "__________________________________________________________________________________________________\n", 303 | "activation_773 (Activation) (None, 7, 7, 64) 0 batch_normalization_773[0][0] \n", 304 | "__________________________________________________________________________________________________\n", 305 | "activation_776 (Activation) (None, 7, 7, 96) 0 batch_normalization_776[0][0] \n", 306 | "__________________________________________________________________________________________________\n", 307 | "activation_777 (Activation) (None, 7, 7, 64) 0 batch_normalization_777[0][0] \n", 308 | "__________________________________________________________________________________________________\n", 309 | "mixed2 (Concatenate) (None, 7, 7, 288) 0 activation_771[0][0] \n", 310 | " activation_773[0][0] \n", 311 | " activation_776[0][0] \n", 312 | " activation_777[0][0] \n", 313 | "__________________________________________________________________________________________________\n", 314 | "conv2d_779 (Conv2D) (None, 7, 7, 64) 18432 mixed2[0][0] \n", 315 | "__________________________________________________________________________________________________\n", 316 | "batch_normalization_779 (BatchN (None, 7, 7, 64) 192 conv2d_779[0][0] \n", 317 | "__________________________________________________________________________________________________\n", 318 | "activation_779 (Activation) (None, 7, 7, 64) 0 batch_normalization_779[0][0] \n", 319 | "__________________________________________________________________________________________________\n", 320 | "conv2d_780 (Conv2D) (None, 7, 7, 96) 55296 activation_779[0][0] \n", 321 | "__________________________________________________________________________________________________\n", 322 | "batch_normalization_780 (BatchN (None, 7, 7, 96) 288 conv2d_780[0][0] \n", 323 | "__________________________________________________________________________________________________\n", 324 | "activation_780 (Activation) (None, 7, 7, 96) 0 batch_normalization_780[0][0] \n", 325 | "__________________________________________________________________________________________________\n", 326 | "conv2d_778 (Conv2D) (None, 3, 3, 384) 995328 mixed2[0][0] \n", 327 | "__________________________________________________________________________________________________\n", 328 | "conv2d_781 (Conv2D) (None, 3, 3, 96) 82944 activation_780[0][0] \n", 329 | "__________________________________________________________________________________________________\n", 330 | "batch_normalization_778 (BatchN (None, 3, 3, 384) 1152 conv2d_778[0][0] \n", 331 | "__________________________________________________________________________________________________\n", 332 | "batch_normalization_781 (BatchN (None, 3, 3, 96) 288 conv2d_781[0][0] \n", 333 | "__________________________________________________________________________________________________\n", 334 | "activation_778 (Activation) (None, 3, 3, 384) 0 batch_normalization_778[0][0] \n", 335 | "__________________________________________________________________________________________________\n", 336 | "activation_781 (Activation) (None, 3, 3, 96) 0 batch_normalization_781[0][0] \n", 337 | "__________________________________________________________________________________________________\n", 338 | "max_pooling2d_34 (MaxPooling2D) (None, 3, 3, 288) 0 mixed2[0][0] \n", 339 | "__________________________________________________________________________________________________\n", 340 | "mixed3 (Concatenate) (None, 3, 3, 768) 0 activation_778[0][0] \n", 341 | " activation_781[0][0] \n", 342 | " max_pooling2d_34[0][0] \n", 343 | "__________________________________________________________________________________________________\n", 344 | "conv2d_786 (Conv2D) (None, 3, 3, 128) 98304 mixed3[0][0] \n", 345 | "__________________________________________________________________________________________________\n", 346 | "batch_normalization_786 (BatchN (None, 3, 3, 128) 384 conv2d_786[0][0] \n", 347 | "__________________________________________________________________________________________________\n", 348 | "activation_786 (Activation) (None, 3, 3, 128) 0 batch_normalization_786[0][0] \n", 349 | "__________________________________________________________________________________________________\n", 350 | "conv2d_787 (Conv2D) (None, 3, 3, 128) 114688 activation_786[0][0] \n", 351 | "__________________________________________________________________________________________________\n", 352 | "batch_normalization_787 (BatchN (None, 3, 3, 128) 384 conv2d_787[0][0] \n", 353 | "__________________________________________________________________________________________________\n", 354 | "activation_787 (Activation) (None, 3, 3, 128) 0 batch_normalization_787[0][0] \n", 355 | "__________________________________________________________________________________________________\n", 356 | "conv2d_783 (Conv2D) (None, 3, 3, 128) 98304 mixed3[0][0] \n", 357 | "__________________________________________________________________________________________________\n", 358 | "conv2d_788 (Conv2D) (None, 3, 3, 128) 114688 activation_787[0][0] \n", 359 | "__________________________________________________________________________________________________\n", 360 | "batch_normalization_783 (BatchN (None, 3, 3, 128) 384 conv2d_783[0][0] \n", 361 | "__________________________________________________________________________________________________\n", 362 | "batch_normalization_788 (BatchN (None, 3, 3, 128) 384 conv2d_788[0][0] \n", 363 | "__________________________________________________________________________________________________\n", 364 | "activation_783 (Activation) (None, 3, 3, 128) 0 batch_normalization_783[0][0] \n", 365 | "__________________________________________________________________________________________________\n", 366 | "activation_788 (Activation) (None, 3, 3, 128) 0 batch_normalization_788[0][0] \n", 367 | "__________________________________________________________________________________________________\n", 368 | "conv2d_784 (Conv2D) (None, 3, 3, 128) 114688 activation_783[0][0] \n", 369 | "__________________________________________________________________________________________________\n", 370 | "conv2d_789 (Conv2D) (None, 3, 3, 128) 114688 activation_788[0][0] \n", 371 | "__________________________________________________________________________________________________\n", 372 | "batch_normalization_784 (BatchN (None, 3, 3, 128) 384 conv2d_784[0][0] \n", 373 | "__________________________________________________________________________________________________\n", 374 | "batch_normalization_789 (BatchN (None, 3, 3, 128) 384 conv2d_789[0][0] \n", 375 | "__________________________________________________________________________________________________\n", 376 | "activation_784 (Activation) (None, 3, 3, 128) 0 batch_normalization_784[0][0] \n", 377 | "__________________________________________________________________________________________________\n", 378 | "activation_789 (Activation) (None, 3, 3, 128) 0 batch_normalization_789[0][0] \n", 379 | "__________________________________________________________________________________________________\n", 380 | "average_pooling2d_75 (AveragePo (None, 3, 3, 768) 0 mixed3[0][0] \n", 381 | "__________________________________________________________________________________________________\n", 382 | "conv2d_782 (Conv2D) (None, 3, 3, 192) 147456 mixed3[0][0] \n", 383 | "__________________________________________________________________________________________________\n", 384 | "conv2d_785 (Conv2D) (None, 3, 3, 192) 172032 activation_784[0][0] \n", 385 | "__________________________________________________________________________________________________\n", 386 | "conv2d_790 (Conv2D) (None, 3, 3, 192) 172032 activation_789[0][0] \n", 387 | "__________________________________________________________________________________________________\n", 388 | "conv2d_791 (Conv2D) (None, 3, 3, 192) 147456 average_pooling2d_75[0][0] \n", 389 | "__________________________________________________________________________________________________\n", 390 | "batch_normalization_782 (BatchN (None, 3, 3, 192) 576 conv2d_782[0][0] \n", 391 | "__________________________________________________________________________________________________\n", 392 | "batch_normalization_785 (BatchN (None, 3, 3, 192) 576 conv2d_785[0][0] \n", 393 | "__________________________________________________________________________________________________\n", 394 | "batch_normalization_790 (BatchN (None, 3, 3, 192) 576 conv2d_790[0][0] \n", 395 | "__________________________________________________________________________________________________\n", 396 | "batch_normalization_791 (BatchN (None, 3, 3, 192) 576 conv2d_791[0][0] \n", 397 | "__________________________________________________________________________________________________\n", 398 | "activation_782 (Activation) (None, 3, 3, 192) 0 batch_normalization_782[0][0] \n", 399 | "__________________________________________________________________________________________________\n", 400 | "activation_785 (Activation) (None, 3, 3, 192) 0 batch_normalization_785[0][0] \n", 401 | "__________________________________________________________________________________________________\n", 402 | "activation_790 (Activation) (None, 3, 3, 192) 0 batch_normalization_790[0][0] \n", 403 | "__________________________________________________________________________________________________\n", 404 | "activation_791 (Activation) (None, 3, 3, 192) 0 batch_normalization_791[0][0] \n", 405 | "__________________________________________________________________________________________________\n", 406 | "mixed4 (Concatenate) (None, 3, 3, 768) 0 activation_782[0][0] \n", 407 | " activation_785[0][0] \n", 408 | " activation_790[0][0] \n", 409 | " activation_791[0][0] \n", 410 | "__________________________________________________________________________________________________\n", 411 | "conv2d_796 (Conv2D) (None, 3, 3, 160) 122880 mixed4[0][0] \n", 412 | "__________________________________________________________________________________________________\n", 413 | "batch_normalization_796 (BatchN (None, 3, 3, 160) 480 conv2d_796[0][0] \n", 414 | "__________________________________________________________________________________________________\n", 415 | "activation_796 (Activation) (None, 3, 3, 160) 0 batch_normalization_796[0][0] \n", 416 | "__________________________________________________________________________________________________\n", 417 | "conv2d_797 (Conv2D) (None, 3, 3, 160) 179200 activation_796[0][0] \n", 418 | "__________________________________________________________________________________________________\n", 419 | "batch_normalization_797 (BatchN (None, 3, 3, 160) 480 conv2d_797[0][0] \n", 420 | "__________________________________________________________________________________________________\n", 421 | "activation_797 (Activation) (None, 3, 3, 160) 0 batch_normalization_797[0][0] \n", 422 | "__________________________________________________________________________________________________\n", 423 | "conv2d_793 (Conv2D) (None, 3, 3, 160) 122880 mixed4[0][0] \n", 424 | "__________________________________________________________________________________________________\n", 425 | "conv2d_798 (Conv2D) (None, 3, 3, 160) 179200 activation_797[0][0] \n", 426 | "__________________________________________________________________________________________________\n", 427 | "batch_normalization_793 (BatchN (None, 3, 3, 160) 480 conv2d_793[0][0] \n", 428 | "__________________________________________________________________________________________________\n", 429 | "batch_normalization_798 (BatchN (None, 3, 3, 160) 480 conv2d_798[0][0] \n", 430 | "__________________________________________________________________________________________________\n", 431 | "activation_793 (Activation) (None, 3, 3, 160) 0 batch_normalization_793[0][0] \n", 432 | "__________________________________________________________________________________________________\n", 433 | "activation_798 (Activation) (None, 3, 3, 160) 0 batch_normalization_798[0][0] \n", 434 | "__________________________________________________________________________________________________\n", 435 | "conv2d_794 (Conv2D) (None, 3, 3, 160) 179200 activation_793[0][0] \n", 436 | "__________________________________________________________________________________________________\n", 437 | "conv2d_799 (Conv2D) (None, 3, 3, 160) 179200 activation_798[0][0] \n", 438 | "__________________________________________________________________________________________________\n", 439 | "batch_normalization_794 (BatchN (None, 3, 3, 160) 480 conv2d_794[0][0] \n", 440 | "__________________________________________________________________________________________________\n", 441 | "batch_normalization_799 (BatchN (None, 3, 3, 160) 480 conv2d_799[0][0] \n", 442 | "__________________________________________________________________________________________________\n", 443 | "activation_794 (Activation) (None, 3, 3, 160) 0 batch_normalization_794[0][0] \n", 444 | "__________________________________________________________________________________________________\n", 445 | "activation_799 (Activation) (None, 3, 3, 160) 0 batch_normalization_799[0][0] \n", 446 | "__________________________________________________________________________________________________\n", 447 | "average_pooling2d_76 (AveragePo (None, 3, 3, 768) 0 mixed4[0][0] \n", 448 | "__________________________________________________________________________________________________\n", 449 | "conv2d_792 (Conv2D) (None, 3, 3, 192) 147456 mixed4[0][0] \n", 450 | "__________________________________________________________________________________________________\n", 451 | "conv2d_795 (Conv2D) (None, 3, 3, 192) 215040 activation_794[0][0] \n", 452 | "__________________________________________________________________________________________________\n", 453 | "conv2d_800 (Conv2D) (None, 3, 3, 192) 215040 activation_799[0][0] \n", 454 | "__________________________________________________________________________________________________\n", 455 | "conv2d_801 (Conv2D) (None, 3, 3, 192) 147456 average_pooling2d_76[0][0] \n", 456 | "__________________________________________________________________________________________________\n", 457 | "batch_normalization_792 (BatchN (None, 3, 3, 192) 576 conv2d_792[0][0] \n", 458 | "__________________________________________________________________________________________________\n", 459 | "batch_normalization_795 (BatchN (None, 3, 3, 192) 576 conv2d_795[0][0] \n", 460 | "__________________________________________________________________________________________________\n", 461 | "batch_normalization_800 (BatchN (None, 3, 3, 192) 576 conv2d_800[0][0] \n", 462 | "__________________________________________________________________________________________________\n", 463 | "batch_normalization_801 (BatchN (None, 3, 3, 192) 576 conv2d_801[0][0] \n", 464 | "__________________________________________________________________________________________________\n", 465 | "activation_792 (Activation) (None, 3, 3, 192) 0 batch_normalization_792[0][0] \n", 466 | "__________________________________________________________________________________________________\n", 467 | "activation_795 (Activation) (None, 3, 3, 192) 0 batch_normalization_795[0][0] \n", 468 | "__________________________________________________________________________________________________\n", 469 | "activation_800 (Activation) (None, 3, 3, 192) 0 batch_normalization_800[0][0] \n", 470 | "__________________________________________________________________________________________________\n", 471 | "activation_801 (Activation) (None, 3, 3, 192) 0 batch_normalization_801[0][0] \n", 472 | "__________________________________________________________________________________________________\n", 473 | "mixed5 (Concatenate) (None, 3, 3, 768) 0 activation_792[0][0] \n", 474 | " activation_795[0][0] \n", 475 | " activation_800[0][0] \n", 476 | " activation_801[0][0] \n", 477 | "__________________________________________________________________________________________________\n", 478 | "conv2d_806 (Conv2D) (None, 3, 3, 160) 122880 mixed5[0][0] \n", 479 | "__________________________________________________________________________________________________\n", 480 | "batch_normalization_806 (BatchN (None, 3, 3, 160) 480 conv2d_806[0][0] \n", 481 | "__________________________________________________________________________________________________\n", 482 | "activation_806 (Activation) (None, 3, 3, 160) 0 batch_normalization_806[0][0] \n", 483 | "__________________________________________________________________________________________________\n", 484 | "conv2d_807 (Conv2D) (None, 3, 3, 160) 179200 activation_806[0][0] \n", 485 | "__________________________________________________________________________________________________\n", 486 | "batch_normalization_807 (BatchN (None, 3, 3, 160) 480 conv2d_807[0][0] \n", 487 | "__________________________________________________________________________________________________\n", 488 | "activation_807 (Activation) (None, 3, 3, 160) 0 batch_normalization_807[0][0] \n", 489 | "__________________________________________________________________________________________________\n", 490 | "conv2d_803 (Conv2D) (None, 3, 3, 160) 122880 mixed5[0][0] \n", 491 | "__________________________________________________________________________________________________\n", 492 | "conv2d_808 (Conv2D) (None, 3, 3, 160) 179200 activation_807[0][0] \n", 493 | "__________________________________________________________________________________________________\n", 494 | "batch_normalization_803 (BatchN (None, 3, 3, 160) 480 conv2d_803[0][0] \n", 495 | "__________________________________________________________________________________________________\n", 496 | "batch_normalization_808 (BatchN (None, 3, 3, 160) 480 conv2d_808[0][0] \n", 497 | "__________________________________________________________________________________________________\n", 498 | "activation_803 (Activation) (None, 3, 3, 160) 0 batch_normalization_803[0][0] \n", 499 | "__________________________________________________________________________________________________\n", 500 | "activation_808 (Activation) (None, 3, 3, 160) 0 batch_normalization_808[0][0] \n", 501 | "__________________________________________________________________________________________________\n", 502 | "conv2d_804 (Conv2D) (None, 3, 3, 160) 179200 activation_803[0][0] \n", 503 | "__________________________________________________________________________________________________\n", 504 | "conv2d_809 (Conv2D) (None, 3, 3, 160) 179200 activation_808[0][0] \n", 505 | "__________________________________________________________________________________________________\n", 506 | "batch_normalization_804 (BatchN (None, 3, 3, 160) 480 conv2d_804[0][0] \n", 507 | "__________________________________________________________________________________________________\n", 508 | "batch_normalization_809 (BatchN (None, 3, 3, 160) 480 conv2d_809[0][0] \n", 509 | "__________________________________________________________________________________________________\n", 510 | "activation_804 (Activation) (None, 3, 3, 160) 0 batch_normalization_804[0][0] \n", 511 | "__________________________________________________________________________________________________\n", 512 | "activation_809 (Activation) (None, 3, 3, 160) 0 batch_normalization_809[0][0] \n", 513 | "__________________________________________________________________________________________________\n", 514 | "average_pooling2d_77 (AveragePo (None, 3, 3, 768) 0 mixed5[0][0] \n", 515 | "__________________________________________________________________________________________________\n", 516 | "conv2d_802 (Conv2D) (None, 3, 3, 192) 147456 mixed5[0][0] \n", 517 | "__________________________________________________________________________________________________\n", 518 | "conv2d_805 (Conv2D) (None, 3, 3, 192) 215040 activation_804[0][0] \n", 519 | "__________________________________________________________________________________________________\n", 520 | "conv2d_810 (Conv2D) (None, 3, 3, 192) 215040 activation_809[0][0] \n", 521 | "__________________________________________________________________________________________________\n", 522 | "conv2d_811 (Conv2D) (None, 3, 3, 192) 147456 average_pooling2d_77[0][0] \n", 523 | "__________________________________________________________________________________________________\n", 524 | "batch_normalization_802 (BatchN (None, 3, 3, 192) 576 conv2d_802[0][0] \n", 525 | "__________________________________________________________________________________________________\n", 526 | "batch_normalization_805 (BatchN (None, 3, 3, 192) 576 conv2d_805[0][0] \n", 527 | "__________________________________________________________________________________________________\n", 528 | "batch_normalization_810 (BatchN (None, 3, 3, 192) 576 conv2d_810[0][0] \n", 529 | "__________________________________________________________________________________________________\n", 530 | "batch_normalization_811 (BatchN (None, 3, 3, 192) 576 conv2d_811[0][0] \n", 531 | "__________________________________________________________________________________________________\n", 532 | "activation_802 (Activation) (None, 3, 3, 192) 0 batch_normalization_802[0][0] \n", 533 | "__________________________________________________________________________________________________\n", 534 | "activation_805 (Activation) (None, 3, 3, 192) 0 batch_normalization_805[0][0] \n", 535 | "__________________________________________________________________________________________________\n", 536 | "activation_810 (Activation) (None, 3, 3, 192) 0 batch_normalization_810[0][0] \n", 537 | "__________________________________________________________________________________________________\n", 538 | "activation_811 (Activation) (None, 3, 3, 192) 0 batch_normalization_811[0][0] \n", 539 | "__________________________________________________________________________________________________\n", 540 | "mixed6 (Concatenate) (None, 3, 3, 768) 0 activation_802[0][0] \n", 541 | " activation_805[0][0] \n", 542 | " activation_810[0][0] \n", 543 | " activation_811[0][0] \n", 544 | "__________________________________________________________________________________________________\n", 545 | "conv2d_816 (Conv2D) (None, 3, 3, 192) 147456 mixed6[0][0] \n", 546 | "__________________________________________________________________________________________________\n", 547 | "batch_normalization_816 (BatchN (None, 3, 3, 192) 576 conv2d_816[0][0] \n", 548 | "__________________________________________________________________________________________________\n", 549 | "activation_816 (Activation) (None, 3, 3, 192) 0 batch_normalization_816[0][0] \n", 550 | "__________________________________________________________________________________________________\n", 551 | "conv2d_817 (Conv2D) (None, 3, 3, 192) 258048 activation_816[0][0] \n", 552 | "__________________________________________________________________________________________________\n", 553 | "batch_normalization_817 (BatchN (None, 3, 3, 192) 576 conv2d_817[0][0] \n", 554 | "__________________________________________________________________________________________________\n", 555 | "activation_817 (Activation) (None, 3, 3, 192) 0 batch_normalization_817[0][0] \n", 556 | "__________________________________________________________________________________________________\n", 557 | "conv2d_813 (Conv2D) (None, 3, 3, 192) 147456 mixed6[0][0] \n", 558 | "__________________________________________________________________________________________________\n", 559 | "conv2d_818 (Conv2D) (None, 3, 3, 192) 258048 activation_817[0][0] \n", 560 | "__________________________________________________________________________________________________\n", 561 | "batch_normalization_813 (BatchN (None, 3, 3, 192) 576 conv2d_813[0][0] \n", 562 | "__________________________________________________________________________________________________\n", 563 | "batch_normalization_818 (BatchN (None, 3, 3, 192) 576 conv2d_818[0][0] \n", 564 | "__________________________________________________________________________________________________\n", 565 | "activation_813 (Activation) (None, 3, 3, 192) 0 batch_normalization_813[0][0] \n", 566 | "__________________________________________________________________________________________________\n", 567 | "activation_818 (Activation) (None, 3, 3, 192) 0 batch_normalization_818[0][0] \n", 568 | "__________________________________________________________________________________________________\n", 569 | "conv2d_814 (Conv2D) (None, 3, 3, 192) 258048 activation_813[0][0] \n", 570 | "__________________________________________________________________________________________________\n", 571 | "conv2d_819 (Conv2D) (None, 3, 3, 192) 258048 activation_818[0][0] \n", 572 | "__________________________________________________________________________________________________\n", 573 | "batch_normalization_814 (BatchN (None, 3, 3, 192) 576 conv2d_814[0][0] \n", 574 | "__________________________________________________________________________________________________\n", 575 | "batch_normalization_819 (BatchN (None, 3, 3, 192) 576 conv2d_819[0][0] \n", 576 | "__________________________________________________________________________________________________\n", 577 | "activation_814 (Activation) (None, 3, 3, 192) 0 batch_normalization_814[0][0] \n", 578 | "__________________________________________________________________________________________________\n", 579 | "activation_819 (Activation) (None, 3, 3, 192) 0 batch_normalization_819[0][0] \n", 580 | "__________________________________________________________________________________________________\n", 581 | "average_pooling2d_78 (AveragePo (None, 3, 3, 768) 0 mixed6[0][0] \n", 582 | "__________________________________________________________________________________________________\n", 583 | "conv2d_812 (Conv2D) (None, 3, 3, 192) 147456 mixed6[0][0] \n", 584 | "__________________________________________________________________________________________________\n", 585 | "conv2d_815 (Conv2D) (None, 3, 3, 192) 258048 activation_814[0][0] \n", 586 | "__________________________________________________________________________________________________\n", 587 | "conv2d_820 (Conv2D) (None, 3, 3, 192) 258048 activation_819[0][0] \n", 588 | "__________________________________________________________________________________________________\n", 589 | "conv2d_821 (Conv2D) (None, 3, 3, 192) 147456 average_pooling2d_78[0][0] \n", 590 | "__________________________________________________________________________________________________\n", 591 | "batch_normalization_812 (BatchN (None, 3, 3, 192) 576 conv2d_812[0][0] \n", 592 | "__________________________________________________________________________________________________\n", 593 | "batch_normalization_815 (BatchN (None, 3, 3, 192) 576 conv2d_815[0][0] \n", 594 | "__________________________________________________________________________________________________\n", 595 | "batch_normalization_820 (BatchN (None, 3, 3, 192) 576 conv2d_820[0][0] \n", 596 | "__________________________________________________________________________________________________\n", 597 | "batch_normalization_821 (BatchN (None, 3, 3, 192) 576 conv2d_821[0][0] \n", 598 | "__________________________________________________________________________________________________\n", 599 | "activation_812 (Activation) (None, 3, 3, 192) 0 batch_normalization_812[0][0] \n", 600 | "__________________________________________________________________________________________________\n", 601 | "activation_815 (Activation) (None, 3, 3, 192) 0 batch_normalization_815[0][0] \n", 602 | "__________________________________________________________________________________________________\n", 603 | "activation_820 (Activation) (None, 3, 3, 192) 0 batch_normalization_820[0][0] \n", 604 | "__________________________________________________________________________________________________\n", 605 | "activation_821 (Activation) (None, 3, 3, 192) 0 batch_normalization_821[0][0] \n", 606 | "__________________________________________________________________________________________________\n", 607 | "mixed7 (Concatenate) (None, 3, 3, 768) 0 activation_812[0][0] \n", 608 | " activation_815[0][0] \n", 609 | " activation_820[0][0] \n", 610 | " activation_821[0][0] \n", 611 | "__________________________________________________________________________________________________\n", 612 | "conv2d_824 (Conv2D) (None, 3, 3, 192) 147456 mixed7[0][0] \n", 613 | "__________________________________________________________________________________________________\n", 614 | "batch_normalization_824 (BatchN (None, 3, 3, 192) 576 conv2d_824[0][0] \n", 615 | "__________________________________________________________________________________________________\n", 616 | "activation_824 (Activation) (None, 3, 3, 192) 0 batch_normalization_824[0][0] \n", 617 | "__________________________________________________________________________________________________\n", 618 | "conv2d_825 (Conv2D) (None, 3, 3, 192) 258048 activation_824[0][0] \n", 619 | "__________________________________________________________________________________________________\n", 620 | "batch_normalization_825 (BatchN (None, 3, 3, 192) 576 conv2d_825[0][0] \n", 621 | "__________________________________________________________________________________________________\n", 622 | "activation_825 (Activation) (None, 3, 3, 192) 0 batch_normalization_825[0][0] \n", 623 | "__________________________________________________________________________________________________\n", 624 | "conv2d_822 (Conv2D) (None, 3, 3, 192) 147456 mixed7[0][0] \n", 625 | "__________________________________________________________________________________________________\n", 626 | "conv2d_826 (Conv2D) (None, 3, 3, 192) 258048 activation_825[0][0] \n", 627 | "__________________________________________________________________________________________________\n", 628 | "batch_normalization_822 (BatchN (None, 3, 3, 192) 576 conv2d_822[0][0] \n", 629 | "__________________________________________________________________________________________________\n", 630 | "batch_normalization_826 (BatchN (None, 3, 3, 192) 576 conv2d_826[0][0] \n", 631 | "__________________________________________________________________________________________________\n", 632 | "activation_822 (Activation) (None, 3, 3, 192) 0 batch_normalization_822[0][0] \n", 633 | "__________________________________________________________________________________________________\n", 634 | "activation_826 (Activation) (None, 3, 3, 192) 0 batch_normalization_826[0][0] \n", 635 | "__________________________________________________________________________________________________\n", 636 | "conv2d_823 (Conv2D) (None, 1, 1, 320) 552960 activation_822[0][0] \n", 637 | "__________________________________________________________________________________________________\n", 638 | "conv2d_827 (Conv2D) (None, 1, 1, 192) 331776 activation_826[0][0] \n", 639 | "__________________________________________________________________________________________________\n", 640 | "batch_normalization_823 (BatchN (None, 1, 1, 320) 960 conv2d_823[0][0] \n", 641 | "__________________________________________________________________________________________________\n", 642 | "batch_normalization_827 (BatchN (None, 1, 1, 192) 576 conv2d_827[0][0] \n", 643 | "__________________________________________________________________________________________________\n", 644 | "activation_823 (Activation) (None, 1, 1, 320) 0 batch_normalization_823[0][0] \n", 645 | "__________________________________________________________________________________________________\n", 646 | "activation_827 (Activation) (None, 1, 1, 192) 0 batch_normalization_827[0][0] \n", 647 | "__________________________________________________________________________________________________\n", 648 | "max_pooling2d_35 (MaxPooling2D) (None, 1, 1, 768) 0 mixed7[0][0] \n", 649 | "__________________________________________________________________________________________________\n", 650 | "mixed8 (Concatenate) (None, 1, 1, 1280) 0 activation_823[0][0] \n", 651 | " activation_827[0][0] \n", 652 | " max_pooling2d_35[0][0] \n", 653 | "__________________________________________________________________________________________________\n", 654 | "conv2d_832 (Conv2D) (None, 1, 1, 448) 573440 mixed8[0][0] \n", 655 | "__________________________________________________________________________________________________\n", 656 | "batch_normalization_832 (BatchN (None, 1, 1, 448) 1344 conv2d_832[0][0] \n", 657 | "__________________________________________________________________________________________________\n", 658 | "activation_832 (Activation) (None, 1, 1, 448) 0 batch_normalization_832[0][0] \n", 659 | "__________________________________________________________________________________________________\n", 660 | "conv2d_829 (Conv2D) (None, 1, 1, 384) 491520 mixed8[0][0] \n", 661 | "__________________________________________________________________________________________________\n", 662 | "conv2d_833 (Conv2D) (None, 1, 1, 384) 1548288 activation_832[0][0] \n", 663 | "__________________________________________________________________________________________________\n", 664 | "batch_normalization_829 (BatchN (None, 1, 1, 384) 1152 conv2d_829[0][0] \n", 665 | "__________________________________________________________________________________________________\n", 666 | "batch_normalization_833 (BatchN (None, 1, 1, 384) 1152 conv2d_833[0][0] \n", 667 | "__________________________________________________________________________________________________\n", 668 | "activation_829 (Activation) (None, 1, 1, 384) 0 batch_normalization_829[0][0] \n", 669 | "__________________________________________________________________________________________________\n", 670 | "activation_833 (Activation) (None, 1, 1, 384) 0 batch_normalization_833[0][0] \n", 671 | "__________________________________________________________________________________________________\n", 672 | "conv2d_830 (Conv2D) (None, 1, 1, 384) 442368 activation_829[0][0] \n", 673 | "__________________________________________________________________________________________________\n", 674 | "conv2d_831 (Conv2D) (None, 1, 1, 384) 442368 activation_829[0][0] \n", 675 | "__________________________________________________________________________________________________\n", 676 | "conv2d_834 (Conv2D) (None, 1, 1, 384) 442368 activation_833[0][0] \n", 677 | "__________________________________________________________________________________________________\n", 678 | "conv2d_835 (Conv2D) (None, 1, 1, 384) 442368 activation_833[0][0] \n", 679 | "__________________________________________________________________________________________________\n", 680 | "average_pooling2d_79 (AveragePo (None, 1, 1, 1280) 0 mixed8[0][0] \n", 681 | "__________________________________________________________________________________________________\n", 682 | "conv2d_828 (Conv2D) (None, 1, 1, 320) 409600 mixed8[0][0] \n", 683 | "__________________________________________________________________________________________________\n", 684 | "batch_normalization_830 (BatchN (None, 1, 1, 384) 1152 conv2d_830[0][0] \n", 685 | "__________________________________________________________________________________________________\n", 686 | "batch_normalization_831 (BatchN (None, 1, 1, 384) 1152 conv2d_831[0][0] \n", 687 | "__________________________________________________________________________________________________\n", 688 | "batch_normalization_834 (BatchN (None, 1, 1, 384) 1152 conv2d_834[0][0] \n", 689 | "__________________________________________________________________________________________________\n", 690 | "batch_normalization_835 (BatchN (None, 1, 1, 384) 1152 conv2d_835[0][0] \n", 691 | "__________________________________________________________________________________________________\n", 692 | "conv2d_836 (Conv2D) (None, 1, 1, 192) 245760 average_pooling2d_79[0][0] \n", 693 | "__________________________________________________________________________________________________\n", 694 | "batch_normalization_828 (BatchN (None, 1, 1, 320) 960 conv2d_828[0][0] \n", 695 | "__________________________________________________________________________________________________\n", 696 | "activation_830 (Activation) (None, 1, 1, 384) 0 batch_normalization_830[0][0] \n", 697 | "__________________________________________________________________________________________________\n", 698 | "activation_831 (Activation) (None, 1, 1, 384) 0 batch_normalization_831[0][0] \n", 699 | "__________________________________________________________________________________________________\n", 700 | "activation_834 (Activation) (None, 1, 1, 384) 0 batch_normalization_834[0][0] \n", 701 | "__________________________________________________________________________________________________\n", 702 | "activation_835 (Activation) (None, 1, 1, 384) 0 batch_normalization_835[0][0] \n", 703 | "__________________________________________________________________________________________________\n", 704 | "batch_normalization_836 (BatchN (None, 1, 1, 192) 576 conv2d_836[0][0] \n", 705 | "__________________________________________________________________________________________________\n", 706 | "activation_828 (Activation) (None, 1, 1, 320) 0 batch_normalization_828[0][0] \n", 707 | "__________________________________________________________________________________________________\n", 708 | "mixed9_0 (Concatenate) (None, 1, 1, 768) 0 activation_830[0][0] \n", 709 | " activation_831[0][0] \n", 710 | "__________________________________________________________________________________________________\n", 711 | "concatenate_16 (Concatenate) (None, 1, 1, 768) 0 activation_834[0][0] \n", 712 | " activation_835[0][0] \n", 713 | "__________________________________________________________________________________________________\n", 714 | "activation_836 (Activation) (None, 1, 1, 192) 0 batch_normalization_836[0][0] \n", 715 | "__________________________________________________________________________________________________\n", 716 | "mixed9 (Concatenate) (None, 1, 1, 2048) 0 activation_828[0][0] \n", 717 | " mixed9_0[0][0] \n", 718 | " concatenate_16[0][0] \n", 719 | " activation_836[0][0] \n", 720 | "__________________________________________________________________________________________________\n", 721 | "conv2d_841 (Conv2D) (None, 1, 1, 448) 917504 mixed9[0][0] \n", 722 | "__________________________________________________________________________________________________\n", 723 | "batch_normalization_841 (BatchN (None, 1, 1, 448) 1344 conv2d_841[0][0] \n", 724 | "__________________________________________________________________________________________________\n", 725 | "activation_841 (Activation) (None, 1, 1, 448) 0 batch_normalization_841[0][0] \n", 726 | "__________________________________________________________________________________________________\n", 727 | "conv2d_838 (Conv2D) (None, 1, 1, 384) 786432 mixed9[0][0] \n", 728 | "__________________________________________________________________________________________________\n", 729 | "conv2d_842 (Conv2D) (None, 1, 1, 384) 1548288 activation_841[0][0] \n", 730 | "__________________________________________________________________________________________________\n", 731 | "batch_normalization_838 (BatchN (None, 1, 1, 384) 1152 conv2d_838[0][0] \n", 732 | "__________________________________________________________________________________________________\n", 733 | "batch_normalization_842 (BatchN (None, 1, 1, 384) 1152 conv2d_842[0][0] \n", 734 | "__________________________________________________________________________________________________\n", 735 | "activation_838 (Activation) (None, 1, 1, 384) 0 batch_normalization_838[0][0] \n", 736 | "__________________________________________________________________________________________________\n", 737 | "activation_842 (Activation) (None, 1, 1, 384) 0 batch_normalization_842[0][0] \n", 738 | "__________________________________________________________________________________________________\n", 739 | "conv2d_839 (Conv2D) (None, 1, 1, 384) 442368 activation_838[0][0] \n", 740 | "__________________________________________________________________________________________________\n", 741 | "conv2d_840 (Conv2D) (None, 1, 1, 384) 442368 activation_838[0][0] \n", 742 | "__________________________________________________________________________________________________\n", 743 | "conv2d_843 (Conv2D) (None, 1, 1, 384) 442368 activation_842[0][0] \n", 744 | "__________________________________________________________________________________________________\n", 745 | "conv2d_844 (Conv2D) (None, 1, 1, 384) 442368 activation_842[0][0] \n", 746 | "__________________________________________________________________________________________________\n", 747 | "average_pooling2d_80 (AveragePo (None, 1, 1, 2048) 0 mixed9[0][0] \n", 748 | "__________________________________________________________________________________________________\n", 749 | "conv2d_837 (Conv2D) (None, 1, 1, 320) 655360 mixed9[0][0] \n", 750 | "__________________________________________________________________________________________________\n", 751 | "batch_normalization_839 (BatchN (None, 1, 1, 384) 1152 conv2d_839[0][0] \n", 752 | "__________________________________________________________________________________________________\n", 753 | "batch_normalization_840 (BatchN (None, 1, 1, 384) 1152 conv2d_840[0][0] \n", 754 | "__________________________________________________________________________________________________\n", 755 | "batch_normalization_843 (BatchN (None, 1, 1, 384) 1152 conv2d_843[0][0] \n", 756 | "__________________________________________________________________________________________________\n", 757 | "batch_normalization_844 (BatchN (None, 1, 1, 384) 1152 conv2d_844[0][0] \n", 758 | "__________________________________________________________________________________________________\n", 759 | "conv2d_845 (Conv2D) (None, 1, 1, 192) 393216 average_pooling2d_80[0][0] \n", 760 | "__________________________________________________________________________________________________\n", 761 | "batch_normalization_837 (BatchN (None, 1, 1, 320) 960 conv2d_837[0][0] \n", 762 | "__________________________________________________________________________________________________\n", 763 | "activation_839 (Activation) (None, 1, 1, 384) 0 batch_normalization_839[0][0] \n", 764 | "__________________________________________________________________________________________________\n", 765 | "activation_840 (Activation) (None, 1, 1, 384) 0 batch_normalization_840[0][0] \n", 766 | "__________________________________________________________________________________________________\n", 767 | "activation_843 (Activation) (None, 1, 1, 384) 0 batch_normalization_843[0][0] \n", 768 | "__________________________________________________________________________________________________\n", 769 | "activation_844 (Activation) (None, 1, 1, 384) 0 batch_normalization_844[0][0] \n", 770 | "__________________________________________________________________________________________________\n", 771 | "batch_normalization_845 (BatchN (None, 1, 1, 192) 576 conv2d_845[0][0] \n", 772 | "__________________________________________________________________________________________________\n", 773 | "activation_837 (Activation) (None, 1, 1, 320) 0 batch_normalization_837[0][0] \n", 774 | "__________________________________________________________________________________________________\n", 775 | "mixed9_1 (Concatenate) (None, 1, 1, 768) 0 activation_839[0][0] \n", 776 | " activation_840[0][0] \n", 777 | "__________________________________________________________________________________________________\n", 778 | "concatenate_17 (Concatenate) (None, 1, 1, 768) 0 activation_843[0][0] \n", 779 | " activation_844[0][0] \n", 780 | "__________________________________________________________________________________________________\n", 781 | "activation_845 (Activation) (None, 1, 1, 192) 0 batch_normalization_845[0][0] \n", 782 | "__________________________________________________________________________________________________\n", 783 | "mixed10 (Concatenate) (None, 1, 1, 2048) 0 activation_837[0][0] \n", 784 | " mixed9_1[0][0] \n", 785 | " concatenate_17[0][0] \n", 786 | " activation_845[0][0] \n", 787 | "__________________________________________________________________________________________________\n", 788 | "flatten_5 (Flatten) (None, 2048) 0 mixed10[0][0] \n", 789 | "__________________________________________________________________________________________________\n", 790 | "dense_10 (Dense) (None, 64) 131136 flatten_5[0][0] \n", 791 | "__________________________________________________________________________________________________\n", 792 | "dropout_5 (Dropout) (None, 64) 0 dense_10[0][0] \n", 793 | "__________________________________________________________________________________________________\n", 794 | "dense_11 (Dense) (None, 2) 130 dropout_5[0][0] \n", 795 | "==================================================================================================\n", 796 | "Total params: 21,934,050\n", 797 | "Trainable params: 131,266\n", 798 | "Non-trainable params: 21,802,784\n", 799 | "__________________________________________________________________________________________________\n" 800 | ] 801 | } 802 | ], 803 | "source": [ 804 | "model.summary()" 805 | ] 806 | }, 807 | { 808 | "cell_type": "code", 809 | "execution_count": null, 810 | "metadata": {}, 811 | "outputs": [], 812 | "source": [] 813 | }, 814 | { 815 | "cell_type": "code", 816 | "execution_count": null, 817 | "metadata": {}, 818 | "outputs": [], 819 | "source": [] 820 | }, 821 | { 822 | "cell_type": "code", 823 | "execution_count": 29, 824 | "metadata": {}, 825 | "outputs": [], 826 | "source": [ 827 | "from tensorflow.keras.callbacks import ModelCheckpoint,EarlyStopping, ReduceLROnPlateau" 828 | ] 829 | }, 830 | { 831 | "cell_type": "code", 832 | "execution_count": 42, 833 | "metadata": {}, 834 | "outputs": [], 835 | "source": [ 836 | "checkpoint = ModelCheckpoint(r'D:\\Python37\\Projects\\iNeuron Intership Projects\\CV_Driver_Drowsiness_Detection\\models\\model.h5',\n", 837 | " monitor='val_loss',save_best_only=True,verbose=3)\n", 838 | "\n", 839 | "earlystop = EarlyStopping(monitor = 'val_loss', patience=7, verbose= 3, restore_best_weights=True)\n", 840 | "\n", 841 | "learning_rate = ReduceLROnPlateau(monitor= 'val_loss', patience=3, verbose= 3, )\n", 842 | "\n", 843 | "callbacks=[checkpoint,earlystop,learning_rate]" 844 | ] 845 | }, 846 | { 847 | "cell_type": "code", 848 | "execution_count": null, 849 | "metadata": {}, 850 | "outputs": [], 851 | "source": [] 852 | }, 853 | { 854 | "cell_type": "code", 855 | "execution_count": 43, 856 | "metadata": {}, 857 | "outputs": [ 858 | { 859 | "name": "stdout", 860 | "output_type": "stream", 861 | "text": [ 862 | "Epoch 1/5\n", 863 | "8032/8032 [==============================] - ETA: 0s - loss: 0.1712 - accuracy: 0.9344\n", 864 | "Epoch 00001: val_loss improved from inf to 0.20740, saving model to D:\\Python37\\Projects\\iNeuron Intership Projects\\CV_Driver_Drowsiness_Detection\\models\\model.h5\n", 865 | "8032/8032 [==============================] - 405s 50ms/step - loss: 0.1712 - accuracy: 0.9344 - val_loss: 0.2074 - val_accuracy: 0.9106 - lr: 0.0010\n", 866 | "Epoch 2/5\n", 867 | " 237/8032 [..............................] - ETA: 5:37 - loss: 0.1519 - accuracy: 0.9388 ETA: 5:35 - loss: 0.1487 - " 868 | ] 869 | }, 870 | { 871 | "ename": "KeyboardInterrupt", 872 | "evalue": "", 873 | "output_type": "error", 874 | "traceback": [ 875 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 876 | "\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", 877 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mvalidation_steps\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mvalidation_data\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msamples\u001b[0m\u001b[1;33m//\u001b[0m\u001b[0mbatchsize\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[0mcallbacks\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mcallbacks\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 7\u001b[1;33m epochs=5)\n\u001b[0m", 878 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\util\\deprecation.py\u001b[0m in \u001b[0;36mnew_func\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 322\u001b[0m \u001b[1;34m'in a future version'\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mdate\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32melse\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'after %s'\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0mdate\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 323\u001b[0m instructions)\n\u001b[1;32m--> 324\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 325\u001b[0m return tf_decorator.make_decorator(\n\u001b[0;32m 326\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnew_func\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'deprecated'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 879 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\keras\\engine\\training.py\u001b[0m in \u001b[0;36mfit_generator\u001b[1;34m(self, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, validation_freq, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)\u001b[0m\n\u001b[0;32m 1477\u001b[0m \u001b[0muse_multiprocessing\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0muse_multiprocessing\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1478\u001b[0m \u001b[0mshuffle\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mshuffle\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1479\u001b[1;33m initial_epoch=initial_epoch)\n\u001b[0m\u001b[0;32m 1480\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1481\u001b[0m @deprecation.deprecated(\n", 880 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\keras\\engine\\training.py\u001b[0m in \u001b[0;36m_method_wrapper\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 64\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_method_wrapper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 65\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_in_multi_worker_mode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;31m# pylint: disable=protected-access\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 66\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mmethod\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 67\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 68\u001b[0m \u001b[1;31m# Running inside `run_distribute_coordinator` already.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 881 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\keras\\engine\\training.py\u001b[0m in \u001b[0;36mfit\u001b[1;34m(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_batch_size, validation_freq, max_queue_size, workers, use_multiprocessing)\u001b[0m\n\u001b[0;32m 846\u001b[0m batch_size=batch_size):\n\u001b[0;32m 847\u001b[0m \u001b[0mcallbacks\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mon_train_batch_begin\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mstep\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 848\u001b[1;33m \u001b[0mtmp_logs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtrain_function\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0miterator\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 849\u001b[0m \u001b[1;31m# Catch OutOfRangeError for Datasets of unknown size.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 850\u001b[0m \u001b[1;31m# This blocks until the batch has finished executing.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 882 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\eager\\def_function.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, *args, **kwds)\u001b[0m\n\u001b[0;32m 578\u001b[0m \u001b[0mxla_context\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mExit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 579\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 580\u001b[1;33m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_call\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 581\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 582\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mtracing_count\u001b[0m \u001b[1;33m==\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_tracing_count\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 883 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\eager\\def_function.py\u001b[0m in \u001b[0;36m_call\u001b[1;34m(self, *args, **kwds)\u001b[0m\n\u001b[0;32m 609\u001b[0m \u001b[1;31m# In this case we have created variables on the first call, so we run the\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 610\u001b[0m \u001b[1;31m# defunned version which is guaranteed to never create variables.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 611\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_stateless_fn\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;31m# pylint: disable=not-callable\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 612\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_stateful_fn\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 613\u001b[0m \u001b[1;31m# Release the lock early so that multiple threads can perform the call\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 884 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\eager\\function.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 2418\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_lock\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2419\u001b[0m \u001b[0mgraph_function\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_maybe_define_function\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2420\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mgraph_function\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_filtered_call\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;31m# pylint: disable=protected-access\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2421\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2422\u001b[0m \u001b[1;33m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 885 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\eager\\function.py\u001b[0m in \u001b[0;36m_filtered_call\u001b[1;34m(self, args, kwargs)\u001b[0m\n\u001b[0;32m 1663\u001b[0m if isinstance(t, (ops.Tensor,\n\u001b[0;32m 1664\u001b[0m resource_variable_ops.BaseResourceVariable))),\n\u001b[1;32m-> 1665\u001b[1;33m self.captured_inputs)\n\u001b[0m\u001b[0;32m 1666\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1667\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_call_flat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcaptured_inputs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcancellation_manager\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 886 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\eager\\function.py\u001b[0m in \u001b[0;36m_call_flat\u001b[1;34m(self, args, captured_inputs, cancellation_manager)\u001b[0m\n\u001b[0;32m 1744\u001b[0m \u001b[1;31m# No tape is watching; skip to running the function.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1745\u001b[0m return self._build_call_outputs(self._inference_function.call(\n\u001b[1;32m-> 1746\u001b[1;33m ctx, args, cancellation_manager=cancellation_manager))\n\u001b[0m\u001b[0;32m 1747\u001b[0m forward_backward = self._select_forward_and_backward_functions(\n\u001b[0;32m 1748\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 887 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\eager\\function.py\u001b[0m in \u001b[0;36mcall\u001b[1;34m(self, ctx, args, cancellation_manager)\u001b[0m\n\u001b[0;32m 596\u001b[0m \u001b[0minputs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 597\u001b[0m \u001b[0mattrs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mattrs\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 598\u001b[1;33m ctx=ctx)\n\u001b[0m\u001b[0;32m 599\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 600\u001b[0m outputs = execute.execute_with_cancellation(\n", 888 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\eager\\execute.py\u001b[0m in \u001b[0;36mquick_execute\u001b[1;34m(op_name, num_outputs, inputs, attrs, ctx, name)\u001b[0m\n\u001b[0;32m 58\u001b[0m \u001b[0mctx\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mensure_initialized\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 59\u001b[0m tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,\n\u001b[1;32m---> 60\u001b[1;33m inputs, attrs, num_outputs)\n\u001b[0m\u001b[0;32m 61\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mcore\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_NotOkStatusException\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 62\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mname\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 889 | "\u001b[1;31mKeyboardInterrupt\u001b[0m: " 890 | ] 891 | } 892 | ], 893 | "source": [ 894 | "model.compile(optimizer='Adam', loss='categorical_crossentropy',metrics=['accuracy'])\n", 895 | "\n", 896 | "model.fit_generator(train_data,steps_per_epoch=train_data.samples//batchsize,\n", 897 | " validation_data=validation_data,\n", 898 | " validation_steps=validation_data.samples//batchsize,\n", 899 | " callbacks=callbacks,\n", 900 | " epochs=5)" 901 | ] 902 | }, 903 | { 904 | "cell_type": "code", 905 | "execution_count": null, 906 | "metadata": {}, 907 | "outputs": [], 908 | "source": [] 909 | }, 910 | { 911 | "cell_type": "code", 912 | "execution_count": null, 913 | "metadata": {}, 914 | "outputs": [], 915 | "source": [] 916 | }, 917 | { 918 | "cell_type": "code", 919 | "execution_count": null, 920 | "metadata": {}, 921 | "outputs": [], 922 | "source": [ 923 | "# Model Evaluation" 924 | ] 925 | }, 926 | { 927 | "cell_type": "code", 928 | "execution_count": 44, 929 | "metadata": {}, 930 | "outputs": [ 931 | { 932 | "name": "stdout", 933 | "output_type": "stream", 934 | "text": [ 935 | "WARNING:tensorflow:From :1: Model.evaluate_generator (from tensorflow.python.keras.engine.training) is deprecated and will be removed in a future version.\n", 936 | "Instructions for updating:\n", 937 | "Please use Model.evaluate, which supports generators.\n" 938 | ] 939 | }, 940 | { 941 | "ename": "KeyboardInterrupt", 942 | "evalue": "", 943 | "output_type": "error", 944 | "traceback": [ 945 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 946 | "\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", 947 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0macc_tr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mloss_tr\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mevaluate_generator\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtrain_data\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0macc_tr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mloss_tr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 948 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\util\\deprecation.py\u001b[0m in \u001b[0;36mnew_func\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 322\u001b[0m \u001b[1;34m'in a future version'\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mdate\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32melse\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'after %s'\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0mdate\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 323\u001b[0m instructions)\n\u001b[1;32m--> 324\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 325\u001b[0m return tf_decorator.make_decorator(\n\u001b[0;32m 326\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnew_func\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'deprecated'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 949 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\keras\\engine\\training.py\u001b[0m in \u001b[0;36mevaluate_generator\u001b[1;34m(self, generator, steps, callbacks, max_queue_size, workers, use_multiprocessing, verbose)\u001b[0m\n\u001b[0;32m 1505\u001b[0m \u001b[0muse_multiprocessing\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0muse_multiprocessing\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1506\u001b[0m \u001b[0mverbose\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mverbose\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1507\u001b[1;33m callbacks=callbacks)\n\u001b[0m\u001b[0;32m 1508\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1509\u001b[0m @deprecation.deprecated(\n", 950 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\keras\\engine\\training.py\u001b[0m in \u001b[0;36m_method_wrapper\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 64\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_method_wrapper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 65\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_in_multi_worker_mode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;31m# pylint: disable=protected-access\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 66\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mmethod\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 67\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 68\u001b[0m \u001b[1;31m# Running inside `run_distribute_coordinator` already.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 951 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\keras\\engine\\training.py\u001b[0m in \u001b[0;36mevaluate\u001b[1;34m(self, x, y, batch_size, verbose, sample_weight, steps, callbacks, max_queue_size, workers, use_multiprocessing, return_dict)\u001b[0m\n\u001b[0;32m 1079\u001b[0m step_num=step):\n\u001b[0;32m 1080\u001b[0m \u001b[0mcallbacks\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mon_test_batch_begin\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mstep\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1081\u001b[1;33m \u001b[0mtmp_logs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtest_function\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0miterator\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1082\u001b[0m \u001b[1;31m# Catch OutOfRangeError for Datasets of unknown size.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1083\u001b[0m \u001b[1;31m# This blocks until the batch has finished executing.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 952 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\eager\\def_function.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, *args, **kwds)\u001b[0m\n\u001b[0;32m 578\u001b[0m \u001b[0mxla_context\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mExit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 579\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 580\u001b[1;33m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_call\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 581\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 582\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mtracing_count\u001b[0m \u001b[1;33m==\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_tracing_count\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 953 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\eager\\def_function.py\u001b[0m in \u001b[0;36m_call\u001b[1;34m(self, *args, **kwds)\u001b[0m\n\u001b[0;32m 616\u001b[0m \u001b[1;31m# In this case we have not created variables on the first call. So we can\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 617\u001b[0m \u001b[1;31m# run the first trace but we should fail if variables are created.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 618\u001b[1;33m \u001b[0mresults\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_stateful_fn\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 619\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_created_variables\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 620\u001b[0m raise ValueError(\"Creating variables on a non-first call to a function\"\n", 954 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\eager\\function.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 2418\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_lock\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2419\u001b[0m \u001b[0mgraph_function\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_maybe_define_function\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2420\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mgraph_function\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_filtered_call\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;31m# pylint: disable=protected-access\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2421\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2422\u001b[0m \u001b[1;33m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 955 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\eager\\function.py\u001b[0m in \u001b[0;36m_filtered_call\u001b[1;34m(self, args, kwargs)\u001b[0m\n\u001b[0;32m 1663\u001b[0m if isinstance(t, (ops.Tensor,\n\u001b[0;32m 1664\u001b[0m resource_variable_ops.BaseResourceVariable))),\n\u001b[1;32m-> 1665\u001b[1;33m self.captured_inputs)\n\u001b[0m\u001b[0;32m 1666\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1667\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_call_flat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcaptured_inputs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcancellation_manager\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 956 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\eager\\function.py\u001b[0m in \u001b[0;36m_call_flat\u001b[1;34m(self, args, captured_inputs, cancellation_manager)\u001b[0m\n\u001b[0;32m 1744\u001b[0m \u001b[1;31m# No tape is watching; skip to running the function.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1745\u001b[0m return self._build_call_outputs(self._inference_function.call(\n\u001b[1;32m-> 1746\u001b[1;33m ctx, args, cancellation_manager=cancellation_manager))\n\u001b[0m\u001b[0;32m 1747\u001b[0m forward_backward = self._select_forward_and_backward_functions(\n\u001b[0;32m 1748\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 957 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\eager\\function.py\u001b[0m in \u001b[0;36mcall\u001b[1;34m(self, ctx, args, cancellation_manager)\u001b[0m\n\u001b[0;32m 596\u001b[0m \u001b[0minputs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 597\u001b[0m \u001b[0mattrs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mattrs\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 598\u001b[1;33m ctx=ctx)\n\u001b[0m\u001b[0;32m 599\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 600\u001b[0m outputs = execute.execute_with_cancellation(\n", 958 | "\u001b[1;32mc:\\users\\thero\\anaconda3\\envs\\tensorflow2_env\\lib\\site-packages\\tensorflow\\python\\eager\\execute.py\u001b[0m in \u001b[0;36mquick_execute\u001b[1;34m(op_name, num_outputs, inputs, attrs, ctx, name)\u001b[0m\n\u001b[0;32m 58\u001b[0m \u001b[0mctx\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mensure_initialized\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 59\u001b[0m tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,\n\u001b[1;32m---> 60\u001b[1;33m inputs, attrs, num_outputs)\n\u001b[0m\u001b[0;32m 61\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mcore\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_NotOkStatusException\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 62\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mname\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 959 | "\u001b[1;31mKeyboardInterrupt\u001b[0m: " 960 | ] 961 | } 962 | ], 963 | "source": [ 964 | "acc_tr, loss_tr = model.evaluate_generator(train_data)\n", 965 | "print(acc_tr)\n", 966 | "print(loss_tr)" 967 | ] 968 | }, 969 | { 970 | "cell_type": "code", 971 | "execution_count": null, 972 | "metadata": {}, 973 | "outputs": [], 974 | "source": [ 975 | "acc_vr, loss_vr = model.evaluate_generator(validation_data)\n", 976 | "print(acc_vr)\n", 977 | "print(loss_vr)" 978 | ] 979 | }, 980 | { 981 | "cell_type": "code", 982 | "execution_count": null, 983 | "metadata": {}, 984 | "outputs": [], 985 | "source": [ 986 | "acc_test, loss_test = model.evaluate_generator(test_data)\n", 987 | "print(acc_tr)\n", 988 | "print(loss_tr)" 989 | ] 990 | }, 991 | { 992 | "cell_type": "code", 993 | "execution_count": null, 994 | "metadata": {}, 995 | "outputs": [], 996 | "source": [] 997 | }, 998 | { 999 | "cell_type": "code", 1000 | "execution_count": null, 1001 | "metadata": {}, 1002 | "outputs": [], 1003 | "source": [] 1004 | } 1005 | ], 1006 | "metadata": { 1007 | "kernelspec": { 1008 | "display_name": "Python 3", 1009 | "language": "python", 1010 | "name": "python3" 1011 | }, 1012 | "language_info": { 1013 | "codemirror_mode": { 1014 | "name": "ipython", 1015 | "version": 3 1016 | }, 1017 | "file_extension": ".py", 1018 | "mimetype": "text/x-python", 1019 | "name": "python", 1020 | "nbconvert_exporter": "python", 1021 | "pygments_lexer": "ipython3", 1022 | "version": "3.7.9" 1023 | } 1024 | }, 1025 | "nbformat": 4, 1026 | "nbformat_minor": 4 1027 | } 1028 | --------------------------------------------------------------------------------