В прекоде создана свёрточная сеть. Допишите код так, чтобы передать ей на обучение и валидацию датасет с фруктами.

Чтобы обучение не было слишком долгим, вызовите функцию fit() с шагом 1.

Подсказка

Функция fit() вызывается так:

 model.fit(train_datagen_flow,
          validation_data=val_datagen_flow,
          steps_per_epoch=1,
          validation_steps=1,
          verbose=2, epochs=1) 

from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, AveragePooling2D, Flatten, Dense
    
datagen = ImageDataGenerator(validation_split=0.25)

train_datagen_flow = datagen.flow_from_directory(
    '/datasets/fruits_small/',
    target_size=(150, 150),
    batch_size=16,
    class_mode='sparse',
    # указываем, что это загрузчик для обучающей выборки
    subset='training',
    seed=12345)

val_datagen_flow = datagen.flow_from_directory(
    '/datasets/fruits_small/',
    target_size=(150, 150),
    batch_size=16,
    class_mode='sparse',
    # указываем, что это загрузчик для валидационной выборки
    subset='validation',
    seed=12345)

model = Sequential()
model.add(Conv2D(filters=6,
                 kernel_size=(3, 3),
                 activation='relu',
                 input_shape=(150, 150, 3)))
model.add(AveragePooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(units=12, activation='softmax'))

model.compile(loss='sparse_categorical_crossentropy', 
              optimizer='adam', metrics=['acc'])

model.fit(train_datagen_flow,
          validation_data=val_datagen_flow,
          # Чтобы обучение не было слишком долгим, указываем
          # количество шагов равным 1
          steps_per_epoch=1,
          validation_steps=1,
          verbose=2, epochs=1)

Результат