2018年12月31日月曜日

やり残し事項 2018-2

今年は地すべり、崩壊、基礎、海上など、スタンダードな調査モノが半分、デスクワークが半分でした。

道具では、思いがけず VRS を使えるようになりました。が、課題に挙げていた2点はそのまま。帯磁率計は来年度購入したいところ。

技術面では、機械学習関連が進みました。
クラウド、GPU利用含め環境を整備し、ストレスなく?計算までたどり着けるようになりました。が、容易に計算できるようになると、今度はデータの質に目が向いてしまいます。今後はデータ収集・整理の仕組みづくりが課題になるでしょう。
ただ、やり残し事項は何一つ進まず。来年はSAR を加えて一つは解決したいところです。

以下、やり残し事項です。

道具
帯磁率計
ガンマ線測定器(携帯型)

技術
動的解析(耐震、液状化)
斜面設計
SAR

コード・ソフト
優先度低:DtransuのCUDA化・・・100万で購入可。
優先度低:PSInSAR・・・700万で購入可
優先度中:地表流+地下水・・・GSFLOW、HydroGeoSphere
優先度中:GMS・・・J-SHISの取り込みまではできました。いつか続きを。
優先度中:OpenMI・・・PHREEQCとDtransuの連成等


中期目標は2年目も進展なし。コチラにシフトしないといけないかな。

大規模データの扱い

メモリに載らない大規模データを、機械学習にかけたい場合にどうするか?

1.メモリに載るように細分したデータを作成
ただし、計算時にオーバーフローする可能性あり。

2.メモリ容量のより大きなマシンで動かす
2-1.PC購入
高価。

2-2.クラウド利用(AWS)
2-2-1. EC2, Cloud Formation
https://phreeqc.blogspot.com/2018/10/aws-2.html
AWS マーケットプレイスに H2O あり。
無料のCPU版でも動くが、計算遅い。
GPU版はソフトの購入が必要(400万)。

2-2-2.SageMaker
コードを準備する必要あり。
=問題に応じて自由にスクラッチ可能。
=汎用性を持たせるのは困難

2-2-3. Machine Learning
H2O ライクでお手軽。
データは 100GB まで。
ロジスティック回帰のみ。

思いつくのはこの程度。本当はまだまだ選択肢(と正解)があるのでしょう。
傍にプロが欲しい。

2018年12月30日日曜日

SAR + 機械学習

土木分野において、SAR の認知が広まりつつあるようです。

 PS-InSAR を利用した変位観測を示す文献もちらほら。例えば以下。
古関潤一
道路土構造の維持管理の効率化のための干渉SARによる変状調査方法
地盤工学会誌 66 2018

国交省「社会インフラのモニタリング技術活用推進検討委員会」で SAR を用いた技術開発案が複数採り上げられていますので、認知が広まってきたのでしょう。http://www.mlit.go.jp/tec/monitoring.html
河川堤防では日本工営さんが特許をかけようとされています。が、認められるのでしょうか?せっかく芽吹きそうな分野ですが、広まる前に芽をつぶすことになければよいと思います。ま、従来からあるPS-InSAR や経産省のコンペに出ていた機械学習による崩壊個所自動抽出には特許をかけられないと思いますので、個人的には影響ないでしょう。


近年は、SARデータに機械学習を組み合わせるのが流れのようです。例えば、以下。

山谷 祐貴ほか
CバンドSARデータを利用した 機械学習アルゴリズムによる圃場の作物分類
写真測量とリモートセンシング 56(4), 143-148, 2017
Random Forest 利用

郷右近 英臣ほか
TerraSAR-X画像の機械学習による津波被災地の自動検出
土木学会論文集B2(海岸工学) / 69 巻 (2013) 2 号
Logistic function、SMO(SVM)

支倉 一磨ほか
光学衛星画像とSAR画像の統合解析による東北地方太平洋沖地震の津波浸水域抽出手法の検討
生産研究 / 70 巻 (2018) 4 号
決定木

災害前後 SAR 画像と DEM データを用いた CNN による土砂災害検出
人工知能学会全国大会論文集 / 第32回全国大会(2018) 
CNN、転移学習(ImageNet)

大野 翔平
多偏波 SAR画像を用いた自己組織化マップによる自動目標認識法
電気通信大学 修士論文 2015


私も流れに載って年始早々に開催される東京・大阪の研修に申し込みました。残念ながら大阪は外れましたが、東京の結果は来てません。当たればいいな。

2018年12月26日水曜日

RAPIDS

第三段階は GPU での機械学習。

環境作成には、手軽な NVIDIA の RAPIDS を選択。Docker コンテナを稼働し、ノートブックを開くと、準備OK。
のはずが、そのままでは流れませんでした。Python 3.7 で作成していたコードでしたが、RAPIDS の イメージは 3.5。微調整が必要でした。

最初に試したのは KMeans と DBSCAN。教師なし学習です。コチラは GPU を使用し、すんなり流れました。OKです。

次は教師あり。XGBoot と KNN。
コチラはダメ。個人的に前者は難しく、後者は Faiss のエラーが取れませんでした。コンテナの example でも同じエラーが出ていましたので、早々にあきらめました。

第三段階は50点。
年内に片を付けたいので、次の段階に進みましょう。


2018年12月24日月曜日

Matplotlib

週末は、昼大掃除、夜 python の生活でした。

数千万行のデータの扱いにも慣れ、図化までは早々に実装できました。が、それをブラッシュアップするのに時間がかかりました。使っていたデータに日本語が入っていたため、それを Matplotlib で表示させるとか、変数への手入力箇所を一元化するとか。Python の能力不足でなく、私の能力不足。ま、初心者ですから仕方ありません。
それでも、データ読み込みから複数の図化、出力まで10秒ほどで流せるようになりました。データ規模に対しては速い方だと思います。

使った中でのお気に入りは MatPlotlib の hist2d。最初は散布図を作成していたのですが、同じデータで縦横のビン数を指定すると2Dヒストグラムにしくれます。賢い。
そこから値を抜きだし、演算して新たなデータフレームを作成。pcolor 等を使えば同種の絵ができます。気を抜くと1行・1列少なりますが、そこさえ対策しておけば使える機能です。

まだ(私の能力不足で)使えない機能が山ほどあり、展開も速く、マスターするには道のりの長い言語になりそう。
ま、テストとしての第一段階(CPU での機械学習)、第二段階(大規模データの取り扱い)は終了しました。次の段階に向かいましょう。


2018年12月21日金曜日

巨大CSVファイルの操作

5000万行以上の CSV データを取り扱い。

ファイルサイズは 13GB 程度。
ひとまず、手元の Ubuntu + Python + Pandas で読み込もうとしましたが、途中でメモリ実装分の 24GB を超えたため中止。何も指定せずに取り込んでも大丈夫だろうと安易に試行しましたが、ダメでしたね。
調べてみると、分割読み込み、for ループを利用した分割ファイルの一括操作など、メモリに載らない巨大データの取り扱い方法はありました。が、今回はWin10 に帰り EmEditor で不要な列を削除。半分程度の容量に落とし、再度 Python へ。
今度は読めました。

データフレームにしてしまえば、あとは速い。
describe で簡単な統計量を表示。最小値、最大値等で異常値を確認し、その値を含む行を削除。Nanを含む行も削除。それらのチェックを各列を対象に数度回繰り返せば、4000万行程度になりました。EmEditorだと削除だけでも時間かかりますからね。このあたりは Pyhton + Pandas 様サマ。ありがたい。

できたデータは hdf5 で保存。容量が減って、次回からのアクセスも早くなりました。
これ、今後のデフォにしましょう。

*****************************************************
20181230追記
DASK を試しました。
途中の表示は速いのですが、最後にcsv保存しようとすると、メモリーオーバー。
hdfだと時間はかかるものの保存できました。が、18GBに。なぜ?

2018年12月19日水曜日

Fortran とEXCEL

先輩が Fortran で SCE-UA を改変されていました。

ちょうど EXCEL で作成したタンクモデルの最適化シートのチェックができると思い、お手伝い。RMSE にペナルティを与える箇所だけ修正し、返しました。

Fortran の SCE-UA と EXCEL のソルバーを比較すると、RMSE ベースでは似たようなもの。見た目はどちらもそこそあっていますが、昔の方が見られるとおそらく嘆かれるような出来(RMSE を選択する時点で嘆かれるかもしれませんが)。やはり、データを見て半減期を考えて1段目から合わせていく方が良いように思われます。先輩曰く「データは見たもの勝ち」。よくわかります。

1時間単位で2年間のデータがあったのですが、計算時間は SCE-UA の圧勝。数十秒対数時間のオーダーです。グラフ化まで考えても、長期のデータに対しては EXCEL に勝ち目がありません。短期では手軽でグラフまで描いてくれる EXCEL ソルバー、長期では SCE-UA を選択するのが現状では BEST でしょう。

まだまだ Fortran を捨てられません。

2018年12月15日土曜日

災害と降雨にかかわる文献

たまっていた文献にざっと目を通しました。
※20181230追加しました。

災害と降雨指標

複合土砂災害シミュレータSiMHiSを用いた山間地域における土砂災害の警戒避難情報の提供に関する一考察
山野井 一輝, 藤田 正治
砂防学会誌 / 69 巻 (2016) 6 号
https://www.jstage.jst.go.jp/article/sabo/69/6/69_15/_article/-char/ja/
H26広島土砂災害、H25伊豆大島土砂災害、H23紀伊半島大水害のスネークラインを区分

斜面崩壊の誘因となった降雨の評価手法
小杉 賢一朗
砂防学会誌 / 67 巻 (2014) 5 号
https://www.jstage.jst.go.jp/article/sabo/67/5/67_12/_article/-char/ja/
4つの災害事例において崩壊発生時間には降雨の既往最大値超過
深層崩壊の方が表層崩壊に比べて実行雨量半減期大

RBF ネットワークを用いた土壌雨量指数の確率評価について
五十嵐淳博ほか
平成26年度砂防学会研究発表会概要集
http://www.jsece.or.jp/event/conf/abstract/2014/
100年、50年、30年、10年超過確率の土壌雨量指数は、RBFN出力値0.4、0.5、0.7、0.9に概ね対応

日本列島における土砂災害発生危険性を高めた大雨の空間分布とその地域的特徴―土壌雨量指数を用いて―
瓜田 真司, 齋藤 仁, 中山 大地, 泉 岳樹, 松山 洋
地学雑誌 / 120 巻 (2011) 4 号
https://www.jstage.jst.go.jp/article/jgeography/120/4/120_4_615/_article/-char/ja/
過去10年間のSWIの履歴上位3位以内を更新する降雨を「大雨」と定義し抽出


災害要因の分析と予測

地域への適用性をふまえた斜面崩壊発生確率のモデルとアウトプットの開発
齋藤 洋介, Thuy Thi Thanh LE, 川越 清樹
土木学会論文集G(環境) / 73 巻 (2017) 5 号
https://www.jstage.jst.go.jp/article/jscejer/73/5/73_I_229/_article/-char/ja/
多重ロジスティック回帰(標高・斜面傾斜度・表層土壌・降水量)
250×250mまでダウンサイジング
空間解像度の細分化により地形的要因の影響が高まる
動水勾配0(水の影響を考慮しない)場合、発生確率の高い地質の序列は崖錐、凝灰岩、泥岩、花崗岩、礫岩、安山岩
泥岩は動水勾配の上昇に対して鈍感

数値地理情報と降雨極値データを利用した土砂災害発生確率モデルの構築
川越 清樹
自然災害科学 27(1), 69-83, 2008-05-31
https://ci.nii.ac.jp/naid/110006812761
地質4区分(崩積土・新第三系・古第三系・花崗岩)
多重ロジスティック回帰(地質・起伏量・動水勾配データ(降雨・浸透流))
土砂災害発生確率モデルを構築
再現期間10年の土砂災害発生確率は急峻な山岳地が中心
中国山地の山裾部でも高い地域あり
解像度1kmの発生確率は50mの発生確率と概ね同値

ロジスティック回帰分析を用いた土砂災害発生危険基準線の確率的評価
篠崎 嗣浩ほか
土木学会論文集F 66(1), 122-131, 2010
https://ci.nii.ac.jp/naid/130004468701
災害発生時刻以前で最も小さいRBFN値
・ピークと発生が一致・・・ピークのRBFN値を採用
・ピーク前に発生・・・発生前の最小値を採用
・ピーク後に発生・・・ピークのRBFN値を採用
ロジスティック回帰によりRBFN値を確率値として表示

機械学習を用いた1kmメッシュごとの斜面崩壊に対する危険度評価
https://ci.nii.ac.jp/naid/40021669817/
伊藤 真一ほか
地盤工学会誌 66(9), 8-11, 2018-09
いくつかの機械学習手法を利用し、崩壊・非崩壊を教師として学習。GBMの予測性能が良かった。

土砂災害発生に関わる降雨規模と地質の関係分析
国土交通省 国土技術政策総合研究所 池田ほか
http://www.jsece.or.jp/event/conf/abstract/2017/pdf/518.pdf
・降雨・土砂災害・地質の情報をすべて 5km メッシュ単位で整理。
・土砂災害発生状況には、土砂量や崩壊地形などを網羅的に精度良く整理することが困難であるため、土砂災害の発生件数で整理。
・降雨データには、解析雨量・土壌雨量指数・Surface データを用いた。各メッシュにおいて、1988 年~2007 年の土壌雨量指数および RBFN 出力値の最大値(最小値?)を整理し、 2008 年~2014 年でその最大値(最小値)を超過する降雨を 抽出し、これを履歴順位 1 位相当の降雨とした。
・地質データには、20万分の1土地分類基本調査の結果を用いた。指標には岩石区分を用いることとし、メッシュに複数の岩石区分が含まれる場合 は、面積割合が最も大きい区分を代表区分とした。
・①RBFN 履歴 1 位降雨では複数の土石流が発生するポテンシャルが高いこと、 ②SWI履歴1位降雨とRBFN履歴1位降雨で災害が発生しやすい岩石区分が異なることが示唆された。また、③履歴順位 1 位相当の降雨では西日本の方が災害発生率が高い場合が多く、東日本と西日本で履歴順位のもつ意味が異なると推察された。


土砂災害警戒情報の対象とする災害

最近の豪雨による土砂災害と警戒避難強化に向けた取り組み
岡本 敦
平成30年度(公社)日本地すべり学会総会およびシンポジウム
https://japan.landslide-soc.org/symposium_index/symposium_symposium.html
基準雨量設定の対象とする現象は「土石流及び集中的に発生するがけ崩れ」
「集中的に発生するがけ崩れ」とは、土壌雨量指数が一定以上になった場合に一連降雨のピーク付近で、一定の範囲で発生する崩壊として定義。

都道府県と気象庁が共同して 土砂災害警戒情報を作成・発表するための手引き
国土交通省水管理・国土保全局砂防部・気象庁予報部
 平成17年6月 平成27年2月改訂
http://www.mlit.go.jp/river/sabo/seisaku/tebiki_h2702.pdf
土砂災害警戒情報は、個別の災害発生個所・時間・規模等を特定するものではない。
土砂災害警戒情報の基準設定は、一連の降雨のピーク付近で、ある一定の範囲で発生する急傾斜地の崩壊土石流が発生した際のデータ等に基づく。
降雨に関係なく発生する散発的な急傾斜地の崩壊は発表対象でない。
深層崩壊等も発表対象でない。
地すべりも発表対象でない。(国や都道府県等が個別箇所毎に実施する移動量等の監視・観測等の調査結果等に基づき、 市町村が避難勧告等の発令の判断をする等が原則。)



 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
全国的には雨だけで災害発生・非発生を区分できません。履歴1位に近いほど災害発生の危険性が高いというのも半分正解で、半分間違いでしょう。根拠データを見せてほしいところです。
残念ながら、現段階では全国を網羅した質の良い「災害発生データ」「崩壊データ」等はありません(文献の中にはその指摘もありました)。したがって、議論はいくつかの仮定や災害の定義、あるいはローカルな話題に絞られています。
まずは、質の良いデータを全国的に収集できるシステムを整備すること、ターゲットを「災害」にするのか「崩壊」にするのかを絞ること、扱う「災害」の定義を明確にすることなどが先決です。
多次元を扱える機械学習は予測に必要ですが、データの質を上げることの方が予測精度向上に効果的でしょう。

2018年12月13日木曜日

フレーズ

専門分野の技術資料は英語でも読みますが、それだけです。
専門分野外や日常生活に出てくる英語はわかりません。

Darren Cook「Practical Machine Learning with H2O」では、時折わからないフレーズが出てきました。


call it a day

black swan

It sure is trendy

cut to the chase

dive into

spoil the party

jump straight in

suck all the marrow out of

on a hunch

socially awkward


英語を使う環境にあれば自然と覚えられるのでしょうけど。
日本語も拙い年寄りに、今から実装するには難しい。

