2018年3月20日火曜日

Docker

動画を見ていて、H2O4GPU のソルバーに deep learning が含まれていないことに気づきました。
https://www.youtube.com/watch?time_continue=2&v=pzxzFY9GBT8

ちゃんと説明読んでね!って。
https://github.com/h2oai/h2o4gpu/blob/master/README.md

deep learning で GPU に対応しているのは「Deep Water」
https://www.h2o.ai/deep-water/

でも、これ2つ入れると必要な環境が競合しないのでしょうか?(ま、他所のフレームワークを持ち込むわけではないので大丈夫でしょうけど)

その不安に対しては、コチラに明解な回答の一つが記載されていました。
https://qiita.com/DUxCA/items/7bf3862569cfca122d73
caffe, caffe2, tensorflow, theano, mxnet, chainer, pytorch, torch などの様々な CUDA 依存のライブラリやフレームワークがある。
しかしこれらは互いに依存するubuntuやpython、CUDA等のバージョンがそれぞれ異なる。
このような状況では以下のような問題が発生する。
  • 共用 GPU マシンの場合 - ユーザがそれぞれ sudo 権限を持ち、好き勝手にライブラリをインストールしたりバージョンアップすると、すぐに環境が破綻する
  • 研究での GPU 利用の場合 - その時その時のマシンの環境依存になってしまうため、再現性が担保できない
  • クラウドサービス利用の場合 - 仮想マシンから GPU を利用するのが(不可能ではないが)面倒くさい、計算に使いたいのに仮想化によるオーバーヘッドがある
これらの問題は nvidia-docker を使うことで解決できる。
docker ですか。確かに、H2O4GPU、Deep Water でイメージが用意されています。使い方はわかりませんが、便利そうなのは理解できます。というか、1台のPCで複数の OS Ver.や、CUDA Ver. を共存させようとすると、このような方針が簡単なのかもしれませんね。

Azure や AWS に手を出せていないのに、次は docker。さらに、nvidia - docker。
うーん、速い。完全に置いて行かれています。
ま、遅いながらも前に進みましょう。

2018年3月19日月曜日

3Dモデルを利用した説明 その3

地下構造物と地質を InfraWorks で可視化。

ノート PC とヘッドセットを抱えて御説明に伺いました。

TV につないで見てみますと、いつもよりきれいに見えます。
以前に書き残していたように、TV を使うと説明しやすい恩恵を感じる一方、TV を見てしゃべる時間が長く、お客様の表情を伺う機会が少なくなりやすいデメリットを感じました。これは、PCとTVの配置を工夫することで防ぐことが可能でしょう。次から気を付けましょう。

いくつかの提案を作っておいたので、それを切り替えながら説明。各提案の違いやデメリットが感覚的にわかります。結論を導く良い判断材料になりますね。


今年度は数モデルしか作りませんでしたが、いくつかの発見がありました。
来年度に生かしましょう。


3Dモデルを利用した説明 その2

海上構造物を InfraWorks で可視化。

潮(波)の流れが現場と真逆で修正したかったのですが、サポートさん曰く、仕様上変更できないそうです。波と地形の関係、高さや速さも気になっていたのですが、コチラもダメ。デフォルトの動きは変更不可でした。
また、水反射にチェックを入れていると、映らないはずの地下構造物が水面に映ってしまいます。こちらも、水底のみ反射させることは困難なようで、チェックを外し全 off するしかないようでした。

何とかならないかなあと考えて思いついたのが粒子法。「構造物や船の動きも再現できるので楽かも」「いや、時間制限なしで動かしたい」「それなら物理ベース CG で良いでしょう」などと空想しながら己の力量と相談し、結局 InfraWorks に戻りました。(もう少し粘るべきだった?)

ヘッドセットをつけて航路を VR でたどったり、計画構造物の周りをまわって障害の程度を見たりしましたが、すぐに酔い始めたため説明ツールからは外しました。船に乗っているようでリアリティーはあったのですが、残念。案外、使えません。海上で仕事をされている方には効果的だと思いますが、一度に見ることのできる人数も限られていますので、VR酔いとともに何か対策が必要でしょう。

InfraWorks は可視化ツールとして手軽なのですが、細かい表現は苦手。ですが、理解促進に役立っているようです。残念ながら、3D は記憶に残っても記録に残りにくいため、当面は 2D 資料と併用になりそうです。

まだまだ手始め。模索してみましょう。


2018年3月18日日曜日

遠いクラウドコンピューティング

PSInSAR を扱える環境を整備しようかと、ENVI の価格を調査。

オプション入れて700万弱。

無理でした。

それなら、StaMPS + MATLAB になるでしょうね。1桁違いますから。

となると、ハードの準備が必要です。手元の Linux は数年前のハード構成なので耐えられません。

Linux となると、H2O4GPU 等にも耐え得るハードがいいですね。というよりは、Azureや AWS の方が効率的かもしれません。

両者ともに、まだ手を出していない領域です(Machine Lerning Stusio は H2O の選定後に手を出していますが、隠れ層を追加するのにコードを書く必要があったので深みにはまっていません)。

先日、手を出そうか思い立ちましたが、いずれもクレジットカード情報を必要とするので登録しませんでした。
調べてみると、カード払いが不可で、請求書払いが必須の企業向けに、間に入るサービスを提供する会社も出てきているようです。クラウドサービスの躍進とともに、カード業界も新たなサービスで対応してきているようですね。

