Navigation

    ask avan logo
    • Register
    • Login
    • Search
    • Categories
    • Unsolved
    • Solved

    Getting an error during runtime after submitting values for a regression model in flask

    Python
    1
    1
    8
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Jeetendrakumar Garag
      Jeetendrakumar Garag last edited by

      Error:

        Traceback (most recent call last):
        File "D:\Anaconda\lib\site-packages\flask\app.py", line 2463, in __call__
          return self.wsgi_app(environ, start_response)
        File "D:\Anaconda\lib\site-packages\flask\app.py", line 2449, in wsgi_app
          response = self.handle_exception(e)
        File "D:\Anaconda\lib\site-packages\flask\app.py", line 1866, in handle_exception
          reraise(exc_type, exc_value, tb)
        File "D:\Anaconda\lib\site-packages\flask\_compat.py", line 39, in reraise
          raise value
        File "D:\Anaconda\lib\site-packages\flask\app.py", line 2446, in wsgi_app
          response = self.full_dispatch_request()
        File "D:\Anaconda\lib\site-packages\flask\app.py", line 1951, in full_dispatch_request
          rv = self.handle_user_exception(e)
        File "D:\Anaconda\lib\site-packages\flask\app.py", line 1820, in handle_user_exception
          reraise(exc_type, exc_value, tb)
        File "D:\Anaconda\lib\site-packages\flask\_compat.py", line 39, in reraise
          raise value
        File "D:\Anaconda\lib\site-packages\flask\app.py", line 1949, in full_dispatch_request
          rv = self.dispatch_request()
        File "D:\Anaconda\lib\site-packages\flask\app.py", line 1935, in dispatch_request
          return self.view_functions[rule.endpoint](**req.view_args)
        File "D:\Flask\app.py", line 30, in login
          ypred = model.predict(np.array(total))
        File "D:\Anaconda\lib\site-packages\keras\engine\training.py", line 1462, in predict
          callbacks=callbacks)
        File "D:\Anaconda\lib\site-packages\keras\engine\training_arrays.py", line 324, in predict_loop
          batch_outs = f(ins_batch)
        File "D:\Anaconda\lib\site-packages\tensorflow\python\keras\backend.py", line 3292, in __call__
          run_metadata=self.run_metadata)
        File "D:\Anaconda\lib\site-packages\tensorflow\python\client\session.py", line 1458, in __call__
          run_metadata_ptr)
      tensorflow.python.framework.errors_impl.FailedPreconditionError: Error while reading resource variable dense_3/bias from Container: localhost. This could mean that the variable was uninitialized. Not found: Container localhost does not exist. (Could not find resource: localhost/dense_3/bias)
           [[{{node dense_3/BiasAdd/ReadVariableOp}}]]
      

      app.py file;

      from flask import Flask,request,render_template
      from keras.models import load_model
      import numpy as np
      global model, graph
      import tensorflow as tf
      graph =  tf.get_default_graph()
      
      model = load_model('regressor.h5')
      
      app = Flask(__name__)
      
      @app.route('/')#when even the browser finds localhost:5000 then
      def home():#excecute this function
          return render_template('index.html')#this function is returing the index.html file
      @app.route('/login', methods =['POST']) #when you click submit on html page it is redirection to this url
      def login():#as soon as this url is redirected then call the below functionality
          a = request.form['a']
          b = request.form['b']
          c = request.form['c']
          d = request.form['s']
          if (d == "newyork"):
              s1,s2,s3 = 0,0,1
          if (d == "florida"):
              s1,s2,s3 = 0,1,0
          if (d == "california"):
              s1,s2,s3 = 1,0,0
      
          total = [[s1,s2,s3,a,b,c]]
          with graph.as_default():
              ypred = model.predict(np.array(total))
              y = ypred[0][0]
              print(ypred)
      
          # from html page what ever the text is typed  that is requested from the form functionality and is stored in a name variable
          return render_template('index.html' ,abc = y)#after typing the name show this name on index.html file where we have created a varibale abc
      
      
      if __name__ == '__main__':
          app.run(debug = True)
      

      html file;

      <html>
      <body>
      <form action = "http://localhost:5000/login" method = "post">
      <p>enter marketing speed amount</p>
      <p> <input type = "text" name = "a" /></p>
      <p>enter Administartive amount</p>
      <p> <input type = "text" name = "b" /></p>
      <p>enter R and d amount</p>
      <p> <input type = "text" name = "c" /></p>
      <select name = 's'>
      <option value = "newyork"> newyork </option>
      
      <option value = "florida"> florida </option>
      <option value = "california"> california </option>
      </select>
      
      <p> <input  type = "submit" value = "submit"/></p>
      </form>
      <b>{{abc}}</b>
      </body>
      </html>
      

      Regression Model;

      import numpy as np
      import pandas as pd
      import sklearn
      import keras
      data=pd.read_csv(r"C:\Users\anil\Anaconda3\50_Startups.csv")
      from sklearn.preprocessing import LabelEncoder
      le=LabelEncoder()
      x=data.iloc[:,:4].values
      y=data.iloc[:,-1:].values
      x[:,3]=le.fit_transform(x[:,3])
      
      from sklearn.preprocessing import OneHotEncoder
      one=OneHotEncoder()
      z=one.fit_transform(x[:,3:]).toarray()
      x=np.delete(x,3,axis=1)
      x=np.concatenate((z,x),axis=1)
      from sklearn.model_selection import train_test_split
      x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=0)
      from sklearn.preprocessing import StandardScaler
      sc=StandardScaler()
      x_train=sc.fit_transform(x_train)
      x_test=sc.transform(x_test)
      from keras.models import Sequential
      from keras.layers import Dense
      regressor=Sequential()
      regressor.add(Dense(units=6,init="random_uniform",activation="relu"))
      regressor.add(Dense(units=7,init="random_uniform",activation="relu"))
      regressor.add(Dense(units=8,init="random_uniform",activation="relu"))
      regressor.add(Dense(units=9,init="random_uniform",activation="relu"))
      regressor.add(Dense(units=9,init="random_uniform",activation="relu"))
      regressor.add(Dense(units=9,init="random_uniform",activation="relu"))
      regressor.add(Dense(units=9,init="random_uniform",activation="relu"))
      regressor.add(Dense(units=9,init="random_uniform",activation="relu"))
      regressor.add(Dense(units=9,init="random_uniform",activation="relu"))
      regressor.add(Dense(units=9,init="random_uniform",activation="relu"))
      
      regressor.add(Dense(units=1,init="random_uniform"))
      regressor.compile(optimizer='adam',loss='mse',metrics=['mse'])
      regressor.fit(x_train,y_train,batch_size=10,epochs=170)
      y_pred = regressor.predict(x_test)
      print(y_pred)
      import matplotlib.pyplot as plt
      plt.plot(y_pred,color='red')
      plt.plot(y_test,color='blue')
      from sklearn.metrics import r2_score
      accuracy = r2_score(y_test,y_pred)
      print(accuracy)
      regressor.save('regressor.h5')
      

      please help, i do not seem to understand the error. The data was from a csv file called 50_Startups.csv I'm new to flask. The model was trained to predict the profit earned by a startup by studying the following inputs; State,Market spend,R and D spending,Administrative spending.

      Reply Quote 0
        1 Reply Last reply

      • First post
        Last post