2018年12月11日火曜日

S波速度はN値から?

設計者より質問を受けました。
「PS検層(ダウンホール)結果とN値からの推定で、表層部のS波速度が合わない。なぜ?」

なぜ?と問われても、知らない現場の話です。一般論を伝えました。

・盛土の不均質性
本試験30cmのN値は不均質性の影響を検層よりも受けやすい。

・手法上の問題
ダウンホールではoffsetが必要。表層は深さ方向の速度でない。

・補助的な探査
上記の理由により、補助的な探査を実施する場合がある。

・技術者のミス
初動走時の認定ミス。

個人的には、検層のS波が正解で、N値のばらつきが推定誤差の原因と判断すべきと考えます。平均的でないN値からS波速度を推定しても一致するわけがないのです。


先日、物理探査学会のH30講演論文集を読んでいて、それと同じことを発表されている方がいらっしゃるのに気づきました。

稲崎富士「PS検層をめぐる技術的課題(その3)S波速度データの活用と地盤物性との関連性検討」
「N値10の場合、Vsが100~350m/sの間でばらついており、推定精度が低いと言わざるを得ない」という趣旨のの指摘を受けた。
これに対し筆者は上述の標準貫入試験に関わる重大な問題点の存在を指摘するとともに「Vs200m/sの場合N値が2~50程度の間でばらついており、N値の測定精度が極めて低いことが端的に示されている」と反論した。
うまい表現だと思います。N値信仰もほどほどにしないとダメですね。

この論文のほかにも、手法の比較や信頼性の表現についての発表が掲載されていました。まだ数年はPS検層にかかわる検討を続けられるようですので、今後の報告を楽しみにしておきましょう。

タンクモデル その3

菅原正巳「続・流出解析法」1979年

自動最適化の話がメインです。というか、そこに至るまでの経緯が書かれていました。

序文にて悲しみに共感、読み始めて考え方に共感。人物像にひかれて googling すると、2011年に鬼籍に入られたようでした。

技術図書というよりか、読み物として面白かったです。
以下、印象に残った個所です。

p41
絶対誤差では流量の大きい箇所で大勢が決まってしまう。
相対誤差の利用: √((log推定流量ーlog実測流量)^2の平均)
p113
これは、ペナルティ関数で対応していた問題です。
誤差関数の選択肢は試してみましょう。

p67
自動最適化プログラムは試行錯誤法で十分良いパラメータが得られた後に用いるものである。
p69
試行錯誤が不十分な段階で自動最適化を行うと、あるいは収束しなかったり、非現実的な解に収束したりする。
p102、103
タンクモデルのパラメータはかなり鈍感で、かなり異なったパラメータの組が、似たハイドログラフを与えるのである。
これも心当たりがあります。妥当な値に収まるよう、探索範囲に制限をかける作業が必要でしょう。

p73
3段目タンクは15日とか1月を単位とし、4段目タンクは6か月とか1年を単位として入出力を解析する。
妥当な値の範囲として使えます。

p76
(α0+α1)が減衰の仕方を決める
α0:α1が流出量を決める
先日覚えた根本的な理論ですね。

p78、p97
出発モデル
気象庁のモデルと共に、出発点として使いましょう。

p105
最適解が得られることは審美感を満足させるし、実用上からは説得に便利であるから、重要視されるのは無理もないが、ある種の最適解は不安定で、条件や評価法のわずかな変化により、大きく揺れ動く。最適解と大差がない多くの解が広範囲に分布しているときは、前提条件や評価を少し変えることによって、最適解が広い範囲を動き回るのである。
 難しいですね。
p143
私には、自動化は現代の必要悪の一種に思われる。自動化によって、人間の考える自由、したいことをする自由、ものを創り出す喜びが失われ、感受性、判断力、行動力が失われていく。便利や、省力化の代償として、失われるものが時としてはあまりに大きいことがある。
この自動化プログラムを、試行錯誤法の際の一つの道具として使うことにより、人間の思考力、洞察力、感受性などが損なわれることなしに、能率が増進することになれば、手間が省けることにより、パラメータ探し以外の、大切な水文学的問題に、人間の思考力、洞察力、感受性等が向けられることになるならば、私としてはこれに過ぎたる幸せはないし、またそうなることを切望している。
前半は「流出解析法」を読んだ際に痛感させられた内容です。
最近読んだ文献では、パラメータの全自動最適化のみでなく、段数や横孔数といった構造まで自動で求めようとしていました。時間を作るために自動化されたものが、素人に考えるチャンスを奪ってしまう道具になりかねません。
後半は、まさにその通り。考える時間を生むために省力化を図るのであって、大量消費・高速処理自体が目的になってはいけません。これはすべてに共通する考え方です。

この方の話、直接伺ってみたかったですね。

2018年12月9日日曜日

タンクモデル その2

菅原正巳「流出解析法」

この図書の出版が1972年(昭和47年)。直列貯留型ができたのは1956年(昭和31年)。
当時、タンクモデルは手計算とか、手回し計算機?が主流のようで、後半は OKITAC?とかが使われていたようです。いずれにしても、多変数を数秒~数分で最適化できるような能力はなかったでしょう。

ではどうしたか?

人の能力は大したもので、経験である程度のパラメータのあたりをつけることができたようです。そのうえで調整を行っていたらしい。この図書にはその手順が書かれていました。昔の人は本当にすごい(作ったEXCELツールが、なんとも薄っぺらく感じます)。
幸い、丁寧にまとめられていましたので、その理論・ノウハウ等は理解できました。ありがたいですね。案外簡単なので、1段目くらいは私でも大丈夫でしょう。

あたりをつけて EXCEL での探索範囲を絞ったり、経験上の値と照らし合わせたり、異常な結果が出ていないかチェックしたり。これでまともな計算ができそうです。
いえ、危なかったですね。




2018年12月8日土曜日

タンクモデル

タンクモデルのパラメータ最適化に、SCE-UAでなく、EXCEL ソルバーを使おうと考えました。

理由は「簡単だから」&「文献であったから」。

わざわざプログラミングしなくても、大域的最適解(らしきもの)をソルバーで求められます。四則演算のみで負荷のかかる計算ではありません。VBA も必要ないので、ペナルティ関数やタンクの段数、横穴の数などカスタマイズが容易になります。パラメータ推定が終わればグラフも自動で更新されるので EXCEL の方が数段便利。

気象庁のホームページに3段の式とパラメータがあります。まずはこれを手本に組んでみました。が、タイムステップの取り方がイマイチわかりにくい表現になっており、また配信されている土壌雨量指数は補正がかかっているので、正しく組めているのか検証できません。
何か検算できる資料はないか、と古い資料「流出計算例題集2」を引っ張り出してきました。が、この計算例も時間の取り方が怪しい。

ま、基本に返りましょうと、菅原正巳「流出解析法」を見直し。というか、以前は眺めただけでしたね。数式部分を少し補足しながら書き下しておきましょう。


*********************************************
降雨を0とすると貯留高Sの時間変化(減少)は
-dS/dt=αS+βS=(α+β)S

λ=α+βとおくと、放射性元素の半減期と全く同じ式となり、変数分離型の解法が使えます。
-dS/dt=λS
-dS=λSdt
∫(1/S)dS=-λ∫dt
lnS=-λt+c

t=0のときS=S0とおくと
S=S0e^(-λt)
S0=e^c

半減期t=TのときS=S0/2で
1/2=e^(-λT)
2=e^λT
ln2=λT
T=0.693/λ

つまり、(α+β)によって半減期が決まる。
というか、タンクモデルは指数関数型で多段の場合はその重ね合わせになっているのね。今まで理解していませんでした。


Δtにおける貯留高の変化は
S0-S0e^-λΔt
=S0(1-e^(-λΔt))

Δt当たりの流出高は、マクローリン展開で
S0(1-e^(-λΔt))(α/λ)
=αS0(1/λ-(e^(-λΔt)/λ)
=αS0(1/λ-(1-λΔt/1!+λ^2Δt^2/2!-λ^3Δt^3/3!・・・・)/λ)
=αS0(1/λ-(1/λ-Δt/1+λΔt^2/2-λ^2Δt^3/6・・・・))
=αS0(Δt-λΔt^2/2+λ^2Δt^3/6・・・・))

α+βやΔtが小さいときは2項以下を無視して
≒αS0Δt

単位時間当たりの流出高の変化は
≒αS0

ってことでしょう。実測流量にあわせこむ際には、数項分の影響を考慮したαが得られるということ。
***********************************************

理屈では、タイムステップの取り方に間違いはありません。組み込みの際のミスチェックに何らかの検証は必要ですが、ひとまず、ペナルティ付き・1~4段タンク・最大18パラメータの最適化付き EXCEL シートができました。


2018年12月6日木曜日

多変量正規分布

確率密度関数を扱っていて、ふと思いつきました。

「今取り扱っているデータの分布って、2次元正規分布で近似できるのでは?」

早速、EXCELで組んでみることに。

っと、式がわかりません。1次元の確率密度関数を掛け合わせて、回転させるだけだった?と思いながら検索。

ありました。高校数学でした。orz
多変量正規分布の式。これの最も簡単な形が1次元ですね。

まずはテスト。
シート1に2次元正規分布の値を計算で入れます。
シート2に別の値。
シート3に誤差。
目的変数は RMSE にしました。
シート2で使用したパラメータ6つをソルバーで解くだけ。簡単。

結果は完璧。
正規分布は正規分布で完璧に近似できるというだけのチェックでした。
で、実際のデータ。

結果は惨敗。
正規分布ではなかったということ。
他の確率密度関数で試してみますか。


2018年12月5日水曜日

Win10 + Ubuntu + Fortran

windows10 で Fortaran コードを編集・コンパイルしたいとのこと。

少し古い方に相談されていたみたいで、Cygwin + gfortran を進められていました。が、Cygwin がうまく入らないとのこと。
それなら、ということで Windows Subsystem for Linux をお勧め。Windows10 に Ubuntu を入れ、gfortran を使えるように。

フォルダ・ファイル等の permition の変更、ディレクトリの表現に気を付ける必要はありますが、Win とのファイルのやり取りは容易。Win からファイルを Ubuntu の home/ユーザーフォルダ内に移動して、コンパイル。そのまま計算して結果を Win +EXCELへ。

ま、ちょっとした計算ならコンパイラーを買うまでもないですし、デュアルブート を構築することもないでしょう。
Win10では、ずいぶん手軽になりました。

2018年12月3日月曜日

Amazon SageMaker

SageMaker の ハンズオンに参加。

内容は初心者向けでしたが、私には非常に効果的なレベル。というかギリセーフでした。半年前なら全く理解できていなかったでしょう。
参加者の顔ぶれを見ると働き盛りの若い方が多く、健全な分野と感じます。講習会といえばおじさんばかりの建設業界の異常さをあらためて認識させられました。

以下、備忘録です。
****************************************
フロー
①Sagemaker で開発
②Dodker 利用で学習環境に移行、学習、API化
③推論は API 利用
開発・学習はSagemaker、推論はオンプレミスというように、部分利用可


アルゴリズム
①AWS ビルトイン利用
・学習データのみ
②TensorFlow 等、一般的なモデルを使用
・学習データと開発したコードが必要
・Docekerでコンテナ作成
③それ以外
・学習コードと推論用 Web サーバが入ったコンテナを ECR に push
・学習データは S3 へ


開発と学習・・・データサイエンティストが SageMaker SDK を使ってJupyterで。
デプロイ~推論・・・機械学習と関連のないエンジニアリングが大半・・・インフラエンジニアが AWS SDK を利用
役割の違うチームがそれぞれに合ったツールを利用


ビルトインで気になったアルゴリズム・・・Image Classification(教師あり)
・ゼロからトレーニング or 大量のデータを用意できない場合に転移学習を使用
・ResNet を使用。
https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html


学習時のTips

・分散学習
instance_count を2以上で自動で分散学習
⇒基本はデータを分割
Tensorflow/Chainer/PyTorch/MXNet → instance_countに加えてコードも分散学習に対応させる必要あり。

・ハイパーパラメーターの自動チューニング
Estimater 初期化時に hyperparameters で引き渡すパラメータに関し自動チューニング
Tensorflow/Chainer/PyTorch/MXNetでも利用可

・学習ジョブの評価
CloudWatchLogs、後から集計

・Tensorflow
AWS 側で Tensorflow の分散学習に最適な Docker コンテナイメージ用意
https://github.com/aws/sagemaker-tensorflow-container

・大量データの読み込みにpipeモード
PIPE:学習用データを必要なタイミングで必要な分だけ S3 API 経由でストリーム処理
Tensorflow : TFRecord フォーマット
MXNet : RecordIO フォーマット


推論時のTips
・オートスケーリング
・Tensorflow
AWS 側で Tensorflow の推論に最適な Docker コンテナイメージ用意


セキュリティ
学習時の入出力データ、インスタンス、ストレージ、バッチ推論時の入出力データは暗号化可能

amazon-sagemaker-examples
https://github.com/awslabs/amazon-sagemaker-examples
SageMaker SDK
https://github.com/aws/sagemaker-python-sdk

出席者
Tensorflow 半数
次いでChaneir 、Keras
Pytorch 0
MXnet 0


不要な課金を避けるため、
エンドポイントの削除
ノートブックの削除
※停止でも良いが、S3に保存したデータは課金される
s3の削除
ログの削除
※ログは微々たるもの。置いたままでもOK
※トレーニングジョブは課金対象でなく、日がたつと自動で削除される。
ロールを削除
※課金対象ではない。




2018年11月29日木曜日

AWS 新サービス

昨日、AWSを触っていて、新サービスが増えていることに気づきました。

小さなロボットの制御ができるのでしょうか?楽しそうです。
AWS RoboMaker
https://aws.amazon.com/jp/blogs/news/aws-robomaker-develop-test-deploy-and-manage-intelligent-robotics-apps/

災害発生時に衛星へ命令し、データを取得し、SageMaker のモデルに渡して崩壊個所を自動検出、といったことができそうです。衛星を持っていない個人では使えないのでしょうか?
AWS Ground Station



他にも様々な発表があったようです。機械学習関連はコチラ。

Amazon SageMaker Neo
https://aws.amazon.com/jp/blogs/news/amazon-sagemaker-neo-train-your-machine-learning-models-once-run-them-anywhere/

AWS マーケットプレイスで機械学習アルゴリズムとモデルのパッケージを提供開始
https://aws.amazon.com/jp/blogs/news/new-machine-learning-algorithms-and-model-packages-now-available-in-aws-marketplace/

Neo はマスターしたいですね。
変化についていくのは大変ですが、頑張りましょう。

as a service

GPU, CUDA, Docker,  など、3時間ほどいじってあきらめたことが、SageMaker なら30分でできました。

うーん。やはり'サービスとして'提供されているものは利用すべきなのでしょうか?心が折れそうになりますが、早々に結果を出せる環境があるなら実務で利用しない手はないでしょう。

Amazon、Microsoft、Googleなどの tech giant が提供するクラウドサービスにより、上記の流れは加速するでしょう。新たなビジネスモデルについていかなくてはなりません。

2018年11月26日月曜日

地質は何?

「地質を説明して」と言われることがあります。

地質屋さんに聞かれた場合は時代と岩種、話の流れで構造を答えておけば問題ありません。が、土木分野での「地質」は広い意味で使われています。

土木分野での「地質」
・岩種(これは地質屋の尋ねる「地質」と同じ。)
・構造(様々なスケールの断層、亀裂、流れ盤なども「地質」です。)
・風化の程度、硬軟(軟岩、硬岩、風化土なども「地質」です。)
・沖積層・洪積層(これは「地盤」にも含まれます。)

力学や透水性といった工学の要素を含んでいる説明が、理解されやすいようです。馴染んでいるのでしょうね。

話しているうちに一つの事象にとらわれ、他の「地質」が頭から離れることがあります。問題解決にはすべての視点、スケールが必要です。何度も振り返りましょう。


2018年11月25日日曜日

pandas

90万行×3列の csv データの処理。

後輩君が EXCEL で開いたものの、ピボットテーブルすら作成できなかったとのこと。もう一方が VBA にて処理するも、10万行くらいでフリーズするとのこと。
32bit 版だから、と思っていましたが 64bit 版でもダメ。ま、大きなデータをEXCELだけで処理しようとすること自体が無謀なのでしょう。

今回はヒストグラムを見たかったので、python+pandasで処理(実際はmatplotlibをpandasからcallしているようです)。
EXCELシートを読み込んで、ヒストグラムとサマリーを作成。ピボットテーブルを複数作成し、集計・演算を経て、EXCELデータとして保存。
ピボットテーブルの作成では、全データを複数の項目で整理しようとしたケースのみ時間がかかりました。ヒストグラムの作成や演算は軽い。
一番時間がかかるのは、書き込みですね。HDF5 だと速いのですが、EXCELへ持っていけません(書き出せないデータもありましたが)。

