立て続けに失礼します。リンクバルでエンジニアをしております磯谷です。
DeepLensの第3弾として、サンプルプロジェクトのデプロイ方法をご紹介しようと思います。
例によって公式説明はこちらです。
またサンプルプロジェクトの説明はこちらにあります。
サンプルプロジェクトのデプロイ
まずはコンソールに入って下さい。
今までは「Devices」を使ってましたが、今回は「Projects」から「Create new project」を押します。すでに色々とプロジェクトを作っているため黒塗り部分が多く恐縮です。
「Project type」は「Use a project template」を、そして「Project templates」はお好きなものを選んでください。私は「Object detection」を選びました。オリジナルプロジェクトをデプロイする際はモデルと関数をそれぞれ準備する必要があるのですが、サンプルプロジェクトの場合、それらは自動生成されるのでとても楽です。
下の方に「Next」がありますので、それを押して「Specify project details」に進みます。「Project name」はわかりやすく「Object-detection-for-techblog」としておきました。「Description」はデフォルトのままにしてあります。
下に「Create」ボタンがありますので、それを押したら完成です。「Projects」ページに戻り、今設定したプロジェクトが出来上がっていることを確認してください。
プロジェクトが出来上がったので、デプロイに進みます。今作ったプロジェクトの左にあるラジオボタンを選択し、「Deploy to device」を押してください。「Deploy to device」が押せない場合は、一旦他のページにいってまた戻ると押せるようになってたりします。(バグ?)
次のページで、デプロイするデバイスを選びます。ラジオボタンをチェックしたら「Review」を押せばOKです。
次のページで「Deploy」を押せばOKです。
デプロイが始まるのですが、思いの外時間がかかります。選んだプロジェクトにもよりますが、今回は10分くらいかかりました。赤枠でかこった部分が随時変化していき、100%になったら完了です。
デプロイが終わるとこのような画面になります。「Current project」も先ほど作成したものになっているのがわかります!
では次にデプロイしたプロジェクトの動作確認です。
資料はこちらです。
DeepLensをモニタにつなげて直接コマンドを打ってもいいですし、SSHでリモートでもOKです。私はSSH派なので、SSHでの説明を記載させていただきます。SSHを使わない方はこちらを参照してください。(こちらの方がシンプルかつ確実かもしれません。。)
SSHを使う場合は、以下のコマンドを打ってください。このコマンドはSSHでデバイスに接続すると同時にmplayerを起動するものです。(説明間違ってたら、どなたか指摘お願いします。)なのでSSHで接続しない状態でこのコマンドを打ってください。
[bash] ssh aws_cam@"IP Adress" cat /tmp/\*results.mjpeg |mplayer –demuxer lavf -cache 8092 -lavfdopts format=mjpeg:probesize=32[/bash]
ただし、コピーアンドペーストは避けた方がいいようです。弊社も何人かデプロイをしているのですが、コピペのせいで何度かよくわからないエラーに陥りました。何かあったらひとまずこちらを見てみるといいかもしれません。私は何度かお世話になりました。なお、直接DeepLensに入ってターミナルを立ち上げ、↑キーを2回程押せば、公式説明に書いてあるコマンド
[bash] mplayer -demuxer lavf -lavfdopts format=mjpeg:probesize=32 /tmp/results.mjpeg[/bash]
が出てきます。不安な方はSSHではなく直接DeepLens(Ubuntu)のターミナルからキックした方がいいかもしれません。
エラー等がなければプレイヤーが立ち上がると思います。しかしこのプレイヤーは遅いし不安定なので閉じてしまっていいと思います。動画をみる場合は、前回の記事(AWS DeepLensを購入しました〜映像をみる、SSH接続編〜)に書いた、コンソールから動画をみる方法がベストと感じています。personとchairしかありませんがこんな感じです。
これでサンプルプロジェクトのデプロイが終わりました!お疲れ様でした!
おそらく初回は、手順通りにやればスムーズに行くと思います。
今後同じサンプルプロジェクト(テンプレート)を異なるプロジェクト名で登録したり、少しコードをいじったりすると、よくわからないエラーに直面することが多くなると思います。検索すると結構資料は出てきますがほぼ英語なので、英語力を鍛えなければならないと感じる今日この頃です。。
リンクバルでは一緒に働く仲間を募集中です。
少しでも興味のある方はこちらまで連絡をお願いいたします。