今日、Flask デプロイメントに Yolov5 ターゲット検出モデルを使用しているときに、次の問題が発生しましたRuntimeError: "slow_conv2d_cpu" not implemented for 'Half'
。Wang Hon の Web サイトを長い間検索した結果、ほとんどが Half の精度について話していることがわかりました。
具体的なエラーは次のとおりです。
他の人の解決策
Half()函数
最初に行うことは次のとおりです。
torch.half()
この関数は、モデルのすべての浮動小数点パラメーターとバッファーを半精度 (16 ビット) 浮動小数点数に変換します。これにより、高い計算精度を維持しながら、メモリ フットプリントが削減され、計算効率が向上します。
オンラインで見つけた解決策をいくつか紹介します。
上記の問題は、Web ページのフロントエンドをデプロイするときに解決されない可能性がありますが、トレーニング中には依然として役立つはずです。
私の解決策
長時間検索しても適切な解決策が見つからなかったとき、自分の と一致していないからではないかと思い、torch版本
次のようtorchvision版本
にインストールしたライブラリを確認し
ました。torchvision版本
.ということで、 pytorch の公式 Web サイトtorch版本
にアクセスし、バージョンを再インストールした後のライブラリのバージョンは次のとおりです:最後に、問題は完全に解決され、デプロイは成功しました。
具体的な解決手順は次のとおりです。
- まず、pytorch の公式 Web サイトにアクセスします。
- 適応するバージョンを見つけます。ここでは、以前のバージョンを表示することを選択します。
- 独自のバージョンを選択してください。ここでは torch==1.13.1+cu117 です。具体的なコマンドは次のとおりです。
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117
- 最後に、コマンドをエンドポイントにコピーして、対応するバージョンのライブラリをインストールします。インストールが成功すると、次のようになります。