pandas を追加するだけ。pandas 偉い。

2018年11月24日土曜日

CNN

大量の画像データから、自動かつ高精度で異常を抽出できると、見逃しリスク低減に役立つでしょう。

ここ数日、画像を取り扱う機械学習手法について調べていました。2012年頃から深層学習による成果が報告され始め、フレームワークの整備され始めた2015年ごろから急速に増えているように感じます。現在、画像を扱う「教師あり学習」では 何らかの形で CNN を利用した手法がデファクトスタンダードになっているといっても良いでしょう。

医療分野においても CNN 全盛です。Medical Image Analysis での CNN の検索本数は以下の通り。

2018 50
2017 32
2016 2
2015 2

マンモグラフィーの画像を扱った例です。
Faster R-CNN
CNN、転移学習、アンサンブル
https://medium.com/stanford-ai-for-healthcare/deep-learning-goes-pink-474c08a77c92

リスク低減手法は多々あると思いますが、その有効な手段の一つにしたいですね。

2018年11月18日日曜日

SCE-UA

報告書を2つ書き上げて、一息。
やるべきことがたまっています。

to-do list
・機械学習手法の特徴整理
・VisualSPHysics・・・ようやくtutorial ができました。
・文献収集・・・医療系画像診断の自動化など
・sagemaker
・タンクモデル、SCE-UA

最後の項目は最適化手法の一つで、タンクモデルで使われてきたようですね。
一連降雨ではピーク以外の時間も多く占めますので、 RMS 最小化の対象になり、ピークがなまってしまうようです。改善するには重み付けが必要です。それを実装した文献はすぐに引っ掛かりました。
杉原他ほか「SCE-UA法を用いたタンクモデルの構築と. それを用いた土砂災害発生危険基準線の設定」
https://www.jstage.jst.go.jp/article/jscejsp/67/1/67_1_1/_pdf
ペナルティ関数(といってもただの重み)を手動で追加しているだけですが、これなら一気に複数の一連降雨、ピークに対して最適化が可能です。理論的ではないですが、実務向きです。

CLによる空振り低下を狙うのに、まず流量を合わせに行くのは手法として正しいのかわかりません。土壌雨量指数の推定精度が改善することと、空振り率低下には理論的繋がりがないからです。現行では、土壌雨量の推定精度が甘くても、CLの選択で調整すればよいでしょ、とも言えます。が、この文献で扱っているケースでは改善していました。たまたまなのか、一般化できるのかはわかりませんが、ある地域に限定すると、その傾向が得られる可能性を示していると思われます。

近年の降雨を用いた RBFN 値の更新とCLの再設定は必要ですから、それらと合わせて土壌雨量指数の精度向上進める手はあると思います。また、この手法であれば自動更新も可能ですよね。今後に期待しましょう。


2018年10月30日火曜日

AI とリスク管理

「AIビジネスの法律実務」人工知能法務研究会

AIに起因する問題の想定と法的責任、その対応について、ざっくりと書かれていました。リスクマネジメントです。新技術によるリスクの想定、リスク対応です。

扱うデータの著作権等を考えたことはありますが、それを利用して出てきた結果や生み出されたモデルの著作権、あるいはそれらが被害を与えた場合の法的責任については考えていませんでした。手落ちです。

自動車メーカーの自動運転に対するリスク管理は大変ですね。当然、実施されているでしょうし、対策も取られたうえで参戦されているのでしょう。リスクは多くても、管理がうまくいくと無事に利益を生み出せる、魅力的な分野なのだと思われます。生き残るためには必要に迫られている面もあるのでしょう。

土木分野でも「AI」を利用する話題を時々聞きます。が、自動車業界ほど真剣に取り組まれていません。どちらかというと、バズワードとなっている感があります。土木のことはわかっていてもデータサイエンスはわからない方々がほとんどで、そのプロとも交流のない、これからの分野なのでしょう。少子高齢化、働き手減少への措置としてロボット活用は叫ばれていますが、自動車業界ほど危機に感じていない executives が多いのかと思われます。

おそらく、土木分野へのAIの波には、技術より営業や財務といった非技術系の部署の方々が先に取り込まれていくでしょう。その場合、図書に書かれていたように、経営の観点からは社内規定や契約のありかたが問題になるでしょうね。
リスクマネジメントやAIにリスクを感じていない executives では、リスクが発現してから「どうしよう」になるのでしょうか?近い将来のことです。

2018年10月28日日曜日

AWS その2

Docker を入れてから気付きました。

「H2O の公式イメージがない」

無料枠のインスタンスでは GPU がついていませんので、Deep Water は無意味。開発も中止されているようですので、今後の実務での運用も期待できません。
公式には、AWS 用に Cloud Formation を利用したテンプレートが用意してありました。が、これも無料枠内のインスタンスは含まれていないようです。

Docker より Cloud Formation を利用した方が簡単で早い、というのはわかりましたが、AWS 初心者ですので、まずはその構成を理解することから始めました。

実際に手を動かしてみると機能や設定すべき項目が予想よりも多くありました。少し甘かったようです。
今回は、以下の設定を行いました。今後、各種インスタンスを立ち上げるにしても、最低限必要な設定でしょう。

・セキュリティ
 MFA, security group
・アカウント
 IAM (group, policy)
・ネットワーク
 VPC (IP, subnet, route table, internet gateway), elastic IP
・仮想マシン
 EC2
・ファイル転送
 WinSCPを利用

オンプレミスであれば、情報インフラ担当部署の範疇。ネットワークを組むなら家でも必要な設定ですので案外ハードルは低いのですが、AWS の仕様に沿って進めるのは初めてで(当たり前)、また関連付けも必要になります。今回は以下の図書を参考に設定しました。
「Amazon Web Services パターン別構築・運用ガイド 改訂第2版」NRIネットコム株式会社

最終的には H2O を稼働させ、外部から計算をかけることが可能となりました。
流れはわかったのですが、いくつか注意点があります。書き残しておきましょう。

まだ、社内ではAWS を導入していません。インフラ担当部署に整備を依頼しても、「やったことないからわからない」とか言われて投げ返されるでしょうね。積極的に関与してくれるプロがそばに欲しい。技術は担当技術だけに注力したいのですが。
ま、ハードの選定や準備、保守管理の手間が省ける(その時間を購入できる)のがメリットと、プラス方向に考えましょう。


2018年10月26日金曜日

石割り

先日、石割りの実演を見せていただきました。

2m角の石が、5cmほどの楔で綺麗に割れました。面白いですね。
割れた面は少ししっとり。観察しても割れた方向の「目」はわかりませんでした。

石工さん曰く、この山は水平方向が一番割れやすいとのこと。じっと見ると、確かに鉱物にクラックが見えます。目がそろっているようです。これはσ3方向、応力解放でしょう。
実際に割るのは、この水平方向ではなく、次に割れやすい南北方向。水平方向にマーキングして、上下方向を合わせて設置し小割するそうです。周辺の山は大体同じ方向で割れやすいとのことですので、応力履歴と関係しているのかなあ、と考えながら見ていました。

そういえば、落石源の撤去現場では石工さんを呼ぶことがあるそうです。先輩曰く、たいていの石は割ることが可能で、小割してモノレールで運び出されるそうです。製品にしない(綺麗に割る必要がない)のであれば、向きは関係ないのかもしれません。

小さな力で綺麗に割る方法を見出した昔の人には感心します。素晴らしい。

2018年10月20日土曜日

AWS

AWS を利用開始。

機械学習では使う必要もないかな?と思い始めていたのですが、他にも必要となる機会は容易に予想されますし、準備を続けてきたこともあって使用することに。

最初は無料枠でできることを体験。
チュートリアル通りに EC2 インスタンスを立ち上げ。色々用意されていますね。Deep Lerning 用に CUDA から各種ライブラリまでインストール済みのタイプも用意されていました。

アクセスは Win10 から。Windows Subsystem for Linux + Ubuntu を利用。
ssh -i ~/.ssh/Key.pem ec2-user@IP でOK。簡単ですね。

ひとまず、立ち上げて、アクセスして、削除するまでの流れはわかりました。
次は Docker を使って動かしてみましょう。


巡検

先日、巡検に参加。

仕事で純粋に地質のみを見ることは皆無。巡検もここ数年はほとんど参加できていませんでした。今年は機会に恵まれ3回目です。

責任感や義務感から解放され、ただ案内されて話を聞いて楽しむ。
秋晴れの中、贅沢な時間でした。

2018年10月19日金曜日

洪積層と更新統

洪積層の液状化について、再度検討。
https://phreeqc.blogspot.com/2018/06/blog-post_88.html

示方書が 洪積層=「概ね」更新統 としているのは、臨海部の2~1万年前の軟弱層を、慣習に外れて洪積層と呼ぶのは不都合という点もあったのでしょう。沖積層・洪積層から完新統・更新統に完全移行できなかった理由の一つと推察されます

この沖積層、洪積層、完新統、更新統の微妙な扱い方は、第四紀学会HPにも記載されています。http://quaternary.jp/QA/answer/ans021.html
なお,沖積低地の構成層である沖積層の基底面は最終氷期の最大海面低下期に形成された不整合面に相当すると考えられ, この最大海面低下期は更新世末期の約2万年頃にあたっていて,日本第四紀学会のホームページ (第四紀の地位と新定義 -完新世の開始期の定義- ) で解説されている約1万年前の完新世と更新世との境界とは若干のずれがあります.このことから,井関(1966, 1983)は, 沖積層の堆積した時期を沖積世とよぶことには意味があると述べており, 現在でもとくに平野部や臨海部の第四紀末期の最大海面低下期以降の堆積物を総称する場合には沖積層という用語が用いられています. なお,内陸部の地層については浅層の河川堆積物については沖積層とよんでも良いと思いますが, それらを構成する砂礫層の下部は最終氷期までさかのぼる場合も多いと考えられるので, 完新統および更新統(最上部)というような表現の方が良いと思われます.
液状化を例にとると、本来は堆積履歴を考慮した補正が必要なのでしょう。基準に載せ得るとすれば、それは地質屋の技量に依存するものでなく、普遍的な指標値を、容易に、安価に得られる試験とバックデータに依ることが必要です。
今の簡易判定を続ける限りは、良くも悪くも地質屋さんの匙加減ひとつということになります。改善の余地が残っているということです。


2018年10月18日木曜日

GEORAMA 2019

GEORAMA を 2019 に UP。

扱うデータによるのでしょうが、個人的な感想は「2018より不安定になった」です。
今回の主な変更点は以下の通り。
  • ようやく計算エンジンが 64bit 化(遅すぎ)。
  • それに伴い大きなデータも扱えるようになったとのことですが、点群など扱うデータの肥大化に追いついていません。残念ながらエラーやクラッシュが少なくなった感じはしませんでした。
  • ボーリングモデルに属性がつくようになった。
  • しかし、CIM ガイドラインにおける XML への属性書き出しや、平面・縦横断モデルへの属性付与には未対応。
まだまだこれからのようです。
他に選択肢ないでしょうか?


2018年10月17日水曜日

ALOS-2 データ

パスコさんが ALOS-2データのセット販売を開始されたようです。
https://www.pasco.co.jp/press/2018/download/PPR20181015J.pdf

利用者の増加を伺わせるような発表です。今年は災害が多かったので、利用された方も多かったのでしょうか?
個人的には災害後の広域の地すべりモニタリングに適用したいと考えていました。が、耐え得るソフトがないため、指をくわえて見ていました(700万、出してくれないですかね)。「SARって何?」っていう方々が経営判断を行いますので、なかなか前には進みません。

一方、16万円/シーンかつ5シーン以上では、パックなのに割高な価格設定のような気がしました。売れるのでしょうか?
経済産業省の「平成30年度政府衛星データのオープン&フリー化およびデータ利用環境整備事業」による「Tellus」でも SAR データを扱うようです。が、パスコさんがこのパック販売を始められたということは、古いアーカイブだけ無料になるのかもしれませんね。
https://www.tellusxdp.com/

いずれにしても、利用者が増えて先に進んでいかれるのを、指をくわえてみているしかない状況です。残念ですね。

2018年10月16日火曜日

Practical Machine Learning with H2O

ここ1週間ほど、以下の図書を読んでいました。

Darren Cook「Practical Machine Learning with H2O」

以前、本屋で買おうか迷い、結局買わずにいました。
が、結局購入。しかも、あたりでした。
今まで、概要、理論、実装を主とした図書を読んでいましたが、これは tuning が主となっています。tuning に理論はなく、主に経験に依ると思います。複数の例を通してその経験を体験できるようになっています。このような図書は希少です。

tuning 以外に驚いたのが、ensemble。
R のみのようですが、独自に手法を組み合わせることも可能なようです。H2O、スゴイ。

複数の言語から選択して実装し、tuning に関するノウハウを持って良質なモデルを見出し、必要な情報を抽出、目的を達成する。こレが可能な方をデータサイエンティスト、データアナリストと呼べば良いのでしょうか?
こういった方、そばに欲しいですね。

****************************************
201811/25追記
データを整理していたら、tuning 内容をまとめていた表が出てきました。片づける前に UP しておきます。


2018年10月7日日曜日

Flask

杜世橋「現場で使える!PyTorch開発入門」を読みました。

興味を惹かれたのが「アプリケーションへの組み込み」。
Python でも、web 経由で学習結果を利用できるシステムを組むことができるとは。知りませんでした。これ、重要な点です。どの言語を利用してシステムを組んでいくかは、出発点ですからね。

この図書ではアプリケーションフレームワークとして Flask を利用されていました。最初は何の役割を担っているのかわかりませんでしたが、読み進めるにつれてなんとなく掴みました。Python だけでここまでできるとは。ついていけてないですね。

一つ理解すると、またわからないことが出てきます。
なかなかゴールにたどり着けませんが、道は見えてきました。
続けましょう。

2018年10月6日土曜日

Jupyter + PyTorch

Docker で Jupyter + PyTorch を動かそうと試みました。

まずは、Nvidia GPU Cloud の PyTorch を利用。
ローカル dir をコンテナ dir に割り当てる。Ver.も指定。
$ nvidia-docker run -it --rm -v /home/Data:/data nvcr.io/nvidia/pytorch:18.09-py3

PyTorch 18.09 は Nvidia driver Ver.390 に未対応。410beta 以上が必要と言われました。410 を入れるため、リポジトリ追加。

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update

$ sudo ubuntu-drivers autoinstall
$ nvidia-smi
入りません。

$ sudo apt install nvidia-410
だめ。
$ sudo apt list --upgradable
410 提供されていません。

無駄足でした。ppaリポジトリ削除
$ sudo add-apt-repository --remove ppa:graphics-drivers/ppa
$ sudo apt update
ついでに
$ sudo apt upgrade
$ sudo apt autoremove

今度は Nvidia に直接取りに行きました。
が、現段階で 410 は GeForce だと RTX 20系 しか対応していないとのこと。最初に調べたら良かった。
https://www.nvidia.com/drivers/results/138299#driverInfo-138299=1

NGC の Ver とマシーンイメージを確認。
https://docs.nvidia.com/ngc/ngc-alibaba-vmi-release-notes/index.html#volta-alibaba-18-98-1
で、18.05 を選択。
$ nvidia-docker run -it --rm -v /home/Data:/data nvcr.io/nvidia/pytorch:18.05-py3
うん、Jupiter 入ってません。

では、Docker Hub から。
jupyter/tensorflow-notebook を入れると GPU 使えません。
pytorch/pytorch を入れると Jupyter 入ってません。
tensorflow/tensorflow を入れると、GPU も Jupiter も使えますが、Python2。

結局、一番簡単なのは、Google Colaboratory でした。時間制限はありますが、環境を汚さない条件では BEST でしょう。ひとまずこれで行きましょう。


**********************************
20181007追記
杜世橋「現場で使える!PyTorch開発入門」では、イメージが紹介されていました。基本、個人でUPされているものは、その確認が面倒です。が、図書で紹介されているものであれば問題ないでしょう。


2018年10月1日月曜日

EXCEL で深層学習

涌井良幸ほか「EXCELでわかるディープラーニング超入門」技術評論社

1日で読めました。「超入門」とあるように、今まで読んだ図書の中では一番理解し易い。
画像に特化しており、畳み込み層やプーリング層のしくみを非常にわかりやすく示されていました。EXCEL を使っているので、直感的に理解し易いのでしょう。

面白いと感じたのは、解釈性の話。
重みに負の値を使用したり、活性化関数に ReLU を利用したりすると画像としての解釈性が悪くなる点は知りませんでした。

最近は実装不要、ハイパーパラメーターも自動調整になっています。今後もその方向で進むでしょう。が、このような基本的な仕組みは理解しておくべきですね。


2018年9月24日月曜日

CUDA Toolkit and Compatible Driver Versions

現段階で、Ubuntu18.04 に自動で入ったドライバーは Ver.390.48。
対応する CUDA Toolkit は 9.1。

