Skip to main content
 首页 » 编程设计

python-3.x之Flask/Keras webservice ModuleNotFoundError : No module named 'tensorflow_core.keras'

2025年05月04日135findumars

我正在构建一个简单的网络服务来对图像进行分类。
分离我的 keras 模型正确分类并且 flask 服务正在运行。

但是当我尝试在我的 flask 应用程序中使用 keras 模型时......

from flask import Flask 
 
from myproject.keras_model_wrapper import get_result 
 
APP = Flask(__name__) 
 
 
@APP.route('/') 
def keras_result(): 
    return get_result() 
 
if __name__ == 'main': 
    APP.run() 

...发生导入错误。
 * Environment: development 
 * Debug mode: on 
 * Restarting with stat 
 * Debugger is active! 
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) 
Traceback (most recent call last): 
  File "<python_path>\python\python37\lib\runpy.py", line 193, in _run_module_as_main 
    "__main__", mod_spec) 
  File "<python_path>\python\python37\lib\runpy.py", line 85, in _run_code 
    exec(code, run_globals) 
  File "<project_path>\.venv\Scripts\flask.exe\__main__.py", line 9, in <module> 
  File "<project_path>\.venv\lib\site-packages\flask\cli.py", line 966, in main 
    cli.main(prog_name="python -m flask" if as_module else None) 
  File "<project_path>\.venv\lib\site-packages\flask\cli.py", line 586, in main 
    return super(FlaskGroup, self).main(*args, **kwargs) 
  File "<project_path>\.venv\lib\site-packages\click\core.py", line 717, in main 
    rv = self.invoke(ctx) 
  File "<project_path>\.venv\lib\site-packages\click\core.py", line 1137, in invoke 
    return _process_result(sub_ctx.command.invoke(sub_ctx)) 
  File "<project_path>\.venv\lib\site-packages\click\core.py", line 956, in invoke 
    return ctx.invoke(self.callback, **ctx.params) 
  File "<project_path>\.venv\lib\site-packages\click\core.py", line 555, in invoke 
    return callback(*args, **kwargs) 
  File "<project_path>\.venv\lib\site-packages\click\decorators.py", line 64, in new_func 
    return ctx.invoke(f, obj, *args, **kwargs) 
  File "<project_path>\.venv\lib\site-packages\click\core.py", line 555, in invoke 
    return callback(*args, **kwargs) 
  File "<project_path>\.venv\lib\site-packages\flask\cli.py", line 860, in run_command 
    extra_files=extra_files, 
  File "<project_path>\.venv\lib\site-packages\werkzeug\serving.py", line 1008, in run_simple 
    run_with_reloader(inner, extra_files, reloader_interval, reloader_type) 
  File "<project_path>\.venv\lib\site-packages\werkzeug\_reloader.py", line 337, in run_with_reloader 
    reloader.run() 
  File "<project_path>\.venv\lib\site-packages\werkzeug\_reloader.py", line 202, in run 
    for filename in chain(_iter_module_files(), self.extra_files): 
  File "<project_path>\.venv\lib\site-packages\werkzeug\_reloader.py", line 24, in _iter_module_files 
    filename = getattr(module, "__file__", None) 
  File "<project_path>\.venv\lib\site-packages\tensorflow\__init__.py", line 50, in __getattr__ 
    module = self._load() 
  File "<project_path>\.venv\lib\site-packages\tensorflow\__init__.py", line 44, in _load 
    module = _importlib.import_module(self.__name__) 
  File "<python_path>\python\python37\lib\importlib\__init__.py", line 127, in import_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import 
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load 
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked 
ModuleNotFoundError: No module named 'tensorflow_core.keras' 

我不知道导入系统从我的 .venv 中搜索是否重要
和 TBH 我不知道,我到底应该自己寻找什么来解决它。

欢迎每一个提示

请您参考如下方法:

我不认为这是一个解决方案,但设置 flask_debug=1 (off) 将允许您继续工作,但每次更改后您都需要重新启动服务器。

正在通过以下链接在 TensorFlow Repo 中跟踪该问题。

ModuleNotFoundError: No module named 'tensorflow_core.keras' in Flask