[英]How can I use my fastai model with my flask app?
我正在尝试在我的 flask 应用程序中集成我用 fastai 训练的图像颜色检测器。 有一个自定义 function 与学习器一起导出,用于加载 model。 function 是 getImages。 我收到以下错误,因为它在主命名空间中找不到 function:
Can't get attribute 'getImages' on <module '__main__' from 'C:\\Users\\MyUser\\Documents\\MyApp\\Scraper\\env\\Scripts\\flask.exe\\__main__.py'>
如何将其添加到该名称范围以便加载 model? 我需要编辑 flask 模块吗? 还是有其他方法。
@app.route('/api/getRelatedPages', methods=['POST'])
async def getRelatedPagesEnd():
requestData = request.get_json()
productInfo = Model.Product(requestData['pageContent'])
with set_posix_windows():
colorClassfier ={
'name': 'Color',
'Model': load_learner(Colors.getColorClassifierPath()),
'Target': 'image',
}
await productInfo.getSimilarProducts(colorClassfier)
这是我在 run.py 中加载 model 的地方。 它导致错误,因为它正在尝试加载 model 并且无法在主scope 中找到 function,因为它在训练期间可用。 在一个简单的 python 脚本中,我可以在主名称范围中添加 getImage function 以使其可用。 这是 function:
def getImages(d): return d['imagePath']
但是在 flask 应用程序中,主要的 scope 从 flask.exe 开始,我不知道如何添加它。
我通过使用app.run()
启动我的 flask 应用程序然后运行命令python run.py
解决了这个问题。 而不是声明 FLASK_APP 环境变量并使用命令flask run
这使我的文件 run.py 成为主要名称范围。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.