ドライバとCUDA Toolkit
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#unsupported-features

Table 1. CUDA Toolkit and Compatible Driver Versions
CUDA ToolkitLinux x86_64 Driver VersionWindows x86_64 Driver Version
CUDA 10.0.130>= 410.48>= 411.31
CUDA 9.2 (9.2.148 Update 1)>= 396.37>= 398.26
CUDA 9.2 (9.2.88)>= 396.26>= 397.44
CUDA 9.1 (9.1.85)>= 390.46>= 391.29
CUDA 9.0 (9.0.76)>= 384.81>= 385.54
CUDA 8.0 (8.0.61 GA2)>= 375.26>= 376.51
CUDA 8.0 (8.0.44)>= 367.48>= 369.30
CUDA 7.5 (7.5.16)>= 352.31>= 353.66
CUDA 7.0 (7.0.28)>= 346.46>= 347.62

NVIDIA GPU CLOUD は、まだUbuntu16。CUDA 9.1もありません。
https://www.nvidia.com/ja-jp/gpu-cloud/

NVIDIA Docker には、18.04対応のファイルがあります。 が、CUDA9.2以上。加えて非公式。
https://hub.docker.com/r/nvidia/cuda/
# CUDA 9.2 is not officially supported on ubuntu 18.04 yet, we use the ubuntu 17.10 repository for CUDA instead.
ドライバーを手動で上げて、9.2を入れようかな?と思いましたが、急ぐ必要もないので公式対応まで待つことにしました。
少し早かったかな?


2018年9月23日日曜日

バズワード

T型技術者の横線を太くするための一貫として、引き続き次の2冊を読みました。

小池和也「Docker 仮想化環境構築入門」
小川雄太郎「作りながら学ぶ!深層強化学習」

Docker の方は、ひとまず半分+αまで。
わかりやすいのですが、半分まで読んだころには頭が一杯。
気になっていた AWS の箇所まで飛ばして読んで、次の書籍に。

深層強化学習の方は、実装主体なので案外早く読み終えました。実際に手を動かしていませんので見えていない部分があるかもしれませんが、思ったより簡単でした。


感想は2つ
・組み込むまでのアイデア捻出が鍵。
実際に運用段階になると、ほぼプログラマーの役割になると思いますが、いかに早く設計方針を固められるかは、技術者側の力量に左右されると感じています。

・クラウド利用に関する選択肢は多い。
AWS を利用するにしても、両者で別の方法が書かれていました。また、紹介されている方法はサービスの極一部です。ある課題を解くために運用する手段としてどの選択肢が最適なのか、私には判断する知識がありません。インフラエンジニアに頼りたいところです。


executives は「AIが必要。」「他はアマゾンでやってるみたいだから、これもアマゾンでやって」などと言われます。が、本来、個人レベルで解決できる類の問題ではなく、複数分野のプロが集まってお金をかけないと、解決できないレベルの問題です。ま、発言のレベルからは、バズワード化して他所に話せる形にしておくだけでも、御満足なのだと推測されますが。
技術者としては、それで終われません。プロに頼れるようになった場合、頼れなかった場合の両方を想定して、動いておきましょう。

2018年9月19日水曜日

パイプひずみ計

はじめてパイプひずみ計を設置。

観測は何度もありますが、設置は初めてでした。

ボーリング孔を利用した地すべり観測では、孔内傾斜計かパイプひずみ計のどちらかが使われています。地域性もあるようです。
個人的には、孔内傾斜計の方が変位量、方向を判断しやすいので好んで利用していたのですが、自動観測には向いていません。
パイプひずみ計は自動観測できるところがメリットです。最近では、孔内傾斜計のアルミケーシングが曲がって観測できなくなった後、ケース内に極細パイプを入れて観測を続けることが可能になりました。これもメリットですね。

パイプひずみ計は、1方向2ゲージで50cmピッチだと、15mで30ch。3インチケーシングだと、これくらいが限界。孔内傾斜計のように4インチケーシング(φ86mmコアチューブ掘削)だと良いのですが、基準に示されていないためお客様が好まれません。

自動観測にのせるにしても、30chの接続には時間がかかります。
モノレールで山の上に自動観測にかかわる資機材を運んでセットし、埋設されたコードを接続し、web上での動作確認を行って撤収するには、最初約3時間/箇所かかりました。慣れてくると2時間くらいで可能になりましたが、思ってたより面倒でした。
設置してしまうと観測に出向く必要がなく、機材や観測者の確保が不要になります。台風通過時~通過後に常時監視できるのは大きなメリットですね。

孔内傾斜計とパイプひずみ計の長所を併せ持つ、東京電機「アルミケーシング型3mパイプひずみ計」というものも販売されています。今回、いくつかの孔でこれを設置してみました。http://www.tokyodenki.com/files/1/%E3%82%A2%E3%83%AB%E3%83%9F%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%B3%E3%82%B0%E3%83%91%E3%82%A4%E3%83%97%E3%81%B2%E3%81%9A%E3%81%BF%E8%A8%88%E3%83%91%E3%83%B3%E3%83%95%E3%83%AC%E3%83%83%E3%83%88.pdf
今のところ、傾斜計ですべり面深度と移動方向を決定、ひずみ計で常時監視、というメリットを享受しています。(長く使えば問題点も見えてくると思われますが。)

今後の少子高齢化、働き方改革?の面からも、パイプひずみ計の需要は増えるかもしれません。アルミひずみ計を含め、動向には留意しましょう。


2018年9月17日月曜日

機械学習環境の更新(Ubuntu18.04)

Ubuntu を 18.04LTS に UP。

クリーンインストールを選択したのですが、ブートローダーの導入に失敗。
Win10 とは物理的に SSD を分けていましたので、Ubuntu の「インストールの種類」を選択する段階で「それ以外」を選択し、Ubuntu のSSD を指定すると、うまく入りました。

①まずは NVIDIA ドライバー。
$ sudo ubuntu-drivers autoinstall
$ sudo reboot
$ nvidia-smi
GPUの情報が出ました。OK。

②Win10 のために時計合わせ。
$ sudo timedatectl set-local-rtc true

③リモートデスクトップは Win側に VNC でなく、Ubuntu 側に XRDPを入れました。手順は googling で得られた通り。重いので、見直すかも。

④Docker、Nvidia Docker
共に18.04へ対応済みでした。手順は4月に入れた16の時と同様。
https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-convenience-script
https://github.com/NVIDIA/nvidia-docker

⑤Deep Water
今回はDeepwater、XGBoost 共に GPU で動きました(1060の1枚刺し状態ですが)。
https://phreeqc.blogspot.com/2018/04/6-deep-water-deepwater.html

Deep Water は、H2O.ai の HP から消えています。開発は終了したのでしょうか?手元で問題が発生しなくなった時には開発終了になっていた、というのも残念ですね。今後を見据え、他のツールを準備しないといけません。プロがいたらインフラからソフトまで準備して頂けるのでしょうけど。

今日はここまで。
ひとまず、寄せ集めの機械学習環境を更新できました。


2018年9月16日日曜日

AI の活用

昨日の NHK スペシャルを見ました。

ウェザーニューズ社の取り組みが紹介されていました。
最近、web では「気象庁の発表より早い」という意見も出ていましたが、それだけ自信がついてきたのでしょうね。

・今年2月よりAIを利用。
・14時間前に7月豪雨の予測を発表
・教師データは雨雲レーダーの画像のみ。
・過去3年分の画像を学習。
・現在の画像を与えて予測。
・予報は250mメッシュ。

防犯、医療分野での活用についても紹介されていました。
正解に近い可能性があるなら情報の一つとして利用しますし、それで結果がついてくれば信頼性が向上し、良いスパイラルにはまっていくのでしょう。

番組では 「AI」というようにざっくり、一括りにされており、具体的な手法・ライブラリ等には触れられませんでした。
また、「ブラックボックス」も協調されていましたね。これはおそらく、output を全て確認できる状態で結果が提供されていないだろうという点と、ノンパラメトリック手法故の解釈性の低下といった点の、2つの要因が含まれていると思われます。地質モデル作成における決定論的手法と統計学的手法の違いにも似ていますね。
実際のところ、何を重視したモデルなのかは、ある程度教えてくれます。個人的には、検討するための材料としては十分なように感じています。

機械学習関連のライブラリや、GUI は自由に使える時代です。素人でも結果を出せるソフトも販売されています。ノンパラメトリック手法を敬遠するのは構わないと思いますが、使えないのはまずいでしょう。両方使える技術者が有利になるのは必然です。


2018年9月13日木曜日

データサイエンス

研修でのお話。

今、求められる技術者はπ型。T型ではダメだとのこと。

なぜか?

AIが登場したかららしい。

ふわっとした答えですが、なんとなく仰りたいところはわかりました。

ま、私の仕事だと、理学(のうち2つ)・工学(のうち2つ)・情報(のうち1つ)くらいは必要なのではないかと感じています。πではなく、T×5。


先日よりT型の横線部分を太くしようと、以下の図書を読んでいました。

久野ほか「大学4年間のデータサイエンスが10時間でざっと学べる」

近年、大学で教えられ始めた「データサイエンス」。統計の延長かな?っと思っていたら、そうでもなかったようです。
授業では、計算を GPU に乗せたり、ライブラリを利用したプログラミング、データベースなども扱われているようです。ビッグデータを扱わざるを得ない状況ですので、その入れ物や入出力の方法についても基礎知識として学ぶ必要があるのでしょう。
もちろん、機械学習や近年のディープラーニングも対象となっています。今まで虫食い状に扱っていた内容が案外網羅されていましたので少し驚くとともに、このような内容を基礎知識として有している学生はありがたい、と感じますね。いまだ「プログラミングできません」「GPUって何ですか?」「データが大きくEXCELで開けません」と言われる方いますからね。問題を解決できないのではなく、解決するステージにすらたどり着けないのは残念。機会の損失リスクへの対応ができていない状態です。

この本で印象に残ったのは、以下の3点。

  • 機械学習とは、学習シナリオ(問題設定)をコンピューターに与え、それを解くように機会を訓練させる方法。(p110)
  • パラメトリックモデル(解釈性が高い)とノンパラメトリックモデル(真のモデルに近い可能性が高い)。(p120~121)
  • ディープラーニング:ネットワークの深層化と大規模化により高い汎化性能を実験的に実現←過学習しやすい問題をビッグデータでカバー←ハードウェアとネットの発展が下支え(p212~215)

今年度も、大量のデータを扱う必要に迫られています。
さくっと解決したいですね。


2018年8月26日日曜日

GSFLOW-GRASS(途中〉

今日は、GSFLOW-GRASS。
https://github.com/UMN-Hydro/GSFLOW-GRASS

extentions のインストールや buildDomainGRASS.py を動かす段階で何度もエラーが出るなー、と思っていたら、間違ってました。GRASS の コンソール画面からインストールするよう書いてあったのに、Win のシェルを使っていました。ま、それでもいくつかのエラーは残りましたが。
最初から GRASS 経由だとエラーは少なかったと思いますが、今後のために書き残しておきましょう。


buildDomainGRASS.py

SyntaxError: Missing parentheses in call to 'print'
https://qiita.com/pugiemonn/items/94ac57ba1b7b03548efe
(Ver.3からは()が必要)

ModuleNotFoundError: No module named 'ConfigParser'
https://stackoverflow.com/questions/14087598/python-3-importerror-no-module-named-configparser
(大文字・小文字の違い)

ModuleNotFoundError: No module named 'readSettings'
(run フォルダー内の readSettings.py を \GSFLOW-GRASS-master\domain_builderにコピー)

Error opening or parsing input file: \GSFLOW-GRASS-master\Run\settings.ini
(settings.ini にリネーム)


まだ、DEMの取り込み中にエラーがかかります。
次回にしましょう。

2018年8月25日土曜日

GMS 動きました

久しぶりに GMS。

動かないと悩んでいたのが2年前ですね。
https://phreeqc.blogspot.com/2016/08/gms.html

今回は J-SHIS で切り出したモデルを GMS に取り込み、震源と観測地点を配置して計算。きっちり動きました。
動かなかった原因の一つは、モデルの大きさ。大きすぎると止まるようです。そこをクリアーすれば、後は容易でした。

単純な横ずれ断層と逆断層の2ケースを計算してみました。が、結果は意外。波動の伝播が思った動きと違いましたね。まだ理解できないのですが、押し引きだけでない理屈があるのでしょう。

ひとます、ある現場においての私の考え方が、単純すぎることが分かりました。
なんとか理解したいですね。

また2年後でしょうか。

2018年8月12日日曜日

接地抵抗

後輩君の仕事がきっかけで、接地抵抗について再度調べていました。

特許申請中の手法を使う必要に迫られているようです。「地下水探査杖」と名付けられた手法です。検索すると基礎地盤さんの紹介が引っ掛かりました。
http://www.chugoku-geo.or.jp/book/export/html/6
接地抵抗を測っているだけのようですが、これ、多層地盤だと判断が難しいでしょう。

サウンディングなら、ロッドの濡れた位置や、試験後の孔に水位計を入れて水位を判断しています。調査深度全体が単層である保証はないでしょうし、しかも特許料を払う必要があるなら流行らないでしょうね。

これ、地下水位だけでなく、不飽和帯の土層変化の指標になるでしょう。含水比の差をサウンディング結果の補足として利用する、そのような使い方ができないでしょうか?
今までは音と感触だけで砂か粘土を判断していましたので、接地抵抗も含めるとより精度が上るでしょう。簡単なモデルを作ってEXCELレベルで計算すれば、正否のチェックもできそうです。これは特許に含まれていないようですので、サウンディングの基準に含められると思います。

機会があれば、試してみましょう。





地すべり管理基準値

地すべり移動速度を用いた管理基準値の例は、地すべり観測便覧や、土木研究所資料 地すべり防止技術指針及び同解説(提案)平成19年9月に多く掲載されています。

他にも、
例をまとめたものがコチラ。

  • 現場に役立つ地すべり工学 4.監視と予測
定常移動速度0.04~1.65mm/h
3次クリープの始まり(速度が増加し始めた時のひずみ速度)1.5~7mm/h
3次クリープから崩壊までの残り時間(避難基準の2mm/hから)20~1000時間
※一般的な警戒避難基準の2mm/h、または4mm/hは3次クリープの始まりとほぼ一致しており妥当。
注意体制2mm/h
警戒態勢(避難準備)2~4mm/h
避難2~10mm/h
目安ですが、値を明記しているのがコチラ 。

  • 道路土工 切土工・斜面安定工指針H21.6
かなり活発な地すべり変動が発生していると判断するための変動量の目安
1mm/日以上が10日以上連続
10mm/日以上が2日以上連続
1週間の累積傾斜量が100秒以上
1週間の平均傾斜量が30秒/日以上
地すべり地内への立ち入り制限を行う目安
2mm/h以上が2時間以上連続
傾斜量の累積が認められ、かつ1日の最大傾斜量が100秒以上
空振りでも良いので、迷わずに避難勧告等を出していただきたいところです。

2018年8月5日日曜日

SNAP + Sentinel-1

SNAP で SARのデータを加工していました。

基本は以下の手順です。
https://phreeqc.blogspot.com/2017/11/interferometry-process.html

SNAP + Sentinel-1の場合、以下の通り。

DInSAR
S1 TOPS co-registration orbit-stack
interferometry
deburst
filter
(unwrap)
terrain correction

簡単なRGB表示
S1 TOPS co-registration orbit-stack
deburst
terrain correction
RGB Image Window

結果はどちらもイマイチ。うーん。やはり、ALOS データと、500~700万のソフトが必要でしょうか?「政府衛星データのオープン&フリー化」は進展ないようですし。
ちなみに、unwrapping は Win10 の Shell 経由で可能でした。snaphu.conf にコマンドが記載されているので、コピペするだけです。こちらも結果はイマイチでしたが。

査定上限額の引き上げ

平成30年7月豪雨による災害が激甚指定されたことで、現地採択の上限が4億→8億に引き上げられました。
http://www.mlit.go.jp/report/press/mizukokudo06_hh_000112.html

これ、過去にもありましたね。その際は査定期間の制限も緩くなりました。

平成30年の災害手帳にも「激甚災害指定の見込みが立った時点」での引き上げルールが記載されています。

速やかな査定・復旧を願いましょう。

2018年7月22日日曜日

災害対応

災害対応、他人事ではありません。
私も呼ばれ、微力ながらお手伝いしています。

先週、混乱のため避けていた地域を通過。危機を乗り越えた後ですが、それでも被災状況をみると胸を締め付けられる思いがしました。私が被災したわけでもないのですが、自衛隊、警察、ボランティアの方々をみるとありがたく感じます。
自治体の方々も、休日ですが対応されています。施工業者はもちろん復旧に尽力されています。

幸か不幸か、私はこれまで災害復旧事業にはマネージャーとして対応したことがありませんでした。プレーヤーとして最低限の知識(2か月ルール、写真の撮り方、測量の仕方、地すべり災とその他の違い等)は持ち合わせていますが、今回はそれだけでは不安。
災害手帳を探すも近年のものは全て持ち出されており、平成26年版しか残っていませんでした。

以下、26年版でおさらいです。(30年版は到着待ちです。)
********************************************
採択要件の基本
1)異常な天然現象により生じた災害であること。
2)負担法上の公共土木施設で現に維持管理されていること。
3)地方公共団体又はその期間が施行するもの。

