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

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

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

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

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

Q&A

解決済

1回答

1612閲覧

YOLOv2がPython3.8.3でエラーが出てコンパイルできない

aaPython

総合スコア39

YOLO

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

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

0グッド

0クリップ

投稿2020/06/10 05:20

前提・実現したいこと

リアルタイムで物体検出しようと思い、こちら(YOLOv2のリアルタイム物体検出をTensorFlowとPythonで実装する方法)の記事を参考にして進めていたのですが、いざ実行してみるとエラーが出てしまいました。ファイルは1.pyとして、darkflowのフォルダ内に保存しました。
エラーの原因と解決方法を教えてください。

コード

python

1from darkflow.net.build import TFNet 2import cv2 3import numpy as np 4 5options = {"model": "cfg/yolo.cfg", "load": "bin/yolo.weights", "threshold": 0.1} 6tfnet = TFNet(options) 7 8# カメラの起動 9cap = cv2.VideoCapture(0) 10 11class_names = ['aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 12 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 13 'dog', 'horse', 'motorbike', 'person', 'pottedplant', 14 'sheep', 'sofa', 'train', 'tvmonitor'] 15 16num_classes = len(class_names) 17class_colors = [] 18for i in range(0, num_classes): 19 hue = 255*i/num_classes 20 col = np.zeros((1,1,3)).astype("uint8") 21 col[0][0][0] = hue 22 col[0][0][1] = 128 23 col[0][0][2] = 255 24 cvcol = cv2.cvtColor(col, cv2.COLOR_HSV2BGR) 25 col = (int(cvcol[0][0][0]), int(cvcol[0][0][1]), int(cvcol[0][0][2])) 26 class_colors.append(col) 27 28def main(): 29 30 while(True): 31 32 # 動画ストリームからフレームを取得 33 ret, frame = cap.read() 34 result = tfnet.return_predict(frame) 35 36 for item in result: 37 tlx = item['topleft']['x'] 38 tly = item['topleft']['y'] 39 brx = item['bottomright']['x'] 40 bry = item['bottomright']['y'] 41 label = item['label'] 42 conf = item['confidence'] 43 44 if conf > 0.6: 45 46 for i in class_names: 47 if label == i: 48 class_num = class_names.index(i) 49 break 50 51 #枠の作成 52 cv2.rectangle(frame, (tlx, tly), (brx, bry), class_colors[class_num], 2) 53 54 #ラベルの作成 55 text = label + " " + ('%.2f' % conf) 56 cv2.rectangle(frame, (tlx, tly - 15), (tlx + 100, tly + 5), class_colors[class_num], -1) 57 cv2.putText(frame, text, (tlx, tly), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0,0,0), 1) 58 59 # 表示 60 cv2.imshow("Show FLAME Image", frame) 61 62 # escを押したら終了。 63 k = cv2.waitKey(10); 64 if k == ord('q'): break; 65 66 cap.release() 67 cv2.destroyAllWindows() 68 69if __name__ == '__main__': 70 main() 71

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

エラーコード

Python3.8.3

1Traceback (most recent call last): 2 File "C:\Users***\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\darkflow\1.py", line 1, in <module> 3 from darkflow.net.build import TFNet 4 File "C:\Users***\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\darkflow\net\build.py", line 12, in <module> 5 class TFNet(object): 6 File "C:\Users***\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\darkflow\net\build.py", line 15, in TFNet 7 'rmsprop': tf.train.RMSPropOptimizer, 8AttributeError: module 'tensorflow._api.v2.train' has no attribute 'RMSPropOptimizer'

試したこと

ダウングレードしようとしましたが、ERROR: Could not find a version that satisfiesと出て、できませんでした。

補足情報(FW/ツールのバージョンなど)

開発環境
windows10 home
python3.8.3(Microsoftstoreからインストール)
darkflow: 1.0.0
Cython: 0.29.19
tensorflow: 2.2.0
tensorboard: 2.2.2

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

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

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

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

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

guest

回答1

0

ベストアンサー

TensorFlow 1系で作られたコードを2系で動かすには、大幅な修正が必要です。
それにはコードの細部を理解していないとできないので、手っ取り早く動かしたい場合は

  • 該当レポジトリの推奨する TensorFlow のバージョンにダウングレードする

それが難しいようであれば

  • TensorFlow 2系に対応した実装を GitHub で探してきて動かす

のどちらかがいいと思います。

投稿2020/06/10 05:27

編集2020/06/10 05:28
tiitoi

総合スコア21956

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

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

aaPython

2020/06/10 06:06

そうなんですか!バージョンは下がらないのでGitHubで探してみます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問