Итак, я установил 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)