質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

YOLO

YOLOとは、画像検出および認識用ニューラルネットワークです。CベースのDarknetというフレームワークを用いて、画像や動画からオブジェクトを検出。リアルタイムでそれが何になるのかを認識し、分類することができます。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1554閲覧

github上にあるdeep_sort_yolov3が動かない

caramel

総合スコア14

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

YOLO

YOLOとは、画像検出および認識用ニューラルネットワークです。CベースのDarknetというフレームワークを用いて、画像や動画からオブジェクトを検出。リアルタイムでそれが何になるのかを認識し、分類することができます。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/10/13 11:38

前提・実現したいこと

github上にあるzipファイルをダウンロードして、
ソースコードなど何も手を加えずに実行してみたところ、
エラーは出ません(WARNINGは出る)が、GPUメモリの使用率が100%になり、結果が得られません。

NVIDIA RTX2060(メモリ8GB) , RTX2080(メモリ8GB) , RTX3060(メモリ12GB) どれで試しても
GPUメモリの使用率が100%になり、どう対処したらいいかわからない状態に陥りました。
(SLIはしておりません、またできません)

試したこと
demo.pyのimport os(5行目) の下に
os.environ["TF_FORCE_GPU_ALLOW_GROWTH"]= "true"
を追加しましたが、使用率は100%で変わりませんでした。

実現したいこととしては、
ダウンロードしたプログラムを動かし、実行結果を得たいです。

参照github
https://github.com/Qidian213/deep_sort_yolov3

環境
os - windows10
GPU - NVIDIA RTX2060 or RTX3060 or RTX2080
CPU - AMD Ryzen 5 5600x
メモリ - 16GB x 2

CUDA - v10.0
cudnn - v7.4.2

Anaconda3
TensorFlow_gpu - 1.14.0

発生している問題・エラーメッセージ

WARNING:tensorflow:From C:\Users\anaconda3\envs\kami\lib\site-packages\keras\backend\tensorflow_backend.py:95: The name tf.reset_default_graph is deprecated. Please use tf.compat.v1.reset_default_graph instead. WARNING:tensorflow:From C:\Users\anaconda3\envs\kami\lib\site-packages\keras\backend\tensorflow_backend.py:98: The name tf.placeholder_with_default is deprecated. Please use tf.compat.v1.placeholder_with_default instead. WARNING:tensorflow:From C:\Users\anaconda3\envs\kami\lib\site-packages\keras\backend\tensorflow_backend.py:102: The name tf.get_default_graph is deprecated. Please use tf.compat.v1.get_default_graph instead. WARNING:tensorflow:From C:\Users\anaconda3\envs\kami\lib\site-packages\keras\backend\tensorflow_backend.py:174: The name tf.get_default_session is deprecated. Please use tf.compat.v1.get_default_session instead. WARNING:tensorflow:From C:\Users\anaconda3\envs\kami\lib\site-packages\keras\backend\tensorflow_backend.py:181: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead. 2021-10-13 19:39:51.477343: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 2021-10-13 19:39:51.481463: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library nvcuda.dll 2021-10-13 19:39:51.505307: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with properties: name: NVIDIA GeForce RTX 3060 major: 8 minor: 6 memoryClockRate(GHz): 1.837 pciBusID: 0000:07:00.0 2021-10-13 19:39:51.505454: I tensorflow/stream_executor/platform/default/dlopen_checker_stub.cc:25] GPU libraries are statically linked, skip dlopen check. 2021-10-13 19:39:51.506229: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu devices: 0 2021-10-13 19:39:52.137461: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect StreamExecutor with strength 1 edge matrix: 2021-10-13 19:39:52.137595: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1187] 0 2021-10-13 19:39:52.138918: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0: N 2021-10-13 19:39:52.139760: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10625 MB memory) -> physical GPU (device: 0, name: NVIDIA GeForce RTX 3060, pci bus id: 0000:07:00.0, compute capability: 8.6) WARNING:tensorflow:From C:\Users\anaconda3\envs\kami\lib\site-packages\keras\backend\tensorflow_backend.py:1834: The name tf.nn.fused_batch_norm is deprecated. Please use tf.compat.v1.nn.fused_batch_norm instead. WARNING:tensorflow:From C:\Users\anaconda3\envs\kami\lib\site-packages\keras\backend\tensorflow_backend.py:2018: The name tf.image.resize_nearest_neighbor is deprecated. Please use tf.compat.v1.image.resize_nearest_neighbor instead. ./model_data/yolo.h5 model, anchors, and classes loaded. WARNING:tensorflow:From C:\Users\anaconda3\envs\kami\lib\site-packages\tensorflow\python\ops\array_ops.py:1354: add_dispatch_support.<locals>.wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version. Instructions for updating: Use tf.where in 2.0, which has the same broadcast rule as np.where 2021-10-13 19:39:59.487290: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with properties: name: NVIDIA GeForce RTX 3060 major: 8 minor: 6 memoryClockRate(GHz): 1.837 pciBusID: 0000:07:00.0 2021-10-13 19:39:59.487440: I tensorflow/stream_executor/platform/default/dlopen_checker_stub.cc:25] GPU libraries are statically linked, skip dlopen check. 2021-10-13 19:39:59.488826: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu devices: 0 2021-10-13 19:39:59.489594: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with properties: name: NVIDIA GeForce RTX 3060 major: 8 minor: 6 memoryClockRate(GHz): 1.837 pciBusID: 0000:07:00.0 2021-10-13 19:39:59.490207: I tensorflow/stream_executor/platform/default/dlopen_checker_stub.cc:25] GPU libraries are statically linked, skip dlopen check. 2021-10-13 19:39:59.490904: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu devices: 0 2021-10-13 19:39:59.491562: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect StreamExecutor with strength 1 edge matrix: 2021-10-13 19:39:59.492349: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1187] 0 2021-10-13 19:39:59.493001: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0: N 2021-10-13 19:39:59.493720: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10625 MB memory) -> physical GPU (device: 0, name: NVIDIA GeForce RTX 3060, pci bus id: 0000:07:00.0, compute capability: 8.6) WARNING:tensorflow:From C:\Users\Desktop\deep-yolo\tools\generate_detections.py:76: The name tf.gfile.GFile is deprecated. Please use tf.io.gfile.GFile instead.

