ssd_keras エラー 【 : cannot connect to X server】


ssd keras の、videotest_example.py をGPU上での実行中に起きたエラー

X server とは??

X window system という UNIX系(CUIベース)の OS にGUI要素を加えるためのシステムがあって、 そのシステム内でのサーバーを X server という。

この時の server というのは、 client - server モデルでの server のことだが、http通信などの時とは異なって、ユーザーの手元にあるコンピューターserverブラウザやその他のエミュレータがclientなのに注意

SSDのコード元

↑これを keras v2で使えるようにしたもの。

print(cv2.__version__)    # 4.1.0
print(keras.__version__)     # 2.1.3
print(tf.__version__)     # 1.4.0

今からcloneするなら keras2でも動くやつがおすすめ。

解決法

cv2 の imshow() を使っていたのでそこの一文を削除した。
docker のコンテナ内で、X server が立ち上がってなかったのが原因

解決策は2つあって、

  1. コンテナ内で X server を立ち上げる
  2. X serverを使用するもの(描写ライブラリなど)を使用しない。

今回は描写部分を抜いても動作的に問題はなかったので、②を選択。