LoginSignup
0
1

More than 1 year has passed since last update.

【SSD(物体検出)】をTensorFlow 2.0 でやってみた.

Posted at

SSD(物体検出)をTensorFlow2.0 でやってみた

SSDをいつも使っている環境(TensorFlow 2.0)で動かしてみたかったが以外に苦労した。

環境

  • Windows 10
  • Python 3.8
  • tensorflow 2.3.0
  • keras 2.4.3
  • Core i5
  • Spyde 5

SSDについて

沢山良い記事が書かれているので参考にしてください。

元コード

動かしてみたコードの元は

TensorFlow 2.0への書き換え

参考記事のままに書き換え。

keras 2.0への対応はrykov8/ssd_keras https://github.com/rykov8/ssd_kerasのPull requests API updated to Keras2 も参考になります。

動かしてみた

NoteBook を使わないので SSD.ipynb の内容をエディタで.pyに編集して実行。
デモを動かすだけなのですぐに動くものだと思っていたがエラー。

TypeError: 'NoneType' object is not subscriptable

どうもssd.pyからPriorBox()を呼び出したときに問題がありそうだったので、

class PriorBox(Layer):
       ...
 @tf.function
    def call(self, x, mask=None):
        input_shape = x._shape_val

@tf.functionをつけグラフモードにした。

無事にデモが動きました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1