Heroku 500 上的 CNN 模型部署在上传图像和发送预测时出现内部错误

时间:2021-02-05 02:57:12

标签: flask heroku deep-learning

我已经使用 Flask 和 Heroku 部署了一个 CNN 模型。在代码模型的一部分中,模型需要一个图像,该图像将保存在一个文件夹名称上传中,然后图像的路径被提供给模型进行预测。 当我在本地机器上运行模型时,它可以正常工作,但在 heroku 上显示 500 内部错误,可能是因为上传文件问题。 这是我上传功能代码的一瞥。

def upload():
    if request.method == 'POST':
        # Get the file from post request
        f = request.files['file']

        # Save the file to ./uploads
        basepath = os.path.dirname(__file__)
        file_path = os.path.join(
            basepath, 'uploads', secure_filename(f.filename))
        f.save(file_path)
        print(file_path)

        # Make prediction
        preds = model_predict(file_path)
        return preds

据我所知,我必须对模型预测的方式进行一些更改,或者可能是其他方式。 如果您知道解决方案,请帮助我。

图像只需要一个实例,然后没有使用它,所以如果有一种方法可以使用我可以虚拟加载图像然后将其删除,那么它会更好< /p>

Heroku 网址:https://banana-ripeness-detection.herokuapp.com/ Github 网址:https://github.com/Abhayparashar31/brd

当图像上传并发送进行预测时,还有一件事会显示和 500 内部错误。

Heroku 日志一览

2021-02-04T17:00:34.077958+00:00 app[web.1]:     return self.finalize_request(rv)
2021-02-04T17:00:34.077959+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.7/site-packages/flask/app.py", line 1831, in finalize_request
2021-02-04T17:00:34.077959+00:00 app[web.1]:     response = self.make_response(rv)
2021-02-04T17:00:34.077959+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.7/site-packages/flask/app.py", line 1957, in make_response
2021-02-04T17:00:34.077961+00:00 app[web.1]:     'The view function did not return a valid response. The'
2021-02-04T17:00:34.077962+00:00 app[web.1]: TypeError: The view function did not return a valid response. The function either returned None or ended without a return statement.
2021-02-04T17:00:34.079092+00:00 app[web.1]: 10.16.194.154 - - [04/Feb/2021:17:00:34 +0000] "GET /predict HTTP/1.1" 500 290 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36"
2021-02-04T17:00:34.081003+00:00 heroku[router]: at=info method=GET path="/predict" host=banana-ripeness-detection.herokuapp.com request_id=1e3cafa4-c7a4-4174-9155-1574add02f95 fwd="106.207.197.172" dyno=web.1 connect=1ms service=5ms status=500 bytes=455 protocol=https
2021-02-04T17:04:04.908537+00:00 app[web.1]: 10.30.91.53 - - [04/Feb/2021:17:04:04 +0000] "GET / HTTP/1.1" 200 1677 "https://dashboard.heroku.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36"
2021-02-04T17:04:04.909763+00:00 heroku[router]: at=info method=GET path="/" host=banana-ripeness-detection.herokuapp.com request_id=5a4a11a2-4505-4691-a4c6-a92a22b7b7e6 fwd="106.207.197.172" dyno=web.1 connect=0ms service=15ms status=200 bytes=1839 protocol=https

提前致谢

0 个答案:

没有答案
相关问题