さあ、どうしましょう。
PSInSARって何?っておっしゃる executives に SAR, DInSAR, ENVI, MATLAB, GPGPU, Azure & AWS の順で説明しないといけないのでしょうか?本丸にたどり着くまで何時間必要でしょう?金銭比較もお出ししないといけないのでしょうね。
残念ながら、そのようなことに費やす時間と根気は持ち合わせていません。

高負荷の計算やビッグデータを扱う問題に、クラウドコンピューティングは一つの解決策だと思います。が、社内での道のりは遠そうです。

2018年3月13日火曜日

3次元モデルと調査提案

調査提案をお客様にお渡ししていましたが、どうも必要性が伝わっていないようでした。

地質の分布を推定し、コンター図や断面図を作成し、それに応じた調査計画をお出ししていたのですが、お客様にはその意図が半分も伝わっていないようでした。いえ、地質というものは、慣れ親しんだ方以外にはほとんど理解・イメージされない代物であることは経験上、重々承知しています。

地質とボーリング配置は GEORAMA で作成していましたので、それを3次元表示して説明すればご理解いただけると考えました。
ただ地質を表示してもダメなので、焦点となっている計画構造物のみ Civil3D のソリッドで簡単に作成し、地形・地層サーフェス上に乗せました。それをボーリングごと書き出し、Civil3D上で選別して2ケースの dwg を作成。オブジェクトビューアーで表示すると、直感的にわかるようになりました。

どうせなら InfraWorks に取り込みましょうと、モデルビルダーで周辺のモデルを作成。提案を2つ作って各々に dwg を取り込み。Civil3D の dwg (AutoCAD DWG (3D Objects))として読み込めば、複数の地形・地層サーフェス、ボーリング、構造物が1度に取り込めました。これは初めての試みでしたが、サーフェスの重なり具合も概ね問題なく取り込めました。この連携は使えそうですね。

昼を過ぎて、できたモデルを抱えてお客様をお尋ねし、調査提案の考え方を説明。結果、お客様には「必要性が重々わかった」と御理解いただけました。

さすが3次元。直感的にイメージを共有することが可能です。
今回は短時間でモデル化した簡易モデルだったのですが、それでも効果は絶大だったようです。作り込んだ 2D より、簡素な 3D の方がお客様にとって良いということでしょう。

このようなワークフローから少し外れたような利用法は、今の CIM 推しの流れには入っていないでしょう。ガイドラインができるのは良いことですが、あくまで3次元効果の一部利用にすぎません。整備されつつある基準にとらわれすぎないよう、自由な発想でその恩恵を受けるべきです。

2018年3月12日月曜日

InfraWorks と GPU

InfraWorks 2018 で、困ったことが起きました。

設計者と共有しているモデルだったのですが、なぜか私の PC と見え方が異なります。また、お客様に説明する際のノートPCでも見え方が異なります。
ハードによって、サーフェスの透過性の詳細さや、オブジェクトの表示の有無が異なってくるのです。同じ設定にしてもです。
ま、設計といった本質にかかわらない問題なのですが、PCによって表現が異ってしまう点は盲点でしたね。こちらがハイスペック PC で「そこそこできた」モデルをお客様と共有しても、「汚い」と判断されるかもしれません。共有機能を使って共有したつもりが、共有できていないのです。

原因は GPU の性能なのですが、何とかならないでしょうか。当然、最新のものほどそこそこ良く見え、古いものや廉価版ほど汚く見えます。その差は歴然です。
古い GPU では表示できない、あるいは、一定レベルのGPUでは同じように見える、といったような対応になりませんかね?
iPadで表示できるオブジェクトには制限がありますし、表示できても簡易です。Viewerとして、お客様にお勧めすることもできません。弱りました。

結局、解決策はなく、どのように見えているか確認しながらお話しするしかないようです。気を付けましょう。


2018年3月11日日曜日

CIM導入ガイドライン(地質)

そろそろ改訂になろうかと思われる国交省さんの「CIM導入ガイドライン(案)」H29年3月。

幸か不幸か、今年度はノータッチでした。
が、「 1 編 共通編」の地質部分への対応可否を調べる必要があり、あらためて見てみました。

結論として、対応できるレベルなのですが、手間がかかります。
ボーリングモデル(簡易版)であれば、電子納品の柱状図(xml)内に記載しますので、どのような作成ソフトでも対応可能でしょう(すべて手打ちになり面倒ですが)。
それ以外は概ね似た仕様になっています。管理データや属性データは、既に作成している表、情報をEXCELでまとめる形になりますので手間はかかりますが、難しいレベルではないでしょう。
準 3 次元断面図での必要ファイル
管理データ CSV、EXCEL
形状情報 DWG、DXF、CSV 
テクスチャデータ JPEG、PNG、TIFF

属性情報のうち、「5)堆積(優先)情報」については、GEORAMA の表が使えそうです。が、そのままでは使えませんのである程度アレンジが必要でしょう。単純な堆積構造だと作成も容易ですが、レンズ層や断層などが入ってくると、表現は面倒になるでしょうね。
ガイドラインありきの場合、モデルが複雑になるほど Earth Volumetric Studio よりは GEORAMA の方が有利になります(ガイドラインの図63が GEORAMA の指定の仕方とよく似ています)。現状では、ガイドラインに対応する必要があるのか?どのような層序か?などを着手時や掘削中に考えてソフトを選定しておかないと、作業量に違いが出たり、手戻りになります。ま、ガイドライン対応の仕事が増えると、各社対応してくるでしょうけど。

図 63 地質論理モデルにおける堆積順位のイメージ(参考)
改訂でサーフェスモデル・ソリッドモデルが入ってくるかもしれません。そうなると、全体がもっとブラッシュアップされた構成になってくるでしょう。
改訂情報に注意しておきましょう。