Ошибка в Django -- если max_value не None и max_value < 0..: TypeError: '<' не поддерживается между экземплярами 'dict' и 'float'

Я хочу развернуть мою keras модель MobileNet на веб-приложении для классификации кожи, используя Django. У меня есть обученный файл модели mobile.h5, но когда я запускаю программу на pycharm и на localhost, я загружаю картинку для классификации и получаю эту ошибку

Ошибка в Django -- если max_value не None и max_value < 0..: TypeError: '<' не поддерживается между экземплярами 'dict' и 'float'

import keras.models
import tensorflow.keras.applications
from django.shortcuts import render
#import torchvision
#import torch.nn as nn
from PIL import Image
#import torchvision.transforms as transforms 
import base64
from .forms import ImageUploadForm
import numpy as np


def getClassOfImage(image):

    #net = torchvision.models.mobilenet_v2(pretrained=True)
    #net.classifier[1] = nn.Linear(net.last_channel, 100)

    mob = tensorflow.keras.applications.mobilenet.MobileNet()
    classes = ('akiec', 'bcc', 'bkl', 'df', 'mel', 'nv')
    path = "classifyImage/models/mobile.h5"
    checkpoint = keras.models.load_model(path)
    mob.load_state_dict(checkpoint['mob'])
    mob.eval()
    #transform = transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
    transf = tensorflow.keras.layers.experimental.preprocessing.Normalization(mean=[0.5,0.5,0.5],
                                                                          variance=[np.square(0.5),np.square(0.5),np.square(0.5)])
    img = Image.open(image)
    img = img.resize((224, 224))

    input = transf(img)
    input = input.unsqueeze(0)

    output = mob(input)
    _, predicted = tensorflow.keras.layers.maximum(output, 1)

    print('Predicted: ', classes[predicted[0]])
    return classes[predicted[0]]

strong text

    def index(request):
    image_uri = None
    predicted_label = None
    if request.method == 'POST':
        form = ImageUploadForm(request.POST, request.FILES)
        if form.is_valid():
            image = form.cleaned_data['image']
            image_bytes = image.file.read()
            encoded_img = base64.b64encode(image_bytes).decode('ascii')
            image_uri = 'data:%s;base64,%s' % ('image/jpeg', encoded_img)
            # get predicted label
            try:
                predicted_label = getClassOfImage(image)
            except RuntimeError as re:
                 print(re)
    else:
        form = ImageUploadForm()
    context = {
        'form': form,
        'image_uri': image_uri,
        'predicted_label': predicted_label,
}
    return render(request, 'index.html', context)

Ошибка в Django

Вернуться на верх