#machine-learning #conv-neural-network #evaluate #image-classification
Вопрос:
во-первых, я сижу в ImageDataGenerator таким образом
trainCsv=shuffle(trainCsv)
train_dgen = ImageDataGenerator(
rescale = 1./255,
rotation_range=360,
horizontal_flip=True,
vertical_flip=True,
validation_split = 0.2)
#for test datagenerator,i only applied normalization on the data
test_dgen = ImageDataGenerator(rescale = 1./255)
#create datagenerator for training, validation and test dataset.
trainGenerator = train_dgen.flow_from_dataframe(
trainCsv,
directory=train_process,
x_col="id_code",
y_col="diagnosis",
target_size=(299, 299),
class_mode="categorical",
batch_size=32,
shuffle=True,
subset='training')
validGenerator = train_dgen.flow_from_dataframe(
trainCsv,
directory=train_process,
x_col="id_code",
y_col="diagnosis",
target_size=(299, 299),
class_mode="categorical",
batch_size=32,
shuffle=True,
subset='validation')
testGenerator = test_dgen.flow_from_dataframe(
testCsv,
directory=test_process,
x_col="id_code",
target_size=(299, 299),
class_mode=None,
shuffle=False,
batch_size=1,
workers = 0
)
и посеять семя таким образом
from tensorflow.python.framework.random_seed import set_random_seed
def seed_ev (Seed=0):
random.seed(Seed)
os.environ['PYTHONHASHSEED'] = str(Seed)
np.random.seed(Seed)
set_random_seed(Seed)
Seed= 0
seed_ev(Seed)
и это результат, который я получаю от обучающей предварительной модели inceptionv3
но когда я пытаюсь оценить свою модель с помощью этого кода, я получаю точность и потери =0
STEP_SIZE_TEST = testGenerator.n//testGenerator.batch_size
evaluate = model.evaluate_generator(testGenerator, STEP_SIZE_TEST, verbose =1)
print('Accuracy Test : {}'.format(evaluate[1]))
как я могу исправить эту проблему и как получить прогноз изображения?