公共土木施設
1 河川
2 海岸
3 砂防施設
4 林地荒廃防止施設
5 地すべり防止施設
6 急傾斜地崩壊防止施設
急傾斜地崩壊危険区域内にある擁壁、排水施設その他の急傾斜地の崩壊を防止するための施設
7道路
8港湾
9漁港
10下水道
11公園

異常な天然現象による災害の採択範囲
(1)河川災害
警戒水位(氾濫注意水位)以上の水位
(2)河川以外の施設災害
最大24時間雨量80ミリ以上の降雨
時間雨量20ミリ程度以上
(5)地すべりによる地すべり防止施設の災害
(6)地すべりによる地すべり防止施設以外の災害
(7)地震による災害

適用除外
(1)都道府県、指定市で120万円、市町村で60万円に満たないもの
(4)明らかに設計の不備または工事施工の粗漏に起因して生じたもの
特に工事竣功後1箇年以内に被災した施設(いわゆる未満災)
(9)直高1m未満の小堤、幅員2m未満の道路、その他主務大臣の定める小規模な施設(道路の路面30cm程度または側溝のみ等)

その他の適用除外
道路の付属物のみの被災
(道路上の柵または駒止、街灯、道路標識、道路情報管理施設等を除く)
トンネルの照明灯のみの被災
法面処理工のみの被災

事前打ち合わせ
4.測量及び試験費
事前打ち合わせの際、特に調査、測量または試験を必要とする旨の条件を付された場合のみ、査定の際に協議設計(実施保留)とした場合と同様に、当該費用のみ国庫負担の対象とする。
5.資料の準備
1)査定時に被害状況を的確に把握することができる写真等の資料を準備
2)地すべり災害が発生した場合には、事後における地表面の移動の量及び方向並びに地下水道を経時的に観測するための施設を直ちに設けて観測を開始し、事前打ち合わせ時に観測資料を添付する。
3)復旧工法を検討するにあたり、ボーリング等による地質調査が必要と判断した場合は、緊急の場合を除き、災害の規模、予定される復旧工法に応じて有効な箇所で実施し、その実施結果に基づき事前打ち合わせを行う。また、事前打ち合わせを行い査定までに地質調査等を完了しておけば協議設計(実施保留)にならず早期復旧が図れる。

査定
第1 災害査定について
災害査定の実施時期は、被災後2ヶ月以内に実施することを原則とし、遅くとも3ヶ月以内に実施できるように努められたい。
第3 現場の整備
1.標識杭を現場の起終点に、また延長の長いもの(50m程度以上)や横断工法の変更点等には、測点杭を打っておくこと。
2.被災箇所、未災箇所を明確にするため草木等の伐採を行うこと。(査定や工事の支障とならないものについては極力残す)
7.地すべり災害では、その地すべりの区域及び確認しにくい亀裂箇所等には標識等をつけ、復旧施設の位置及び範囲等は、カラーテープ等で明示すること。
8.応急工事を施行する場合には、施工前の被災状況写真がその採否を決定する決め手となることから十分留意し撮影しておくこと。
第8 写真
査定設計書に添付する写真は被災状況ができる限り正確にわかるものでなければならない。
1)災害査定添付写真の簡素化
迅速な災害復旧に資するため、トータルステーションまたはGPS測量により査定を設計図面を作成する場合の全景写真及び横断写真の撮影については、従来の手法に変えて下記によること。
(1)起終点、各測点、および横断側線の端部にのみボールを設置する。ただし、写真では起終点付近の距離や、ポール位置の判別が難しいと考えられる場合には、工夫が必要。
全景写真については、従前のリボンテープに変えて、杭間距離表示及びスケールを添付する。また、設計図面に基づき引出線により必要な寸法(高さ、距離)を表示すること。
2)一般的留意事項
(2)Photog-CADを使用することにより、ポール縦横断写真の撮影が大幅に簡素化できる場合もあるため活用を検討すること。
(3)写真を保管する手段として、測量を記録したビデオ映像や測量成果の3D画像等を活用するなど工夫すること。
(4)机上査定においては、現場の中継映像や録画映像等を活用して説明できるものとする。
(5)写真には、撮影年月日、流水の方向(または路線の方向)、起終点、側点等を朱インク等で記入し、平面図には、撮影位置、方向を記入する。
(10)被災前延長がわかるようにし、起終点には、必ずポール等を立てて撮影すること。
(11)前後施設等の状況が判明できるよう、起終点から上下流(前後)方向の写真を撮影のこと。
(12)撮影に際しては、被災箇所を明確にするため、草木等の伐採を行うこと。
(13)被災状況をスタッフ、ボール、リボンテープ等で表示して撮影すること。特に、亀裂等は、位置、幅、延長、深さ等がわかるようにすること。擁壁等の押し出しによる勾配の変化等については、スタッフ、ボール等で表示して撮影すること。
(16)応急仮工事等に着工する場合は、被災の事実、形状、寸法、数量等が判定できる写真を撮影し確認してから着手すること。特に、起終点については、写真のみでその位置が確認できるよう充分配慮して撮影すること。

復旧工法
第4 地すべり対策
2.地すべり調査
2)査定時までに用意すべき事項等
(1)災害発生の時期、運動速度、降水量、過去の地すべりの経歴、地質、周辺部の地すべり性状等を調査した資料
(2)地形図(縮尺1/500から1/1000)および地滑り縦断図には、家屋、道路、河川、池沼、湿地、田畑等のほか、クラック、滑落崖、段落、窪地、井戸、湧水、調査ボーリング、計測器の位置等を表示する。
3)調査内容
(1)現地踏査
(2)調査ボーリング
奥行き30~100m位までは2本、それ以上の規模で3本以上。
想定されるすべり面下(不動層) 5m程度掘削する計画。
頭部排土や、2次すべりを考慮する場合、背後においてボーリングを実施。
すべてオールコア採取方式(φ66mm)
アンカー等の対策工設計にあたって地盤の強度等を把握する場合は、別孔で標準貫入試験等の調査を実施。
掘り止めについては、地すべりを専門とする技術士、地すべり防止工事士等)の意見を得た上で判断することが重要。
(3)すべり面調査
調査ボーリング後には、必要に応じ孔内傾斜計またはパイプ歪計を埋設する。観測結果は、観測孔毎の柱状図に整理し、特に累積歪量の大きいものは、別に各点毎の歪量変化曲線を作成する。
(4)地下水位の測定
(5)移動量測定
(6)調査結果の整理
3安定解析
1)スウェーデン分割法
2)現状安全率
継続的に運動している場合0.95
降雨等に伴い断続的に運動している場合0.98
運動が沈静化している場合1.00
3)土塊の単位体積重量18kN/m3
粘着力(c):地すべの最大鉛直層厚
内部摩擦角(φ):逆算
4)計画安全率:1.10~1.20
応急工事における計画安全率:1.00~1.05
4、地すべり対策工法
2 )抑制工
(4)横ボーリング工
1本50メートル程度以下。
すべり面を5メートル貫くまで。
すべり層厚20m程度で水位低下3m、安全率の上昇は5%以内。
(4)集水井工
すべり面を貫かない(最低2m程度あげる)。
すべり層厚20m程度で水位低下5m、安全率の上昇は5%以内。
3)抑止工
(1)鋼管杭工
杭間隔 
10m以下 2m以下
10~20 3以下
20以上 4以下
(2)アンカー工
アンカーの極限周面摩擦抵抗とN値
定着長3~10m
自由長4m以上
すべり面より1~1.5m以上
第6 道路
盛土標準勾配
切土標準勾配

2018年7月15日日曜日

物理探査への投資

物理探査には機材が必要です。
高価でも継続的に利益を得られる予測ができていた時代には、比較的容易なお買い物だったでしょう。
その後、利益は右肩上がりから下がりっぱなしの状況に変化し、機材の更新は控えられ、先行投資も食いつぶされてしまいました。
残念ながら私の勤め先では、もう先手を打つ余裕はなく、遅れを補填する投資?になっています。

一方、物理探査学会の5月の講演要旨集を見てみると、多くの研究が掲載されています。物理探査を生業の主体として実施されている会社が中心なのでしょうか?いずれも意気込みを感じる内容です。素晴らしいですね。
「高精度」「3次元」というコーワードが目につきます。気になったのは以下の内容。

・HD(高詳細)トモグラフィ:日本地下探査
初動走時の自動読み取りと不確実性の付与、2D/3D初動走時モデリング、インヴァージョン。初動読み取り時、データの質に応じて不確実性を与えるるところが興味を惹かれます。
・フルウェーブインヴァージョン:日本地下探査
そろそろ実用化?P波走時のみでなく、受振波形全体を利用。S波速度、密度も得られる。
・ハイブリッド表面波探査:土研、応用地質
微動探査と表面波探査のハイブリッド。そろそろ実用化にたどり着いてほしいが、まだ解決すべき問題が残る。今後に期待。
・常時微動トモグラフィ:土研、応用地質
これは初めて知りました。微動計49台はちょっと手が出ません。アレイ同様に7台くらいまで減りませんかね。
・グラウンドアンカー残存引張り力の非破壊評価法:応用地質
残存引張り力の大きさにかかわらず精度が良くなれば、現場作業は軽量になり負担軽減となります。今後に期待。
・マルチコプターを用いた地表ソース型空中電磁探査:ネオサイエンス
UAV利用は必ず出てきますよね。小規模であればヘリを飛ばす必要がなくなります。実用化にたどり着いて欲しいところです。

残念ながら、私たちの世代は後追いになってしまいました。が、次世代には責任を持たなくてはなりません。次世代が困らないよう、予算を確保し経験を積ませる機会を生む努力が必要と感じています。

ハザードマップとバイアス

先週の西日本豪雨がトリガーとなり、ため池が決壊or決壊の危険性が続いている報道を見ました。

中には、上流の崩壊土砂がため池に流入した後に破堤したものもあったようです。そうなると、土石流に近くなるのでしょうね。
自治体はため池が決壊した場合のハザードマップを公開しています。が、その危険度は浸水深さと範囲、到達時間として表現されていました。静水と流水では、同じ水深でも威力が違いますし、土砂を含むとさらに違います。過去には、石を含むと深さ20cmでも歩けなくなる人を見てきました。ハザードマップ1枚で伝わる内容は、見る側の経験に依存するでしょう。

手元に日本地すべり学会誌5月号(No.3)があります。H26年8月豪雨で斜面崩壊が発生し、ため池に流入した事例が記載されています(研究報告の趣旨は異なります)。斜面崩壊から破堤といった事例は、マイナーケースのようでした。自治体にとって、おそらくマイナーケースまで率先して予防措置をとる財力はないでしょう。ハザードマップで一律に危険性を伝えたうえで、弱い堤防から補修していく方針だったのでしょうね。

ハザードマップを作る側も、見る側も課題の克服が必要です。課題は日本地すべり学会シンポジウムH30年6月の中でも指摘されています。多くありますが、個人的には、活用する側のバイアス除去が難しいように感じます。
根本的には、幼少時からの教育が効果的でしょう。短期的な効果を求めるのであれば、極端ですが、人命へのリスク表記、例えば○○警報が出てから〇時間までは避難可能かつ軽傷で済む範囲、〇時間で命の保証はない範囲、などと表記すれば、見る側の意識も変わるのではないでしょうか(技術論で考え出すと難しいと思われますが)。現状ダメならどうにかして克服するしかありません。

考えさせられますね。

2018年7月7日土曜日

西日本の豪雨

連日の西日本の雨は一息ついたようです。
お亡くなりになられた方々のご冥福をお祈りします。

広島ではまた崩壊や土石流が発生していますね。平成11年、26年の災害時に学会等の調査団が被災地に足を運んでいましたが、なぜ繰り返し起こるのでしょう?

岡山では洪水。浸水範囲を調べようと海外のサイトに SAR データを探しに行きましたが、ありませんでした(日本の災害を把握するために海外のサイトを訪ねるのは残念ですが)。
ALOS2 を使うとすれば、今晩か明日の昼に撮影され、早ければ明日夜には公表されるでしょう。そうなると、空中写真の方が早いでしょうか。

雨量は気象庁で把握。
鴨川の増水が目立った京都は日雨量171mm。
崩壊のあった呉は日雨量190.5mm。
洪水のあった倉敷は日雨量138.5mm。
多いようですが、いずれも30年確率には届いていません。

大雨特別警報が8府県に出されたのは初めてだそうです。
特別警報ですから、48時間雨量で50年確率に届いているのでしょうか?上記地域だけを見ると48時間では届いていませんが、府県レベルで届いたところが多かったのかもしれません。特に河川災害が目立っていますので、上流側も考慮する必要があるのでしょう。
H26広島土石流の時は短時間雨量が特徴的でしたが、今回は長期雨量が指標になりそうです。

洪水のピークは通り過ぎたようですが、堤防決壊や、そこからの流出はまだ続いているようです。今後の台風や梅雨前線の動きも気になるところです。度重なる災害は避けたいですね。
本格的に手が入るのはまだ少し先でしょうか?被害規模がこれ以上大きくならないことを祈ります。

2018年7月1日日曜日

PDEの種類

PDEを区分すると、以下のようになるでしょうか?

物理量φにおいて
空間に関する2階微分:∆φ=0・・・ラプラス方程式、楕円型
空間に関する2階微分:∆φ=C・・・ポアソン方程式、楕円型
空間に関する2階微分+時間に関する1階微分:D∆φ=∂φ/∂t・・・拡散方程式、放物型
空間に関する1階微分+時間に関する1階微分:u∇φ=∂φ/∂t・・・移流方程式

浸透流で間隙率、密度一定の場合は ∇・(k∇h)=0、さらにkに異方性がない場合は ∆h=0 でラプラス方程式。
揚水・注水点で流量 q がある場合、∆h=q でポアソン方程式。
移流方程式と拡散方程式で、移流拡散方程式。

GSFLOW の計算方法

GSFLOW-GRASS v1.0.0: GIS-enabled hydrologic modeling of coupled groundwater–surface-water systems
https://www.geosci-model-dev-discuss.net/gmd-2017-321/gmd-2017-321.pdf

有償の1ソフトを除き、既存の pre- post- には全ての連携をとれるものはなく、また不安定 & カスタマイズできないため、開発したとのこと。ありがたいですね。

この文献には、GSFLOW の機能がまとめられています。google先生の翻訳ベース付きで、残しておきましょう。

To link the PRMS and MODFLOW grids, the user must define gravity reservoirs at each different intersection of an HRU and a grid cell (Figure 1D).
PRMSグリッドとMODFLOWグリッドをリンクするには、HRUとグリッドセルの各交点に重力リザーバを定義する必要があります(図1D)。
The MODFLOW component of GSFLOW also relies on a user-specified stream network; stream segments represent tributaries, and the intersection of a stream segment with MODFLOW grid cells defines stream reaches (Figure 1A, D).
GSFLOWのMODFLOWコンポーネントは、ユーザー指定の河川ネットワークにも依存しています。セグメントは支流を表し、MODFLOWグリッドセルとの交点はリーチを表します(図1A、D)。
“Reaches” are defined as the section of each PRMS stream segment that lies within a single MODFLOW grid cell, and are numbered sequentially downstream as shown.
「リーチ」は単一のMODFLOWグリッドセル内に存在する各PRMSのストリームセグメントのセクションとしても定義され、図示のように順次下流へ番号が付けられます。
http://www.rfc.or.jp/seitai/seitai2.html
GSFLOW uses a daily computational time step for both the PRMS component and MODFLOW component. Flows are exchanged between each component at each time step. Multiple MODFLOW “stress periods” can be invoked to represent different subsurface boundary conditions within a simulation period, but their lengths must be integer days.
GSFLOWは、PRMSコンポーネントとMODFLOWコンポーネントの両方に「日」計算時間ステップを使用します。各時間ステップにおいて、各コンポーネント間で流入出が発生します。シミュレーション期間内に異なる地下の境界条件を表すため、複数のMODFLOW「ストレス期間」を呼び出すことができますが、その長さは整数日でなければなりません。
The PRMS component of GSFLOW includes various modules that can convert commonly available climate data into complete forcing inputs needed for model simulations. These modules include different methods for determining potential solar radiation, potential evapotranspiration, and snow accumulation / depletion; they also include different schemes for spatially distributing data from one or a few observations points over the entire watershed.
GSFLOWのPRMSコンポーネントには、一般的な気候データをシミュレーションに必要な形式に変換できるよう、さまざまなモジュールが含まれています。これらのモジュールには、日射量、蒸発散量、積雪量/融雪量を決定する多くの方法が含まれています。また、1~2、3の観測点データを流域全体に分配するためのスキームも含まれています。
For unsaturated zone flow, PRMS does not implement Richards equation but instead applies efficient calculations to determine inputs and outputs for each HRU as well as exchanges among the three conceptual reservoir types within an HRU (GSFLOW manual Fig 19, Table 9). The “capillary zone” reservoir represents water held by capillary forces; it receives water through infiltration (based on parameter pref_flow_den) and loses water through evaporation and transpiration (based on parameters soil_moist_max, soil_rechr_max, and soil_type).
不飽和流れの場合、PRMSはリチャーズ方程式を使用せず、代わりに各HRUの入出力を決定するための効率的な計算と、HRU内の3つの概念的リザーバータイプ間の交換(GSFLOWマニュアル図19、表9)を適用します。
 「キャピラリーゾーン」リザーバーは毛管力によって保持される水を表します。その水は 浸透によって受け取り(パラメータpref_flow_denに基づく)、蒸発および蒸散によって失います(パラメータsoil_moist_max、soil_rechr_max、およびsoil_typeに基づく)。
