実現したいこと
ここに実現したいことを箇条書きで書いてください。
- 物体検知機能を動作するようにする
前提
『Python FlaskによるWebアプリ開発入門』を読み進めています。
この中で作成した物体検知アプリをデプロイし、きちんと動くか確認しているのですが、画像をアップロードし、物体検知を実行したところで、「500 Internal Server Error」になってしまいます。
Google Cloud Runのログを確認したところ、下記のエラーが出ているようで、これが原因か?と思っているのですが、その解消法が分かりません。
どなたか分かりそうでしたら、アドバイスいただきたいですmm
発生している問題・エラーメッセージ
AttributeError: Can't get attribute 'Conv2dNormActivation' on <module 'torchvision.ops.misc' from '/usr/local/lib/python3.9/site-packages/torchvision/ops/misc.py'> Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 2190, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1486, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1484, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1469, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) File "/usr/local/lib/python3.9/site-packages/flask_login/utils.py", line 290, in decorated_view return current_app.ensure_sync(func)(*args, **kwargs) File "/usr/src/apps/detector/views.py", line 113, in detect tags, detected_image_file_name = exec_detect(target_image_path) File "/usr/src/apps/detector/views.py", line 264, in exec_detect model = torch.load(Path(current_app.root_path, "detector", "model.pt")) File "/usr/local/lib/python3.9/site-packages/torch/serialization.py", line 592, in load return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args) File "/usr/local/lib/python3.9/site-packages/torch/serialization.py", line 851, in _load result = unpickler.load() AttributeError: Can't get attribute 'Conv2dNormActivation' on <module 'torchvision.ops.misc' from '/usr/local/lib/python3.9/site-packages/torchvision/ops/misc.py'>
該当のソースコード
ソースコード
試したこと
デプロイして公開する前のアプリについて、再度試しに物体検知を実行してみたところ、正常にできました。なので、デプロイしているものだけに問題が生じているのでは?(デプロイしたことによって何か起こっている)と思っています。
補足情報(FW/ツールのバージョンなど)
pip list
Package Version
alembic 1.12.1
black 23.10.1
blinker 1.6.3
certifi 2023.7.22
charset-normalizer 3.3.2
click 8.1.7
coverage 7.3.2
dnspython 2.4.2
email-validator 2.1.0.post1
filelock 3.13.1
flake8 6.1.0
Flask 2.3.3
Flask-DebugToolbar 0.13.1
Flask-Login 0.6.3
Flask-Mail 0.9.1
Flask-Migrate 4.0.5
Flask-SQLAlchemy 3.1.1
Flask-WTF 1.2.1
fsspec 2023.10.0
greenlet 3.0.1
idna 3.4
iniconfig 2.0.0
isort 5.12.0
itsdangerous 2.1.2
Jinja2 3.1.2
Mako 1.2.4
MarkupSafe 2.1.3
mccabe 0.7.0
mpmath 1.3.0
mypy 1.6.1
mypy-extensions 1.0.0
networkx 3.2.1
numpy 1.26.2
opencv-python 4.8.1.78
packaging 23.2
pathspec 0.11.2
Pillow 10.1.0
pip 23.2.1
platformdirs 3.11.0
pluggy 1.3.0
pycodestyle 2.11.1
pyflakes 3.1.0
pytest 7.4.3
pytest-cov 4.1.0
python-dotenv 1.0.0
requests 2.31.0
setuptools 65.5.0
SQLAlchemy 2.0.23
sympy 1.12
torch 2.1.0
torchvision 0.16.0
typing_extensions 4.8.0
urllib3 2.1.0
Werkzeug 2.3.7
WTForms 3.1.1
python3 -V
Python 3.11.6
回答1件
あなたの回答
tips
プレビュー