該当のソースコード

github上の demo.py もしくは yolo.py

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quickquip

2021/10/13 13:04 編集

質問が書かれていないように見えます。 なにかうまくいってない理由を聞きたいが明に書いてないとしても、そのうまくいってないこと、つまりどういう動作を期待していて、現状それとどう異なっているのか? という点がなければいったい何を答えたらいいのでしょうか。 このモデルが12GBもメモリを使うはずがない、という予測や確信があるのでしょうか。 detection.txt ができるはずだができてない、とか、outputディレクトリに動画ができるはずだができてない、とかそういうことでしょうか。 (追記) 質問タイトルが適切でないだけかもしれません。「動かない」「動かしたい」は本題じゃなくて、「TF_FORCE_GPU_ALLOW_GROWTH が利いてないように見えるがなぜか」という話ならタイトルをそうするべきです。
quickquip

2021/10/13 13:06

TF_FORCE_GPU_ALLOW_GROWTH を普通に環境変数で設定したらどうなるのでしょうか?
jbpb0

2021/10/26 07:21 編集

https://github.com/Qidian213/deep_sort_yolov3/blob/master/demo.py の47行目に model_filename = 'model_data/market1501.pb' とありますが、そのファイルは https://github.com/Qidian213/deep_sort_yolov3/tree/master/model_data には無いので、当方のMacで「demo.py」を > ソースコードなど何も手を加えずに実行 したら、「model_data/market1501.pb; No such file or directory」というエラーが出ました 本当に、 > ソースコードなど何も手を加えずに実行 しても、質問者さんの環境ではエラーが出ないのでしょうか?
jbpb0

2021/10/27 02:16 編集

そこを、存在するファイル名に合わせて model_filename = 'model_data/market1501.pb' ↓ 変更 model_filename = 'model_data/yolo.h5' としても、別のエラー 「KeyError: "The name 'net/images:0' refers to a Tensor which does not exist. The operation, 'net/images', does not exist in the graph."」 が出ました https://github.com/Qidian213/deep_sort_yolov3 に「TensorFlow-1.4.0」と書かれてるので、Python 3.6を入れてTensorFlow 1.4.0を入れてみましたが、同じエラーが出ました Win 10でもMacでも同じエラーが出ました 「model_data/yolo.h5」は、 https://github.com/Qidian213/deep_sort_yolov3 で「use what i had converted」と書かれてる方を使っても、 https://pjreddie.com/darknet/yolo/ から落とした「yolov3.weights」から変換したのを使っても、どちらでも同じエラーが出ました 質問者さんの環境では、そのエラーは出てないのですよね??
jbpb0