After reaching field-capacity (parameter soil_moist_max), water transfers from the capillary zone to “gravity reservoirs,” where water can flow horizontally as slow interflow (based on parameters slowcoef_lin and slowcoef_sq) and drain vertically into the deeper subsurface domain handled by MODFLOW (based on parameters ssr2gw_rate, ssr2gw_exp, and ssrmax_coef);
フィールド容量(パラメータsoil_moist_max)に達した後、水は「キャピラリーゾーンリザーバー」から「重力リザーバー」に移動します。そこではゆっくりとした流れ(パラメータslowcoef_linおよびslowcoef_sqに基づく)として水平に流れ、MODFLOWによって扱われるより深い地下のドメインに排出されます(パラメータssr2gw_rate、ssr2gw_exp、およびssrmax_coefに基づく)。
gravity reservoirs can also receive groundwater discharge from the reservoirs drain directly to the saturated zone.
「重力リザーバー」は、リザーバドレンから排出される地下水を、直接飽和ゾーンに受けることもできます。
Saturated zone simulations (MODFLOW) employ finite difference solutions to the groundwater flow equation.
飽和領域のシミュレーション(MODFLOW)では、地下水流動の解法にFDMを用います。
Streamflow, as calculated by the MODFLOW component, includes inputs from upstream reaches, surface runoff and interflow from the PRMS component, base flow from the saturated zone discharge, and flows from possible underlying unsaturated areas.
河川の流れは、MODFLOWコンポーネントによって計算される上流側リーチからの流入、PRMSコンポーネントからの表面流出および合流、飽和域からの基底流出、および不飽和領域からの流入を含みます。
Outputs include flow to downstream reaches, leakage to groundwater, and flows to possible underlying unsaturated areas.
アウトプットには、下流側リーチ、地下水、不飽和領域への浸透が含まれます。
Discharge across the streambed follows Darcy calculations with specified streambed hydraulic properties.
河床をからの浸透量は、河床堆積物の水理特性に応じたダルシー則に従います。

5つのオプション
The user can specify stream depths for each reach;
1.ユーザーは各リーチのストリームの深さを指定できます。
apply Manning’s equation to an assumed wide rectangular channel;
2.仮定された広い矩形チャネルにマニングの式を適用することができます。
apply Manning’s equation for an eight-point-based channel and floodplain geometry;
3.8ポイントベースのチャネルと氾濫原のジオメトリに対してマニングの式を適用することができます。
apply at-a-station power-law relationships between discharge, flow width, and flow depth (Leopold and Maddock, 1953);
4.流出量、幅、深さの関係に「at-a-station power-law」(Leopold and Maddock、1953)を適用することができます。
specify an input look-up table of hydraulic geometries for each segment.
5.各セグメントの水理ジオメトリに関するルックアップテーブルを指定することができます。
Streamflow can be simulated as either steady-state flow (parameter IRTFLG = 0),where outflow to the next stream reach balances inputs, or as transient flow (parameter IRTFLG > 0), using a kinematic wave formulation for surface water routing in channels, which applies the assumption that the water surface slope approximates the friction slope, and therefore negates backwater effects.
河川の流れは、流出・流入のバランスしている定常流(parameter IRTFLG = 0)か、運動波近似を使用した非定常流 (parameter IRTFLG > 0)としてシミュレーション可能です。※運動波近似は水面面勾配が摩擦勾配に近似していることを前提としているため、逆流作用は見込めません。


翻訳することで、余計にわかりづらくなったところもありますね。


2018年6月28日木曜日

ヘルメット+送風機

今年はヘルメットにファンがついているものを購入。

トーヨーセフティー ウィンディーヘルメット
http://www.toyo-safety.co.jp/seihin/helmet_394.html
長所
・重さは気にならない程度。
・ケーブルやバンドがなくスッキリ。
・単三充電池使用可。
短所
・うるさい(ただ、慣れる)
・ABS(3年で廃棄)
・涼しくない。
・防水でない。

コチラと迷いました。
タジマ 清涼ファン風雅ヘッド
https://tajimatool.imagestore.jp/contents/goods_info.php?gd=9971
長所
・首元が涼しい。後頭部は風を感じる。
悪い点
・重い
・うるさい(トーヨーさんに比べると静か)
・(試着では)頭頂部から前半分は涼しくない。
・見た目煩雑。ケーブルがむき出しのため、踏査時にひっかけて切りそう。
・防水でない。

現段階では、どちらも空調服ほどの効果は期待できません。また、どちらも雨に弱そうです(特にタジマ)。その他は一長一短でしょうか。
今回は軽くてケーブルが外に出ていない方を選びました。また、夏場は突然の雨に打たれることがありますから、すぐ壊れてもあきらめがつくようにと安価な方を選択しています。消極的な選択です。

現場で使ってみましたが、今のところ涼しいとまでは言えないですね。ただ、ヘルメットを脱ぐと額に汗をかいていますが、ファンから直接風のたる箇所だけは熱をもっていません。いくらかの効果はあるのでしょう。

3年後の進化に期待です。








2018年6月27日水曜日

洪積層の液状化?

道路橋示方書において、洪積層は液状化検討対象外です。

どこかに書いたかもしれませんが、以前は緩い砂質土であれば洪積層でも同手法で検討すればよいと考えていました。
が、平成24年の改定で、対象は「沖積層」に明言されました。プロによれば、安全側という名の過大設計が、事例を交えある程度明らかになったためとのことです。この方針は平成29年の改定でも維持されています。

洪積層の緩い砂質土が液状化しないのか、実際に試験をして検討している文献があります。
古谷ほか(2014)洪積砂質土層での液状化判定方法の一考察, 地盤工学ジャーナルVol.9,No.4,633-643
このように実際に試験をすれば明解でしょうが、実務では示方書があるのにそこまでされないでしょうね。

そうなると、沖積・洪積の境界判定が重要になるでしょう。
現状、判定は経験によるものが多いと思われます。年代測定を行うことはほぼありませんので、残渣を見たり文献と照らし合わせて判定をすることが多くなります。山間の谷底堆積物だと迷うことが多いですね。絶対年代ではなく、相対的に古そうなもの、N値の高いものを洪積の判断根拠にする場合もあります。
その程度の判定で、「洪積層だから液状化対象外」としてしまう危険性は地質屋さんにしかわかりません(判断の曖昧さをわかっているからこそ、検討対象としたわけです)。

沖積・洪積判定の曖昧さによる液状化層の見逃し回避と、検討手法による見逃し回避を区別できない状態で、今の基準が示されています。要は、まだ過大である可能性があるということです。
年代測定が使われるようになると、少なくとも前者の曖昧さは小さくなるでしょう。それに応じ示方書の検討手法は改訂されるかもしれません。
まずは、そのような根本的見直しが必要だと感じます。

2018年6月25日月曜日

国産コードの未来

東京大学出版会「地圏水環境の数理」を読みました。

GETFLOWS は高価なのでリースを受けたことがありません。が、中身を理解したいとは感じていました。どのように地表水と地下水を安定して解いているのか?時間ステップはどうしているのか?分割法は?など。

で、復讐も兼ねて図書を読むことに。
幸い、先月に河床変動計算を経験したためか、内容は概ね問題なく理解できました。毛管圧力PCの取り扱いで戸惑いましたが、過去に出された文献に補足的なことが書かれており、理解の一助となりました。

登坂ほか(1996)地表流と地下水流を結合した3次元陸水シミュレーション手法の開発
地下水学会誌 38 巻4 号 p. 253-267

残念ながら、タイムステップを飛ばせる理由はイマイチ詳しく書かれていませんでした。が、結果的には降雨の少ない時期には飛ばせるようなので、解法の選択によるのかなと思います。また、12年前の古い図書なので、並列化については何も書かれていませんでした。

地表流を調べていると、以下の文献にも遭遇しました。また、読んで手を動かさないといけません。
GSFLOW-GRASS v1.0.0: GIS-enabled hydrologic modeling of coupled groundwater–surface-water systems

国産で柔軟性・適用性が高いものの、研究成果を有償でリースしているGETFLOWS。地表流ー地下水の連携のみですが研究成果を無償で公開している GSFLOW 関連。対照的ですが、日本と米国の研究事情を反映しているようですね。また、そこまで深くは考えられていないのかもしれませんが、シェアや戦略といった要素も絡んでいるのかもしれません。国産コードが世界を圧巻する未来を見たいものですが、なんだか残念です。

ギフトオーサーシップ

ブラック・ペアン、面白かったです。

努力に打ちされた高い技術という話は、実際にあることでしょう。
一方、コーディネーターについては学会から批判が上がっていましたね。

個人的には、ギフトオーサーシップに関して少し思うところがありました。
これ、身近にありますね。何なのでしょうね。
個人的には丁重にお断りしたことがあります。正論ですが、組織人としてどう判断されるかは別の問題。ヒトの世です。

ギフトオーサーシップとか、ねつ造とか。私がその世界でがっつり生きていないからかもしれませんが、理解できないですし、理解できるようにはなりたくないですね。


2018年6月23日土曜日

地盤の固有周期 その2

以前、道路橋示方書における地盤の特性値(基本固有周期)Tの推定式について書き残しています。
https://phreeqc.blogspot.com/2011/11/blog-post_29.html

示方書では微動観測等の調査が基本のように書かれています。が、実際は解説により(2)の推定式を使用します。
(1)地盤の基本固有周期TG は,地盤調査等に基づき,適切に算出しなければならない。
(2)地盤の基本固有周期TG を,式(3.6.1)により算出する場合には、(1)を満足するとみなしてよい。 
地盤の基本固有周期TG を求める方法としては,微動観測等により直接的に得る方法もあるが,微小ひずみ振幅領域における地盤の基本固有周期であれば実用上十分な精度を確保して地層ごとの厚さや平均せん断弾性波速度から算出できるため,地盤の基本固有周期TG は式(3.6.1)により求めてもよいことが規定されている。
この式だと手計算でも答えを出せるのですが、層が複雑だと案外面倒です。
幸い、他の目的で微動探査を実施していましたので、今回はこの結果を利用することに。これなら実測なので直接的です。が、示方書では微動観測から基本固有周期を求める手順を、港湾基準のように規定されていません。

偶然、他目的で呼んでいた図書に関連内容が書かれていました。

鹿島出版会「活断層調査から耐震設計まで」

この図書では得られたスペクトルから判定していますね。発刊が2000年ですので、今なら H/V 含め評価する方が良いでしょう。ま、規定されていない以上、技術者が良いと思える手順で判断すれば問題ないということだと思います。

この図書、地盤種別についてもコメントされています。どこかで見た覚えがありますが、書き残しておきましょう。

I種地盤:良好な洪積層及び岩盤
III種地盤:沖積層のうち軟弱地盤
II種地盤:I,II種に属さない洪積・沖積層

建築・港湾・道路橋と、常時微動を公的に使いやすくしてもらえているのはありがたいことです。積極的に活用したいですね。

ダイナマイト

先日、火薬の更新講習に行ってきました。

その中で、2年前にダイナマイトの国内生産が中止になったとのお話がありました。そういえば、ここ数年、スタッキングばかりやってましたね。5~6年前に3桐を使用したのが最後です。あれが最後の現場になるとは。

含水よりダイナマイトの方が効きが良いのでそちらを選択していたのですが、これからは選択の余地がありません(まだ2号榎はあるそうですが)。というか、大型の事業が減っていますので、発破を必要とする調査自体が減っているのでしょう。

少し寂しいお話でした。

2018年6月21日木曜日

magma mixing/mingling その2

この文献では、3つの数値実験が実施されています。

幅の広めのモデルと、狭めの高・超高解像度モデル。どちらも流体として Navier-Stokes を解いているようです。

まずは前者の結果。以下のような順序が記載されていました。

  1. まず、注入された苦鉄質マグマが石英閃長岩メルトを加熱。軽い加水閃長岩相が混合物上に層状に形成される。一方、重い苦鉄質エンクレーブの大部分は、チャンバーの底部に定着。
  2. 次ステージでは、複数の高温閃長岩メルト(苦鉄質メルトを5~10vol%含有)が既存の閃長岩メルト内に複数注入される(図4a)。
  3. 苦鉄質相の一部(約5Vol%)は、固結したエンクレーブの形でチャンバー頂部に上昇。他の部分は晶出過程の中で密度および粘度の増加により上昇を止める(図4b、d)。
  4. その結果、チャンバーを底部から頂部まで貫通する細長い鉛直チャネル(細脈または一連のエンクレーブの形で偏在する苦鉄質岩とのハイブリッド組成)が形成される。

後者も似たようなメカニズム。よく考えられていますね。
いずれも、苦鉄質マグマだけでは重たくて上がれないので、水を含むメルトと混ざるなど軽いメルト(前者:hydrous syenite、後者:super-heated diorite )を生成する点がミソ。苦鉄質メルトは軽メルトの上昇に少量連れていかれるイメージです。
キーワードは水と密度、粘性でしょうか。シミュレーションの結果からは、粘性の違いよりも密度の違いが mixing/mingling を分けているようです。

おそらく地質屋さんの多くは、ここまで具体的に成因を説明できません。その結果、地質図は(スケールにもよりますが)その程度のレベルにとどまります。
過去に書いた閃長岩と花崗閃緑岩、エンクレーブの分布域、ここまでの知識なしで書いていますね。ヤバい。このような具体的な成因を想像して観察結果を解釈すれば、また違った地質図になっていたでしょう。反省。

この解析結果は、動画として公開されています。
正解かどうかは誰もわかりませんが、正解の可能性の一つを提示しているところがこの文献の価値だと思われます。

正解に近い絵の描ける(知識・計算力を有する)地質屋さんを目指さなくてはなりません。


2018年6月20日水曜日

大阪北部の地震

昨日の地震でお亡くなりになられた方々のご冥福をお祈りします。

各団体で地震の評価が進んでいます。
今回観測された地震波は、兵庫県南部地震とは少し異なったようです。
防災科学技術研究所のサイトに掲載されているスペクトルを見ると、周期の短い側でピークがでています。兵庫県南部地震に比べ建物の被害が少なかったのは、この影響も大きいのでしょう。
http://www.kyoshin.bosai.go.jp/kyoshin/topics/html20180618075823/main_20180618075823.html

被災種別・形態についてはこれからでしょうか。
今しばらく、評価を待ちましょう。


2018年6月19日火曜日

magma mixing/mingling

以前に携わった現場にて、花崗岩閃緑岩中に MMEの入っている産状をよく見かけました。
幸い、海底下の新鮮岩を掘る現場でしたので、その産状は最良の状態で、かつ時間をかけて観察できました。が、実力不足のため成因はよくわかりませんでした。
いえ、流れた構造を持っており、マグマ・ミキシングを成因とはとらえていました。が、マフィックなマグマがどこから来たのか、どのように混合したのか想像できなかったのです。

先日、巡検に参加していた際に、このヒントを教えていただきました。

Alexander Semenov and Oleg Petrovich Polyansky, Numerical modeling of the mechanisms of magma mingling and mixing: A case study of the formation of complex intrusions, Russian Geology and Geophysics, November 2017

まずは用語。 mixing でなく、mingling が正解(10数年、間違えて使っていました)。

粘性が小さく、似ていることで混合する (Mixing)。化学組成のコントラストも小さいこと(SiO2含有量で10%以下)が必要。
The difference between them is as follows. Magma mingling results in a heterogeneous mixture containing separate portions of the initial melts; the derivative magma contains discrete fragments of melts of different composition.
Mixing, in contrast to mingling, is thermodynamic equilibration of two or more compositionally different initial melts to form a chemically and physically homogeneous mixture under conditions where the viscosities of the initial components are similar and low (Frost and Mahood, 1987).
粘性にコントラストがあったり、同化するには時間が短い場合は、Mingling (混交)。確かに、30年以上前の文献に書いてありました。
Tom Frost and Gail A. Mahood, Field, chemical, and physical constraints on mafic-felsic magma interaction in the Lamarck Granodiorite, Sierra Nevada, California, Geological Society of America Bulletin, January 1987

