Eric298's picture
Update app.py
4acbb54 verified
raw
history blame contribute delete
No virus
2.6 kB
import tensorflow as tf
import matplotlib.pyplot as plt
from tensorflow.keras.callbacks import ModelCheckpoint
import tensorflow as tf
import datetime
#Preprocesamiento de imagenes del conjunto de entrenamiento
training_set = tf.keras.utils.image_dataset_from_directory(
'TrainingFruitDataset/train',
labels="inferred",
label_mode="categorical",
class_names=None,
color_mode="rgb",
batch_size=32,
image_size=(64, 64),
shuffle=True,
seed=None,
validation_split=None,
subset=None,
interpolation="bilinear",
follow_links=False,
crop_to_aspect_ratio=False
)
#Preprocesamiento de imagenes del conjunto de validacion
validation_set = tf.keras.utils.image_dataset_from_directory(
'TrainingFruitDataset/validation',
labels="inferred",
label_mode="categorical",
class_names=None,
color_mode="rgb",
batch_size=32,
image_size=(64, 64),
shuffle=True,
seed=None,
validation_split=None,
subset=None,
interpolation="bilinear",
follow_links=False,
crop_to_aspect_ratio=False
)
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Conv2D(filters=32,kernel_size=3,padding='same',activation='relu',input_shape=[64,64,3]))
model.add(tf.keras.layers.Conv2D(filters=32,kernel_size=3,activation='relu'))
model.add(tf.keras.layers.MaxPool2D(pool_size=2,strides=2))
model.add(tf.keras.layers.Dropout(0.25))
model.add(tf.keras.layers.Conv2D(filters=64,kernel_size=3,padding='same',activation='relu'))
model.add(tf.keras.layers.Conv2D(filters=64,kernel_size=3,activation='relu'))
model.add(tf.keras.layers.MaxPool2D(pool_size=2,strides=2))
model.add(tf.keras.layers.Dropout(0.25))
model.add(tf.keras.layers.Flatten())
model.add(tf.keras.layers.Dense(units=512,activation='relu'))
model.add(tf.keras.layers.Dense(units=256,activation='relu'))
model.add(tf.keras.layers.Dropout(0.5)) #To avoid overfitting
#Output Layer
model.add(tf.keras.layers.Dense(units=36,activation='softmax'))
model.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['accuracy',"mean_absolute_error","Precision","Recall",tf.keras.metrics.AUC()])
#Entrenar el modelo desde la ultima epoca almacenada usando el parametro initial_epoch
history = model.fit(x=training_set,validation_data=validation_set, epochs=5, initial_epoch=10)
#Precisi贸n del conjunto de entrenamiento
train_loss, train_acc = model.evaluate(training_set)
print('Training accuracy:', train_acc)
#Precisi贸n del conjunto de validaci贸n
val_loss, val_acc = model.evaluate(validation_set)
print('Validation accuracy:', val_acc)