def classify(uploaded_file: 'SimpleUploadedFile', **options): """ Function to classify images based on selected algorithm in settings, only works in *unix systems* """ try: from imageai.Classification import ImageClassification except ImportError as e: logger.warning( '"ImageClassification" Import not found, please import to use classify functions' ) raise e model_options = settings.MODEL_OPTIONS[settings.IMAGE_CLASSIFY_MODEL] prediction = ImageClassification() prediction.setModelTypeAsInceptionV3() prediction.setModelPath(model_options['path']) prediction.loadModel() result = {} new_uploaded_file = compress(uploaded_file, quality=100) # Write file to tmp to get path temp = tempfile.NamedTemporaryFile(suffix='.png') temp.write(new_uploaded_file.read()) temp.seek(0) predictions, probabilities = prediction.classifyImage(temp.name, result_count=5) for eachPrediction, eachProbability in zip(predictions, probabilities): result[eachPrediction] = eachProbability return {'classification': result}
def test_recognition_model_inceptionv3(): predictor = ImageClassification() predictor.setModelTypeAsInceptionV3() predictor.setModelPath(os.path.join(main_folder, "data-models", "inception_v3_weights_tf_dim_ordering_tf_kernels.h5")) predictor.loadModel() predictions, probabilities = predictor.classifyImage(image_input=os.path.join(main_folder, main_folder, "data-images", "1.jpg")) assert isinstance(predictions, list) assert isinstance(probabilities, list) assert isinstance(predictions[0], str) assert isinstance(probabilities[0], float)
from imageai.Classification import ImageClassification import os execution_path = os.getcwd() prediction = ImageClassification() prediction.setModelTypeAsInceptionV3() prediction.setModelPath( os.path.join(execution_path, "inception_v3_weights_tf_dim_ordering_tf_kernels.h5")) prediction.loadModel() predictions, probabilities = prediction.classifyImage(os.path.join( execution_path, "house.jpg"), result_count=5) for eachPrediction, eachProbability in zip(predictions, probabilities): print(eachPrediction, " : ", eachProbability)