2021/10/27 02:17 編集

変更のやり方、間違えてました model_filename = 'model_data/market1501.pb' ↓ 変更 model_filename = 'model_data/mars-small128.pb' としたら、エラー出ずに動きました 画面に動画が表示され、検出された人物が長方形で囲われていました GPU使わずにCPUで実行したので、スピードは1FPSくらいで、メモリー使用量は1GB未満でした 環境 Win 10 Python 3.7.7 tensorflow 1.15.3 Keras 2.3.1
jbpb0

2021/10/27 02:21 編集

GPUで実行したら、スピードは10FPSくらいで、メモリー使用量はGPU専用メモリ11GB中の10GBでした (メモリー使用量を減らすような細工はせずに実行) CPU実行時と同様に、画面に動画が表示され、検出された人物が長方形で囲われていました 環境 Win 10 GTX 1080 Ti CUDA 10.0 cuDNN 7.4 Python 3.7.10 tensorflow-gpu 1.15.3 Keras 2.3.1 当方では、質問者さんが書かれてるような、 > 結果が得られません。 とはならず、正常に実行できてると思います 質問者さんがお使いのパソコンのGPU環境に何か問題が有るのかもしれません
jbpb0

2021/10/26 12:16

> demo.pyのimport os(5行目) の下に os.environ["TF_FORCE_GPU_ALLOW_GROWTH"]= "true" を追加 をしたら、GPUメモリー使用量が8.1GBに減りましたので、当方の環境では指定が有効に機能してます やはり、質問者さんがお使いのパソコンのGPU環境に問題が有るような
guest

回答1

0

ベストアンサー

ソースコードなど何も手を加えずに実行してみたところ、

エラーは出ません(WARNINGは出る)が、GPUメモリの使用率が100%になり、結果が得られません。

当方のGPU有りWin 10パソコンで実行してみたら、画面に動画が表示され、検出された人物が長方形で囲われてましたので、正常に実行できたようです

コードは、「demo.py」の下記を変更し、他はそのままです

python

1 model_filename = 'model_data/market1501.pb'

↓ 存在するファイル名に変更

python

1 model_filename = 'model_data/mars-small128.pb'

「yolo.h5」は、
deep_sort_yolov3

の「Quick Start」の「Or use what i had converted...」のを落として使いました

 .

demo.pyのimport os(5行目) の下に

os.environ["TF_FORCE_GPU_ALLOW_GROWTH"]= "true"
を追加しましたが、使用率は100%で変わりませんでした。

メモリー使用量はGPU専用メモリ11GB中の10GBで、そのままでも大丈夫でしたが、「demo.py」の「import os」のすぐ下に

python

1os.environ["TF_FORCE_GPU_ALLOW_GROWTH"]= "true"

を追加したら、GPUメモリー使用量が8.1GBに減ったので、当方の環境ではその指定が有効に機能してるようです

環境
Win 10
GTX 1080 Ti
CUDA 10.0
cuDNN 7.4
Python 3.7.10
tensorflow-gpu 1.15.3
Keras 2.3.1

投稿2021/10/28 02:38

jbpb0

総合スコア7651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

caramel

2021/11/28 15:27

返信が遅くなってしまったこと、誠に申し訳ございません。 1ケ月自分で考えて、たどり着いた答えがtensorflow-gpu のバージョンを1.13.1に下げるという結果になりました。 jbpb0さんは、1.15.3でもできたということから、1.14のバージョンがこのシステムと合わなかったのかもしれないですね。
caramel

2021/11/28 15:34

またRTX30シリーズはCUDA10に対応していないということも調べて分かったので記載しておきます。 (私が試したGPUにRTX3060があるため)
jbpb0

2021/11/29 00:17

> RTX30シリーズはCUDA10に対応していない https://www.tensorflow.org/install/source?hl=ja https://www.tensorflow.org/install/source_windows?hl=ja) の「テスト済みのビルド構成」の表を見ると、CUDA 11.*との組み合わせで使えるのはtensorflow 2.4以降ですから、 > tensorflow-gpu のバージョンを1.13.1に下げる tensorflow 1.*との組み合わせでGPUを使う場合は、RTX30シリーズは使えませんね (ちゃんと動く場合もあるかもしれないけど、何が起きてもおかしくない)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問