繁体   English   中英

如何将我的 fastai model 与我的 flask 应用程序一起使用?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM