python - 服务器超载
问题描述
我正在尝试运行一个简单的机器学习代码并使用烧瓶调用它,但它给出了错误服务器遇到内部错误并且无法完成您的请求。服务器过载或应用程序出错。控制台日志显示`
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/Users/rishav/Desktop/test/app.py", line 47, in upload_file
noise = speckle_noise(image)
File "/Users/rishav/Desktop/test/app.py", line 22, in speckle_noise
row, col = image.shape
ValueError: too many values to unpack (expected 2)
`。
我的代码是:
import os
import sys # ONLY for Loggind in console
import time
from flask import Flask, request
import pickle
import pandas as pd
import base64
import cv2
import numpy as np
from io import BytesIO
UPLOAD_FOLDER = './upload'
app = Flask(__name__, template_folder='templates')
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
base64_string = ''
def speckle_noise(image):
row, col = image.shape
gauss = np.random.randn(row, col)
gauss = gauss.reshape(row, col)
noisy = image + image * gauss
return noisy
@app.route('/', methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
if 'file1' not in request.files:
return 'there is no file1 in form!'
file1 = request.files['file1']
path = os.path.join(app.config['UPLOAD_FOLDER'], file1.filename)
file1.save(path)
with open(path, "rb") as img_file:
base64_string = base64.b64encode(img_file.read())
print(base64_string, file=sys.stdout)
image_bytes = base64.b64decode(base64_string)
image_array = np.frombuffer(image_bytes, dtype=np.uint8)
image = cv2.imdecode(image_array, flags=cv2.IMREAD_COLOR)
noise = speckle_noise(image)
_, image_arr = cv2.imencode('.jpg', noise)
image_bytes = image_arr.tobytes()
base64_return = base64.b64encode(image_bytes)
return base64_return
return 'ok'
return '''
<h1>Upload new File</h1>
<form method="post" enctype="multipart/form-data">
<input type="file" name="file1">
<input type="submit">
</form>
'''
if __name__ == '__main__':
app.run()
任何帮助将不胜感激!
解决方案
推荐阅读
- visual-studio-code - 重新加载 keybindings.json 而不重新启动 vscode
- google-chrome - ubuntu:根据使用的配置文件对 chrome 窗口进行分组
- android - 如果片段中已经打开了一个新的警报对话框,如何避免打开一个新的警报对话框
- python - 通过格式不正确的 JSON 文件 python 解析
- python - 从 Python 将日期字符串插入 SQLite 会产生意外结果
- python - NoSuchModuleError:无法加载插件:sqlalchemy.dialects:teradata
- ios - iOS图表框架maximumFractionDigits不起作用
- r - 从多个线性模型中获取斜率、截距和确定系数,所有这些都来自同一个数据帧
- javascript - Javascript 按钮按条件显示
- visual-studio-code - vscode 在 Windows 7 上没有为我启动