Очистка ошибки сеанса: Django Форма для маринованного прогноза ML - PullRequest
0 голосов
/ 30 апреля 2020

В настоящее время у меня есть маринованная модель для прогнозирования выживаемости Титани c на основе пользовательских данных формы Django. Спустя несколько дней, я теперь могу наконец-то получить ответ для внешнего интерфейса о том, выжил ли кто-то!

После отправки я использую сообщение django .contrib, чтобы отправить «выжил» или « погиб "под формой. Однако после первой отправки поля очищаются в форме, но когда я пытаюсь ввести новые значения и отправить, я получаю объект «_thread._local» без ошибки «значение» атрибута. форма , ошибка

Теперь, если я перезапущу сервер django и обновлю sh страницу, я могу снова запустить POST, но только не последовательно на том же сеансе. так что я покопался, и кто-то включил в аналогичный проект утверждение, в котором они «из kera import backend as K», а затем добавили ниже прямо перед возвратом в функцию:

K.clear_session()

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

Итак, как я могу использовать форму для многократного запроса модели при каждом использовании независимый. Результатом проекта станет размещение в сети, чтобы люди могли также заполнять форму, поэтому более чем 1 использование за раз имеет решающее значение.

мой код для «views.py»: https://github.com/CourseCharter/MLshowcase/blob/master/titanic/views.py

фрагмент:

def survived(unit):
try:
    mdl=jload("/Users/user/projects/mlshowcase/titanic/titanic_model.pkl")
    #mydata=pd.read_excel('/Users/sahityasehgal/Documents/Coding/bankloan/test.xlsx')
    sc=StandardScaler()
    X=sc.fit_transform(unit)
    y_pred=mdl.predict_classes(X)
    #newdf=pd.DataFrame(y_pred, columns=['Survived'])
    #newdf=newdf.replace({1:'Survived', 0:'Perished'})
    return (str(y_pred))    
except ValueError as e:
    return Response(e.args[0], status.HTTP_400_BAD_REQUEST)

def titanic_page_guess(request):

if request.method =='POST':
    form=TitanicForm(request.POST)
    if form.is_valid():
        sex=form.cleaned_data['sex']
        pclass=form.cleaned_data['pclass']
        age=form.cleaned_data['age']
        relatives=form.cleaned_data['relatives']
        fare=form.cleaned_data['fare']
        myDict = (request.POST).dict()
        df=pd.DataFrame(myDict, index=[0])
        df=df.drop(['csrfmiddlewaretoken'], axis=1)
        answer = survived(df)[0]
        messages.success(request, 'Your Fate: {}'.format(answer))


form=TitanicForm()

return render(request, 'titanic/testform.html', {'form': form})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...