その他、いくつか文献を見ましたが、概ねこのように書かれていますね。いや、間違いにすら気づかない無知は恐ろしい。もっと文献を読まねば。

続く。


2018年6月14日木曜日

ソフトの価格

最近のソフトは高いですね。

SPH 900万、PSInSAR 700万、機械学習 500万。
現場用の試験機や車が安く思えてしまいます。

設備投資に関する感覚は支店毎に異なるようで、ある支店から見ると無駄遣いのような要望も散見されます。が、executives が知らない分野では査定が甘く、うまく言いくるめられているようです。
知識の有無は怖いですね。



2018年6月9日土曜日

reverse mentoring

4月より聴講を再開した実践ビジネス英語より。
今月の話題はタイミング的に心に残る内容でしたので、書き留めておきます。

Reverse mentoring helps get older employees up to speed and with the proverbial program in areas that are second nature to digital natives.

ついてきてもらえるか?ついていけるのか?
Technology has empowered digital natives. And it's left older, less tech-savvy executives searching for ways to keep up.

双方向であること。トップダウンでないこと。敵対関係でないこと。
It shouldn't be top-down or adversarial.
Reverse mentoring has got to be a two-way street for it to work.

ガンガン挑んでください。
They also show how some executives feel challenged by all these hard-to-understand young people they find themselves working with.

一方的に、「判断するから説明せよ」「これは指示だ」はダメなのでしょうね。よくわかります。「なぜですか?」に対する答えも理路整然とした内容でないといけません。
上司が「やってみせ、言って聞かせて、させてみて、ほめてやらねば」だけでなく、若い方にも「やってみてもらって、教えてもらって、やってみて、承認しようとする」reverse の過程が必要になっているということなのでしょう。キーワードは「双方向」だと考えます。


2018年6月7日木曜日

圧密によるヒ素汚染

Overpumping leads to California groundwater arsenic threat

読めば「なるほど」と感じました。が、今まで見過ごしていた視点でした。
「濃度」というと移流分散や反応といった計算の視点から考えがちです。が、圧密も「あり」でしょうね。一つの現象に集中すると他が見えなくなるという点に、久しぶりに気付かされました。

機械学習ですのでメカニズムの解明は推定止まりです。が、以下のような内容が報告されていました。
  • 過剰揚水により、地下水低下。有効応力増加。帯水層が圧縮。地盤沈下が生じる。
  • 下部帯水層中の薄い粘土層の圧密により、間隙水が帯水層内に放出。
  • 間隙水はヒ素に高濃度であったため、地下水のヒ素濃度が上昇。
驚いたのは、過去の沈下の計測に SAR を利用している点、統計的手法として Random Forest を用いている点。
  • As a measure of overpumping, we use subsidence, derived from Interferometric Synthetic Aperture Radar (InSAR) data, to predict arsenic levels quantitatively.
  • We integrated estimates of subsidence with additional variables known from previous studies to affect arsenic levels into a random forest model that accounts for nonlinear relationships, as well as interdependencies of different variables.

あくまでデータの相関性を論じただけですので、真相は不明。特に、近年の沈下と過去の沈下で同じ沈下速度でも濃度の傾向が異なる点は、flush だけで説明できないように考えます。メカニズムを知りたいところですね。

ま、答えが出ない正攻法より、推定でも答えが出せる統計的手法、機械学習はお手軽です。DInSAR も Random Forestも使えるようにはなっていますので、答えを出せるかどうかは私の意識次第なのでしょう。

2018年6月6日水曜日

熱画像も 3Dモデルへ

レーザーを使う測量機器が増えています。

UAV搭載、handheldなど。据え置き型も付加価値をつけてきています。

handheld は使ったことがありません。が、お手軽そうですね。据え置き型より広い範囲を短時間でスキャンできますが、精度は数10mで数cmと粗め。既知点での補正も必要です。DSM (XYZRGB)で可視化やシミュレーションの地表面として利用する程度でしょう。ある大学の先生は河川堤防の沈下計測に使用するなどと言われていました。その後、どうなったのでしょう?

据え置き型の地上レーザーは以前から欲しいと考えています。
のり面の変位や岩壁の変位などを面的に把握するには良いツールだと考えます。UAVなど上空から測定するよりは、正面や下から測る方が有利な現場もあるのです。
測量担当者によれば機材もピンキリだそうで、のり面の変位を図るのはピンでないとダメ。カタログを見せていただきましたが、道路災などの初動に役に立ちそうです。これから利用例が増えてくるでしょう。

キリの部類ですが、面白そうな機種があります。
BLK360
https://www.youtube.com/watch?v=XU9aQVvVVIg
測量担当者によれば 25m くらいまでしか実用的でないとか。確かに、カタログ上の精度は地上レーザーにしてはイマイチ。
一方、この機種には熱赤外カメラも付いているようで、温度画像が3Dモデルとして取得できるようです。これ、いいですね。もし、XYZ+Tとしてデータが保存されていたら Good です。これまで必要だった合成・差分等の後処理に関し、一気に手間が省けるように感じます。時系列の位置合わせもICP等で可能でしょうし、対象が近ければ2時期の変位も出せますので、熱差+変位といった表現やキャリブレーションが可能になるでしょう。

いずれにしても、便利な機材が増えてきました。今後、どのような発展が待ち構えているのか楽しみですね。


2018年6月5日火曜日

1次元は難しい

再度、1次元の河床変動計算に取り組んでいます。

河床変動計算は初めてで、2次元、3次元には取り組んだことがありません。似たようなことといえば、DualSPHysics で2相のテスト計算を動かしたくらいです。

あらためて感じることは、モデル化が難しいということ。合流や屈曲の位置、計算結果の想定などから、どの範囲をどのようにモデル化するか意思決定を進める作業は、計算経験とセンスで成り立っているのでしょう。基本、3次元の現象は3次元でモデル化した方が、何も考えなくて良いので楽です。が、その現象を1次元まで落とし込もうとすると、本質を見抜くセンスが必要になります。不要なものをこそぎ落とす技術です。3次元ばかり扱っていると、本質を見抜く力が育たないのでしょうね。

そのためか、私には非常に難しく感じます。つくづく、昔の方は偉いなあと。
敬意を払って文献・テキストを読み、先輩に教えを請いながらの作業です。
早く「この現場だとこれくらいのモデルだよ」などと言えるように、センスを身に着けたいものです。


点群から変位の抽出

LP の整備もあり、点群データは多くの方に認知されたようと感じています。

最近では、LP を Web GIS で扱いたい要望や、地上レーザーを購入したい要望などが聞こえてきます。CIM 推しにより、点群が "become  a thing" 状態になったということでしょう。

そうなると次のステップも普及しそうです。例えば、点群の差分表示。差分を取れば地表面の変化を表現できますし、体積変化を出せます。崩壊前後の時系列データで、時点の崩壊・堆積量を求めることが可能になります(崩壊面、すべり面は、これだけではダメですが)。
よく利用されている表現ですが、広域かつ維持管理にまで普及すれば容易に変化箇所を把握できるようになります。広域だとメッシュ処理後の対象より粗いデータになりやすいのでスケールの問題はありますが、PSInSAR や MMS 等の併用でカバーできるでしょう。

次に変位。
何らかのマッチング手法を用いて2時期の変位を表現します。6年前に optical flow を試した時期がありましたが、これはイマイチでした。
https://phreeqc.blogspot.com/2012/02/optical-flow-block-matching.html
近年では ICP による点群同士、あるいは点群とメッシュのマッチングを行い、その結果から変位を抽出する手法が主流でしょうか?これに関してはプラントや岩盤を扱う例の載っている商用利用可能なソフト(GPL)も出ています。
CloudCompare Ver.2.6.1 http://www.danielgm.net/cc/
関連する箇所はコチラ↓
Registration > Align (point pairs picking)
 photogrammetry clouds で有効
Registration > Fine registration (ICP)
Distances > Cloud/Cloud dist. (cloud-to-cloud distance)
Distances > Cloud/Mesh dist. (cloud-to-mesh distance)

Optical Flow では 2D に修正する手間を必要としましたが、コチラは 3D の点群で、そのまま処理・表現できるところが長所でしょう。
ただ、過去にある会社が特許申請していましたので、土木分野では気を付けないといけません(結果はどうなったのでしょう)。
こういった海外のソフトの説明書に既に載っている例を国内で特許申請かけようとする姿勢は、消化し難いですね。誰でも使えるソフトや技術が、ある分野では国内で使えなくなるというのもイマイチです。

いずれにしても環境は既に整っていますので、すぐに次のステップに進むでしょう。しばらく、動向を見守りましょう。

2018年5月31日木曜日

ソフトの設計ミス

液状化の検討(震度法)を実施する必要がありました。

数か月前に購入したサービスに含まれていたソフトで実施。どのような使い勝手か試してみたかった、というところです。

が、計算結果が何かおかしい。
よくよく見ていくと有効上載圧の計算結果が誤っています。なぜそのような計算結果になるのか調べてみると、わかりました。湿潤単位体積重量から 10kN/m3 を引く仕様になっていました。飽和・水中を入れる箇所がなく、どうにも手出しできません。

サポートに連絡しましたが、担当者不在とのことで、後から連絡するとのことでした。

その日の夕方に、担当者のオジサマから電話がかかってきました。
が、話が通じません。どうも、湿潤・飽和の違いがわからない土木素人サンのようでした。怖いですね~。実はこの会社、以前もCAD関連でこのような素人サン担当者が出てきて呆れたことがありました。有名な会社なのですが、ソフト開発は外に丸投げのようです。

最近、このような質の低下が目につきますね。市販ソフトでも「まず確認」「疑ってかかれ」が身に付きました。残念な流れです。

結局、いつものソフトで計算を終えました。
使い勝手が良かっただけに、残念ですね~。


2018年5月27日日曜日

DRASTIC Model

共立出版「地下水流動」を読んでいますと、DORASTIC Model といった評価法が紹介されていました。

地理、地形の分野で作られたのでしょうか?GISを利用した帯水層の脆弱性を表すツールだそうです。知りませんでしたね。ArcHydroとは考え方が異なりますが、同じようなにおいがします。
「脆弱性」が具体的にどのような物理現象を指すのか?それとDRASTICがどのように関連する理論なのかは不明ですが、何らかの答えを出せる点は良いと思います。

ま、こういう手法がある、ということは覚えておきましょう。

2018年5月24日木曜日

やり残し事項 2018

研究職の実績公開がありました。

色々なことに熱中されていました。基礎的な事項から応用まで。レベルの高いものから低いモノまで。自信が満ち溢れていました。
個人的には得られるものがあったり、気分的にへこんだり。

CIMの実績公開もありました。
コチラはまだ底上げ主体で、得るものはなし。

いずれにしても、業務で得られた利益をこのような玉石入り混じった内容に費やせる余裕があるということでしょう。

研究職と話をして、いくつかの進展がありました。
再度、整理しておきましょう。

道具
帯磁率計
ガンマ線測定器(携帯型)

技術
動的解析(耐震、液状化)
斜面設計

コード・ソフト
  • 優先度低:DtransuのCUDA化・・・先月失敗。100万で購入可。
  • 優先度低:PSInSAR・・・700万で購入可
  • 優先度中:地表流+地下水・・・GSFLOW、HydroGeoSphere、GETFLOWS・・・論文を読みましょう。
  • 優先度中:GMS・・・J-SHISの取り込みまではできました。いつか続きを。
  • 優先度低:AWS, Azure
  • 優先度中:DualSPHysics・・・Foam Simulation が残っています。
  • 優先度中:HEC-RAS、iRIC、河床変動計算
  • 優先度低:DeepWater・・・よくできています。H2O4GPUで我慢するか。
  • 優先度中:OpenMI・・・PHREEQCとDtransuの連成等

2018年5月20日日曜日

地下水流動

共立出版「地下水流動」谷口他

以前、CFCs の測定を行っていた時に書店で見かけました。関連する記述が出ていたレアな図書だったのですが、知りたい部分の内容が浅く、かつより良い資料があったので購入しませんでした。

余裕ができたので購入し、読んでいるところです。
内容は広く浅くといったところでしょうか。ある分野で最新の内容に特化したような図書ではありません。
それでも、報告書に引用するには良い文章が載っています。備忘録として残しておきましょう。

p106
モンスーンアジアの湿潤地域では、地形(によって高められた地下水面)は地下水の最も重要な駆動力を提供する。地質は地下水流動系の構造を修飾するが、全体としては地形の高低が地下水の流れを支配し、局地地下水流動系から地域地下水流動系に至る地下水流動系の階層構造を形成する。
p111
しかし、いずれのメカニズムでも、地下環境が変化しなければ地下水中に高濃度でヒ素が溶出することはないので、モンスーンアジア地域における地下水中のヒ素濃度上昇の原因は、揚水など何らかの人間活動による地下環境の変化が原因と考えるのは妥当である。
地下水はサイエンスとしては面白い題材でしょう。
まだまだわからないことが多い分野だと思います。


2018年5月19日土曜日

昇格試験 その2

executive より管理職に関するヒアリングがありました。

「社内の昇格試験自体に興味はない。」「総監取得を昇格試験代わりにすれば良い。」等と伝えていますと、思いもよらぬ答えが。

executive 曰く「昇格試験は管理技術を見る試験ではなく、会社に忠誠を誓うかどうかの試験」「管理技術を問うなら、毎年同じような問題は出さない」

合点がいきました。

その前に、社内の組織運営上の問題を話していたのですが、それを招いたのは現在の管理職。要は監理能力の有無で管理職を選ばず、忠誠心の有無で管理職を認定していたため、問題がひき起ったのです。当然、その責任をとるという発想は出てきません。反省し監理能力を発揮する素質のある方を選抜する試験に変更する意思もありません。せいぜい、尻拭いを他者に押し付ける程度です。

個人的には、「まず問題点を認識する」「責任を取る」「管理技術を昇格試験で問う」等から始めるのが理想かと思います。が、無理でしょうね。ヒトの世ですから。

忠誠を誓うだけなら試験でなくて一筆ですませばお互い楽でしょうに。
どうしてヒトって形式や非効率なことを好むのでしょうか?


DualSPHysics 4.2

DualSPHysics が 5月の頭に Ver.UP しました。

あきらめていた foam simulation を確認しておきたかったのですが、これまで時間がありませんでした。ようやく時間ができたのでDL。

サンプル内に bat ファイルがあります。手早く確認するため、今回はプロンプトからそれを指定!

が、動きません。
CUDA ライブラリの Ver.が違うそうです。

VS の プロジュクトが同梱されていましたので、まず確認。
が、開けず。
CUDA 9.1 のファイルが見つからない、とのこと。

そういえば、PGI Community Edition 17.10 が CUDA 9.0 までしかサポートしていなかったので、9.0 しか入っていません(こういった時に、Docker の優秀さが再認されます)。
VS 上で 9.1 のファイル指定を 9.0 に書き換えてコンパイル。exe がどこにできたのか迷いましたが、bin フォルダの中の exe が更新されていました。配布元の配慮が伺えます。

今度は問題なく走りました。
01_DamBreak + GTX1060 で計算時間7分。短くなったような気がします。

ひとまず、手元の CUDA の Ver. にあわせてコンパイルすることで、環境は整いました。
次は foam simulation ですね。


2018年5月15日火曜日

河床変動計算の設定

砂防学会編「山地河川における河床変動の計算方法」の備忘録。

なぜ不等流?といった疑問に対する答えです。p15
河床変動の伝播の速さは水面変動のそれに比べてはるかに遅いため、流れの時間的な変化を無視しても良い場合が多くある。つまり、河床変動に着目して観察を行うと、流れの時間変動がはるかに速いため、ほとんど瞬間に終了してしまい、時間的に変化のない定常流として取り扱うことが可能だということである。こうして、河床変動に対しては時間的な変化を考えて式・・・・を用いるが、流れに対しては空間的な変化はあっても時間的に変化がないとして・・・・時間微分項を除いた、不等流の方程式を用いて議論することが多くある。

p51-54
設定
Case1:d=dmとした一様砂礫モデル
Case2:交換層厚さa=初期砂礫層の最大粒径
Case3:a=最大粒径の2倍
結果
Case1では河床勾配が全区間にわたって急速に一様化し、平均勾配に達する。Case2,3では遅い。洗堀区間での粗粒化と堆積区間の細粒化はaが小さいほど顕著。これが河床形状の変化傾向の相違の原因。
交換層の厚さの適正な設定法は確立されていない。
一様砂礫モデルでの急速な一様化は感じていたところです。
a=最大粒径として、粒度も複数階に見直しましょう。

