МОДЕЛЬ CNN С ДАННЫМИ ДОПОЛНЕНИЯ ИЗОБРАЖЕНИЙ

Я хотел создать модель cnn с увеличением изображения с использованием наборов данных изображений. Когда я пытался загрузить данные с расширенными изображениями, он показывает ошибку, подобную этой ValueError: Shapes (None, None, None) и (None, 12, 28, 64) несовместимы

шаги для выполнения:• Данные обучения: otrain_images: Нормализованные значения пикселей otrain_labels: Сохраняются как данные с горячим кодированием • Данные проверки: oval_images: Нормализованные значения пикселей oval_labels: Сохраняются как данные с одним горячим кодированием • Классы: «волнистая», « узкополосный »,« узкополосный »и« шум »

• Подготовьте подробную записную книжку на Python с использованием CNN для классификации радиосигналов из глубокого космоса с использованием Keras из набора данных SETI • Импортируйте необходимые библиотеки • Загрузите и предварительно обработайте набор данных, чтобы загрузить набор данных с помощью pandas read_csvfunctionoПроверьте форму данных обучения и проверки или измените форму обучения и проверочные изображения

Создание генераторов обучающих и проверочных данных с помощью функции Keras ImageDataGenerator • Модель сверточной нейронной сети Designa (CNN) • Скомпилируйте модель, используя оптимизатор Adam, функцию потерь categoryorical_crossentropy и метрику точности • Распечатайте сводку модели • Обучите модель с помощью batch_size = 32 & epochs = 12 •Evaluate Модель o Используйте функцию model.evaluate для оценки точности

вот код: `

      import tensorflow
import keras
import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGenerator
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

x_train=pd.read_csv("/content/images1.csv")
y_train=pd.read_csv("/content/labels1.csv")

x_valid=pd.read_csv("/content/images_2.csv")
y_valid=pd.read_csv("/content/labels_2.csv")

x_train=x_train/255
x_valid=x_valid/255

x_valid.drop("Unnamed: 0",axis=1,inplace=True)
y_valid.drop("Unnamed: 0",axis=1,inplace=True)

x_train.drop("Unnamed: 0",axis=1,inplace=True)
y_train.drop("Unnamed: 0",axis=1,inplace=True)

x_train_img=np.array([x_train.iloc[i] for i in range(x_train.shape[0])])
x_train_imge=np.array([x_train_img[i].reshape(64,128,1) for i in range(x_train_img.shape[0])])

x_valid_img=np.array([x_valid.iloc[i] for i in range(x_valid.shape[0])])
x_valid_imge=np.array([x_valid_img[i].reshape(64,128,1) for i in range(x_valid_img.shape[0])])

y_train = tf.keras.utils.to_categorical(y_train)
y_valid = tf.keras.utils.to_categorical(y_valid)

datagen_train = tf.keras.preprocessing.image.ImageDataGenerator(
    featurewise_center=True,
    featurewise_std_normalization=True,
    rotation_range=20,
    width_shift_range=0.2,
    height_shift_range=0.2,
    horizontal_flip=True,
    validation_split=0.2)

datagen_train.fit(x_train_imge)

datagen_valid = tf.keras.preprocessing.image.ImageDataGenerator(
    featurewise_center=True,
    featurewise_std_normalization=True,
    rotation_range=20,
    width_shift_range=0.2,
    height_shift_range=0.2,
    horizontal_flip=True,
    validation_split=0.2)

datagen_valid.fit(x_valid_imge)

import tensorflow as tf
from tensorflow.keras import datasets, layers, models
model=models.Sequential()
model.add(layers.Conv2D(32,(3,3),activation="relu",input_shape=x_train_imge.shape[1:]))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))

model.compile(optimizer='adam',
              loss=tf.keras.losses.CategoricalCrossentropy(from_logits=True),
              metrics=['accuracy'])
model.fit(datagen_train.flow(x_train_imge,y_train),epochs=12,batch_size=32,validation_data=datagen_valid.flow(x_valid_imge,y_valid))

    

ValueError: в пользовательском коде:

      /usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/training.py:855 train_function  *
    return step_function(self, iterator)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/training.py:845 step_function  **
    outputs = model.distribute_strategy.run(run_step, args=(data,))
/usr/local/lib/python3.7/dist-packages/tensorflow/python/distribute/distribute_lib.py:1285 run
    return self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/distribute/distribute_lib.py:2833 call_for_each_replica
    return self._call_for_each_replica(fn, args, kwargs)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/distribute/distribute_lib.py:3608 _call_for_each_replica
    return fn(*args, **kwargs)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/training.py:838 run_step  **
    outputs = model.train_step(data)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/training.py:797 train_step
    y, y_pred, sample_weight, regularization_losses=self.losses)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/compile_utils.py:204 __call__
    loss_value = loss_obj(y_t, y_p, sample_weight=sw)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/losses.py:155 __call__
    losses = call_fn(y_true, y_pred)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/losses.py:259 call  **
    return ag_fn(y_true, y_pred, **self._fn_kwargs)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/util/dispatch.py:206 wrapper
    return target(*args, **kwargs)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/losses.py:1644 categorical_crossentropy
    y_true, y_pred, from_logits=from_logits)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/util/dispatch.py:206 wrapper
    return target(*args, **kwargs)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/backend.py:4862 categorical_crossentropy
    target.shape.assert_is_compatible_with(output.shape)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/tensor_shape.py:1161 assert_is_compatible_with
    raise ValueError("Shapes %s and %s are incompatible" % (self, other))

ValueError: Shapes (None, None, None) and (None, 12, 28, 64) are incompatible

0 ответов

Другие вопросы по тегам