Я новичок в машинном обучении. В настоящее время я работаю над проектом классификации фруктов и овощей, используя глубокое обучение с keras. Мне удалось обучить модель. На данный момент он может правильно обнаруживать уже обученные объекты, но когда я предоставляю другой фрукт/овощ, который не был обучен, он прогнозирует на основе обученной модели, тогда как он должен распознавать его как неизвестный фрукт.
Предположим, я обучил модель с изображениями яблок, картофеля и банана. Пока я предоставляю изображения яблока/картошки/банана, они предсказывают правильно. Но в тот момент, когда я предоставляю изображение апельсина, оно предсказывает то же, что картофель или лимон — яблоко. Вот фрагмент кода, который я использую для обучения и прогнозирования фруктов:
Я новичок в машинном обучении. В настоящее время я работаю над проектом классификации фруктов и овощей, используя глубокое обучение с keras. Мне удалось обучить модель. На данный момент он может правильно обнаруживать уже обученные объекты, но когда я предоставляю другой фрукт/овощ, который не был обучен, он прогнозирует на основе обученной модели, тогда как он должен распознавать его как неизвестный фрукт.
Предположим, я обучил модель с изображениями яблок, картофеля и банана. Пока я предоставляю изображения яблока/картошки/банана, они предсказывают правильно. Но в тот момент, когда я предоставляю изображение апельсина, оно предсказывает то же, что картофель или лимон — яблоко. Вот фрагмент кода, который я использую для обучения и прогнозирования фруктов:
[code]import os.path import numpy as np np.random.seed(123) from keras import applications from keras.models import Sequential from keras.layers import Dropout, Flatten, Dense from keras.utils.np_utils import to_categorical from keras.preprocessing.image import ImageDataGenerator, img_to_array, load_img from keras.layers.normalization import BatchNormalization import matplotlib.pyplot as plt import math import cv2
#dimensions of images img_width, img_height = 224, 224
# save the class indices to use later in predictions np.save('class_indices.npy', generator_top.class_indices)
# get the class labels for the training data, in the original order train_labels = generator_top.classes # convert the training labels to categorical vectors train_labels = to_categorical(train_labels, num_classes=num_classes)
# load the bottleneck features saved earlier train_data = np.load('bottleneck_features_train.npy') validation_data = np.load('bottleneck_features_validation.npy')
# build the model model = Sequential() model.add(Flatten(input_shape=train_data.shape[1:])) model.add(BatchNormalization()) model.add(Dense(256, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(num_classes, activation='softmax'))
model = applications.VGG16(include_top=False, weights='imagenet')
bottleneck_prediction = model.predict(image)
# build top model model = Sequential() model.add(Flatten(input_shape=bottleneck_prediction.shape[1:])) model.add(BatchNormalization()) model.add(Dense(256, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(num_classes, activation='sigmoid'))
model.load_weights(top_model_weights_path)
# use the bottleneck prediction on the top model to get the final classification class_predicted = model.predict_classes(bottleneck_prediction)
if __name__ == '__main__': if not os.path.exists(bottleneck_train_path): save_bottleneck_features() if not os.path.exists(top_model_weights_path): train_top_model()
Я разработчик Python с опытом работы с веб-фреймворками Python, такими как Django, Flask и FastAPI. Я считаю себя полнофункциональным специалистом, поскольку владею React и умею развертывать приложения на различных платформах. Изначально я выбрал...
Последнее сообщение
import psycopg2
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.model_selection import train_test_split
from sklearn.metrics import silhouette_score, classification_report, confusion_matrix
from sklearn.preprocessing import...
У меня есть набор данных с 96 объектами. У меня в метках 90 числовых функций: 6 классов и 6 категориальных. Во-первых, я хочу сделать выбор признаков путем расчета корреляции, но будет ли правильно, если я выполню категориальные функции отдельно с...
Привет, сообщество Stack Overflow!
Я работаю над проектом, который является частью репозитория Azure Contoso Chat и предполагает использование PromptFlow, компонента машинного обучения Azure, для вызова CosmosDB. .
Я подхожу к концу урока, тестирую...
Моя цель — выполнить регрессию на основе набора данных, поступающих из «реального мира» (датчиков).
Данные представлены в табличном формате. Есть 6 независимых функций с очень разными значениями (необходимо масштабирование). Кроме того, зависимая...
Я знаю, что вменение пропущенных значений — это именно то, что звучит, я говорю о вменении его средним значением столбца. Обычно я вменяю пропущенные значения перед тем, как разделить данные на обучение и тестирование, но потом я увидел этот QnA, в...