2018年5月13日日曜日

River and Flood Analysis 2018 が動かない

Civil3D 2018 から HEC-RAS のデータを書き出す代わりに、Autodesk River and Flood Analysis Module 2018 で済ませられないか?と考えるようになりました。

動画を見てみると、使い方は容易そうでした。
HEC-RAS のプリポストとして Civil3D を使っているイメージでしょうか?いえ、Civil3D上で HEC-RAS エンジンを使って計算しているイメージですね。

で、早速インストール。

が、案の定動きません。

まず、メニューが出てきません。
これは手動で読み込んで解決。

が、モジュールのボタンを押すとフリーズ。

何度か試行しましたが、ダメでした。

検索すると、.NET で引っ掛かっている模様。
https://forums.autodesk.com/t5/civil-3d-forum/river-and-flood-analysis-module-2018-crashes-civil-3d-when-i-try/td-p/7414322?profile.language=ja
有名な不具合のようです。


この HEC-RAS、河川技術者にすらあまり知られていないようです。なぜかはわかりませんま、海外のソフトはそのままでは日本の独自仕様に対応できない場合が多いので、それ故かもしれません。

CTC さんの GEORAMA Ver.UP 対応は遅いので、まだ Civil3D を 2019に上げていません。挙げた時点で再トライしてみましょう。

更年期?

オペさんとコアを見ているときに executive がやってきて、救いがたいことを言い出しました。

後日、現場でオペさん曰く
「あれは、更年期障害。自分もそうだが、本人は気づかない。」

そういわれると、心当たりがあります。数年前からおかしいなあ、変わったなあという点が出てきました。後輩も「変わった」と言っていましたので、更年期はともかく変化自体は気のせいではないでしょう。

「もう年をったら、若い者に譲らないといけない」とも。
それはそうですね。

実際、年を取れば頭の回転が遅くなり、機転も利かず、体が動かなくなります。頭が固くなり、新しいことを積極的に取り入れることも難しくなるでしょう。
以前も書いていますが、そうなれば実務から離れて宣伝活動に移行すべきでしょうね。それまでに一流の若手を育て上げ、最前線に出ていかなくてよい体制を作っておかないといけません。
https://phreeqc.blogspot.jp/2014/05/2.html?m=0

さあ、私にはあと何年残っているでしょうか?

2018年5月6日日曜日

HEC-RAS 5.0 & Civil3D 2018

Civil3D から HEC-RAS にインポートしたジオメトリですが、反転するようですね。

上下流、左右岸の認識が反転しています。正確には、位置は正しいのですが、ソフト上での水の流れの認識が反転しているようです。これは、知られたエラーのようですね。https://www.nrcs.usda.gov/wps/portal/nrcs/detail/national/water/manage/hydrology/?cid=nrcseprd383438

上記 EXCEL マクロのリンクが切れていましたので、googling でひっかけました。中身を確認して、反転。読み込むと正しく認識されました。
HEC-RAS 上で反転する機能もありました。上下流の逆転、左右の逆転は別々です。どちらでもよさそうですね。

定常流を設定して計算してみるとエラー。
残念ながら、計算はできませんでした。

run の中に RAS-MODFLOW がありました。
グレーアウトして機能しませんし、ヘルプでも引っ掛かりませんでした。
googling では、Coupling HEC-RAS and MODFLOW using OpenMI として紹介されていますね。UP はされていないようですので、詳細は不明です。ま、定常流を動かせるようになる方が先ですね。

Mike11 + MODFLOW などと同じ内容だと思います。いずれにしても、地表流との組み合わせを検討する手法がいくつか存在することになります。
一つくらいはまともに動かせる力をつけないといけないのですが。


2018年5月2日水曜日

微動アレイの処理

連休の合間に、微動アレーの測定データを処理。

今回も沖積平野での測定でした。
BIDO で処理を済ませたのですが、前回同様に、SPAC の結果がイマイチ。というか、一番きれいな分散曲線になるのですが、深いデータが得られません。ほかの手法では、ばらつきは認められるのですが SPAC よりも深い結果まで得られます。

プロが帰ってきたので話を聞いてみると、SPAC の結果を重ね合わせてみるのが良いとのこと。
なるほど。確かに、SPACの結果はきれいなので、複数のアレー半径出の結果を重ね合わせると、一番きれいな分散曲線になりそうです。もう一度、なるほど。

BIDO を動かしていてふと思った点。。
先日、Dtransu を Linux で動かしていた際に改行コードが邪魔してうまく動作しないことがありました。改行コードをCR+LF(Windows)からLF(Linux)にすべて書き換えてやると正しく動作しました。
以前、BIDO でエラーばかり出ていた原因は、これかもしれません。次に機会があれば、
試してみましょう。


横断面の座標抽出・間引き

河床変動計算用に横断座標を用意する必要がありました。

頂いたデータは以下の通り。
・LPデータを加工した等高線SHPファイル
・SHP を V-nas で取り込んで、川沿いの等高線のみレイヤーを変えた複数のCADデータ
・CAD上のぶつ切り河川線形データ
・CADから書き出した横断SIMAファイル(横断幅400m)

最初は SIMA を計算用のデータに加工しようかと考えました。が、400mは広すぎます。屈曲部や合流点では必ず幅の調整が必要ですが、TXTだけで判断することは困難。横断位置を可視化する必要があります。

V-nas ではソフト側の容量制限により、ファイルが分割されていました。そこまでして V-nas を使わなくても良いと思いますが、ま、仕方ないですね。

まずはデータをすべて Civil3D に統合するところから始めました。

最初に地形データ。
CADデータでやり取りすると重たいので、SHPベースです。
川沿いの等高線を LAND_KIT で SHP に書き出し。
ArcGIS で読み込んでマージ。SHP書き出し。
Civil3Dで SHP からサーフェス作成。

線形データは LINER_KIT で 結合・切断後、LandXML 書き出し。
Civil3D で LandXML 読み込み

横断 SIMA は読めなかったので、Civil3D で直接作成。コンターを見ながら横断幅を調整した後に、HEC-RAS 書き出しで座標データ抽出。
これでデータは扱いやすくなりました。

HEC-RAS を使用したことはありませんでした。が、海外では有名なソフトのようで使い方は検索すれば出てきました。
まずは新規プロジェクト作成。unit は SI。
geometric data editor では GIS format として取り込み。
Tools - Cross Section Points Filter で間引き。これが優秀。角度や高さの変化に応じて間引くこともできますし、点数を指定して間引くことも可能です。数百断面を一度に処理することも可能です(これがために HEC-RAS を経由させる必要がありました)。

あとは geometry データを保存。
これを EXCEL+VBA で整理して計算用データを作成。
これで数百断面でも時間をかけることなく、ミスなく準備することが可能となりました。

というか、最初から HEC-RAS を使えばよかったのでは?
ちょっと調べてみましょうか。

2018年4月30日月曜日

H-Q曲線

「現場の水理学」の続きと「新 現場の水理学」を読みました。

どちらも初心者向けに丁寧に書かれていましたので、一気に読めました。ありがたい。

コードは BASIC を使われているようでした。行番号、懐かしいですね。
河床変動のみでなく、横断図からH-Q曲線を作成するコードも掲載されていました。ちょうど、H-Q曲線を作ろうとソフトを他部署から借りていたのですが、不等流計算のおまけのようで煩雑でした。で、コチラを使えないか?と思案。

BASIC は選択肢としてありえないので、EXCEL VBA を選択。横断座標は EXCEL で整理するでしょうからデータ作成の手間が省けるでしょう、との判断です。

手を動かしてみると、あっさり移植できました。
知らなかったのですが、VB は BASIC をそのまま動かせるのですね。fortran と VF の関係と同じだったようです。無知でしたね。

セル参照・書き込みや不具合を修正し、ついでに曲線と流量ハイドロから水位ハイドロを算出するマクロも追加しました。潤辺を正しく斜距離で計算するコードでしたが、鉛直の場合はダメですね。ま、全部水平距離での簡略化よりはマシでしょう。

ツールは準備できました。手早く整理してしまいましょう。

2018年4月25日水曜日

現場の水理学

河床変動計算プログラムを理解するため、資料を探すことに。

離散化前後の式が記載されていないため、ソースを読んだだけではわからない箇所があります。それらをピックアップし、該当する式を探す作業です。


iRIC の HP を見ていると、良い資料がありました。
「現場のための水理学」
http://i-ric.org/ja/column/pdf/

初心者向きで、一気に第3回の掃流砂まで読めました。
30年前の資料ですが、離散化前後の式から手計算による例題、プログラムソースまで記載されており、一通りのことが理解し易く記載されています。ありがたい。
先日読んだソースも、基本的には同じ流れでしたので、不明であった式の意味や流れがほぼ理解できました。良かった。

オリジナルは寒地土木研究所に掲載されています。
http://river.ceri.go.jp/contents/tool/suirigaku.html

ふと見ると、「新 現場のための水理学」がありました。
http://river.ceri.go.jp/contents/tool/shin-suirigaku.html
平成4年ですから、26年前の資料です。用語の解説も加えられ、さらに初心者向けに作られているようです。
こちらも読んでみましょう。

***************************
20220214追記
「現場のための水理学」令和版だそうです。
https://i-ric.org/yasu/nbook2/index.html


2018年4月23日月曜日

砂防用語

週末に、1次元の河床変動計算のソースを読みました。

頂いたソースで、解説はありません。
が、砂防分野では古典に属するようで、用いられている式の種類も多くなく、2/3程度は理解できました。

どちらかというと、砂防用語がわかりませんでした。変数は英語を略しており、それを日本語に直しても、その意味が分からない、といったことがいくつか出てきました(「径深」など)。

根本的な、知識不足。
砂防分野について少し慣れが必要です。

2018年4月15日日曜日

OpenACC 失敗

暇になったので、Dtransu を GPU 上での計算に修正してみることに。

まずは、CPU コードを以下の2種でコンパイル。
・Intel VF 18.0
・PGI Community Edition 17.10

どちらも Win10 上ですが、例の通り微妙に異なる結果が得られます。浸透流はほぼ同じ結果ですが、濃度が異なります。
また、PGI は最後の element をうまく認識していませんね。既にこの時点でダメでしょうか?

次に、OpenACC。
コンパイルはできましたが、計算時に収束しません。GPU (GTX1060)は使用しています。こちらは私の能力不足でしょうか?

次に、OpenMP。4.0より、GPU を指定できるようになっていたのは知りませんでした。
IVF は GPU をサポートしていませんので、PGI のみでコンパイル。
が、計算中に GPU を 使用しません。CPU で正常に進んでいます。
ちなみに、Cygwin + gfortran でも試してみましたが、こちらは強制終了でした。

粘ってみましたが、全くダメ。プロがそばに欲しい。

着手時にプロからは「ライブラリ使わないと遅い」と言われていました。そのままでは NVIDIA の仕様で倍精度の計算は遅くなるとのこと。確かに、そのような仕様になっていますね。
ライブラリまで移行しようとし、サンプルを見ると挫けます。毎回。
プロにお願いすればできるのでしょうけど。

そもそも、CPU コードで正しく element を認識しないとダメですよね。
もう少し寝かせておきましょう。

2018年4月14日土曜日

10. まとめ(Ubuntu + Docker + nvidia-docker + Deep Water)

目指していた Ubuntu + Docker + nvidia-docker + Deep Water を実装できました。

XGBoost を使えるようになったのは収穫です。

Deep Water で DNN を利用できないのは残念ですが、いずれ動くようになるでしょうし、それにこだわる必要もないでしょう。nvidia-docker により、他のフレームワーク等も容易に利用できるようになりましたし、以前の計算では、DNN より Random Forest の方が良い結果を出していましたので。データセット(数字)を扱う場合、機械学習の中の一つとして DNN があるという位置づけの方が妥当なように思われます。

さあ、環境は整いました。これで一安心。
あとはやってくる問題を解くだけです。


9. Driverless AI

Driverless AI のテストです。
https://www.h2o.ai/driverless-ai/

まずは、ホスト側の/home/<ユーザー>/ 以下にディレクトリ作成。dataに学習・検証・テストデータを入れておきます。
$ mkdir data
$ mkdir log
$ mkdir tmp
$ mkdir license

NGC にログイン
$ docker login nvcr.io
user:$oauthtoken
Pass:<登録時に作成した Key>

環境を pull
$ docker pull nvcr.io/partners/h2oai-driverless:latest

Docker スタート。
(env NV_GPU="1" を入れないと、2枚目の GTX1060 を正しく認識しないのは Deep Water と一緒でした。)

$ env NV_GPU="1" nvidia-docker run \
    --rm \
    -u `id -u`:`id -g` \
    -p 12345:12345 \
    -p 54321:54321 \
    -p 8888:8888 \
    -v `pwd`/data:/data \
    -v `pwd`/log:/log \
    -v `pwd`/license:/license \
    -v `pwd`/tmp:/tmp \
    nvcr.io/partners/h2oai-driverless:latest

http://<IP>:12345
でアクセス。

ユーザー名を聞かれましたが、適当に入力して次の画面に。
お試し版として、30日のキーをいただいていましたので、それを入力。

動きました。

チューニング含め、ほぼ自動ですね。かっこ良い!

GPUも稼働しています。


データをそのまま使っているだけでなく、演算もして利用しているようですね。凄い。

が、自動過ぎてよくわかりませんね(楽ですけど)。

そもそも、アルゴリズムは何でしょうか?

調べてみると、FAQにありました。
http://docs.h2o.ai/driverless-ai/latest-stable/docs/userguide/faq.html#
Which algorithms are used in Driverless AI?
Features are engineered with a proprietary stack of statistical models including some of the most sophisticated target encoding and likelihood estimates, but we also employ linear models, neural nets, clustering and dimensionality reduction models and more. On top of the engineered features, XGBoost models (and ensembles thereof) are used to make predictions. More models such as linear models and neural nets are added currently and will be available shortly.
いずれは DNN も含まれるのでしょうね。
個人的には計算時に設定がわかったほうが良いかな?
非技術者の利用を想定されていますので、このスタイルで行くのでしょう。

2018年4月12日木曜日

8. NVIDIA GPU Cloud

NVIDIA GPU cloud (NGC)に登録。
https://www.nvidia.com/ja-jp/gpu-cloud/

Repositories
    nvidia
        caffe
        caffe2
        cntk
        cuda
        digits
        mxnet
        pytorch
        tensorflow
        tensorrt
        theano
        torch
    hpc
        candle
        gamess
        gromacs
        lammps
        lattice-microbes
        namd
        relion
        vmd
    nvidia-hpcvis
        index
        paraview-holodeck
        paraview-index
        paraview-optix
    partners
        chainer
        h2oai-driverless
        kinetica
        mapd
        paddlepaddle


一通りの環境は整っています。h2oai-driverless もありますね。
h2oai-driverless を試用してみましょう(Docker で簡単に環境を再現できる点はありがたいですね)。

続く。

2018年4月11日水曜日

7. Deep Water : XGBoost

XGBoost のテスト。

負荷をかけるという点で ntrees=1000に設定してみました(計算結果を見ると 100 で既に収束していました)。

ホスト側での GPU 稼働状況。

$ nvidia-smi pmon
# gpu        pid  type    sm   mem   enc   dec   command
# Idx          #   C/G     %     %     %     %   name
    1       2809     C     0     0     0     0   java         
    1       2809     C     0     0     0     0   java         
    1       2809     C     0     0     0     0   java         
    1       2809     C     0     0     0     0   java         
    1       2809     C     1     0     0     0   java         
    1       2809     C     2     0     0     0   java         
    1       2809     C     2     0     0     0   java         
    1       2809     C     2     0     0     0   java         
    1       2809     C    26     8     0     0   java         
    1       2809     C    63    21     0     0   java         
    1       2809     C    64    22     0     0   java         
    1       2809     C    63    21     0     0   java         
    1       2809     C    11     3     0     0   java         
    1       2809     C    39    13     0     0   java         
    1       2809     C    64    21     0     0   java         
    1       2809     C    64    21     0     0   java         
    1       2809     C    58    19     0     0   java         
    1       2809     C    63    21     0     0   java         
    1       2809     C    64    21     0     0   java         
    1       2809     C    63    21     0     0   java         
    1       2809     C    14     4     0     0   java         
    1       2809     C     0     0     0     0   java         
    1       2809     C     0     0     0     0   java 

$ nvidia-smi                                   
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0                    Not Supported                                       |
|    1      2809      C   java                                        1329MiB |
+-----------------------------------------------------------------------------+

本格的に稼働させるなら、VRAM は大きな方がよさそうですね。

速度は4倍。負荷が大きいほど威力を発揮しそうです。

GPU:3m27s
CPU(6core):14m12s


結果(AUC)も良好。
Deep Water の XGBoost、良いと思います。

続く。