Восстановить классификатор от Юпитера и Анаконды - PullRequest
0 голосов
/ 31 октября 2019

Итак, я установил Anaconda и настроил среду для машинного обучения.

Я запускаю среду в Jupyter Notebook.

В своей записной книжке я объявляю новый объект "классификатор" и обучаю свою модель, это заняло несколько дней, после этого я потерял питание и когда яперезагрузил и снова включил Jupiter и попытался протестировать мой классификатор, он говорит, что классификатор не обнаружен.

По какой-то причине классификатор был сохранен где-то в виде файла, и я могу импортировать этот файл и продолжать работать с этой моделью, или япотерять мой объект классификатора и придется переучивать мою модель?

from keras.models import Sequential
from keras.layers import Convolution2D
from keras.layers import MaxPooling2D
from keras.layers import Flatten
from keras.layers import Dense
classifier = Sequential()
classifier.add( Convolution2D(32, (3, 3), input_shape = (64, 64, 3), activation = 'relu') )
classifier.add(MaxPooling2D(pool_size=(2,2)))
classifier.add(Flatten())
classifier.add(Dense(activation='relu', units=128))
classifier.add(Dense(activation='sigmoid', units=1))
classifier.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(rescale=1./255,shear_range=0.2,zoom_range=0.2,horizontal_flip=True)
test_datagen = ImageDataGenerator(rescale=1./255)
training_set = train_datagen.flow_from_directory('Convolutional_Neural_Networks/lol/training_set', target_size=(64,64), batch_size=32, class_mode='binary')
test_set = test_datagen.flow_from_directory('Convolutional_Neural_Networks/lol/test_set', target_size=(64,64), batch_size=32, class_mode='binary')
from IPython.display import display
from PIL import Image

#This is the step taht took like 3 days
classifier.fit_generator(training_set, steps_per_epoch=8000, epochs=10, validation_data=test_set, validation_steps=800)
import numpy as np
from keras.preprocessing import image
test_image = image.load_img('Convolutional_Neural_Networks/lol_tests/test1.jpg', target_size=(64,64))
test_image = image.img_to_array(test_image)
test_image = np.expand_dims(test_image, axis=0)

#ERROR:NameError: name 'classifier' is not defined
result = classifier.predict(test_image)
training_set.class_indices
if result[0][0] <= 0.5:
    prediction = 'dog'
else:
    prediction = 'cat'
print(prediction)

1 Ответ

1 голос
/ 31 октября 2019

В коде, который вы показали, вы не сохранили свою модель, что означает, что вы потеряли ее. Думаю, вам нужно переучить его! Однако на этот раз не забудьте сохранить его:

classifier.save('classifier.h5') 

Так что вы сможете загрузить его в следующий раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...