2019年9月24日火曜日

大量絶滅、本気なの

気候温暖化は現時点では確かにあると言える。ただ、100年で数度という科学的な予測を全く無視して、去年よりも何度も高くなったとか何とか、愚の骨頂。
全球的な気候というのは毎年ぶれまくりで、平均的な年など無いとも言える。ありもしない平均的な気候と比べてなんだかんだ言っているのを気候学者たちは喜んで見ているだけ。修正しろよ。そうじゃないんだって言えよ。
種が絶滅に瀕しているからどうこうできるのか。人間てそこまで出来るのか。確かに二酸化炭素や牛のげっぷで温暖化は進んでいるけど、それよりも間氷期が終わることの方がおそろしいだろ。想像力無いの、バカなの、死ぬの?
子供たちが無知なる純粋さで、叫んでいるのを見るとかわいそうになる。
気候学は30年前には日本には田中正之教授くらいしかいなかったのに、今はバジェットがいっぱいあるからか、なんちゃってが日本の中心に居座ってしまっている。ファーストオーサーで査読付きの原著論文書いてるのかよ。そんなやつが、400編以上も書いている教授にだってそうなんだもんと刃向かっていたのはホントに笑えた。
サステナブルなエネルギーは絶対に進めるべき。原子力が使えなくなっている今、本気で考え無ければいけないが、とんちんかんな理由で推し進めるのはやめてほしい。

2019年8月18日日曜日

中国の蚊の実験、成功したってよ。

何年か前に、中国のある島で蚊の撲滅に関する実験が始まったと聞いて、どんな結果になるんだろうと思っていたところ、その研究成果がNatureに発表されたそうだ。
不妊の遺伝子を持つオスを離すのだと思っていたら、どうもそうでは無くて、不妊にするウィルスを使ったのだそうだ。
結局、97%刺されなくなったということで、大成功らしい。多分Natureだったと思うが、蚊という生物はいなくなっても生態系には影響しないという話が昔あったので、こういうピンポイントの攻撃はむしろスプレーでシューよりも良いのだろうな。
ホントに、蚊って、大嫌いだ。最近は音しないし。聞こえないし。

2019年7月26日金曜日

分類学習

分類学習は、実用レベルにちかづいてきている。
たくさんの認識/分類すべき対象が映り込んでいる画像から、正しくそれらを認識することは難しいが、ここ数年で、SSDやらMask RCNNなどの手法が出てきて見通しが明るくなってきているようだ。幾つか実装がGITHUBなどで公開されているが、Mask RCNNはメモリをアホのように喰うので私の環境のみならず、Google Colaboratoryでも動かない。
FacebookのFAIRグループが提供しているPyTorchベースのDetectronだと動くのかもしれないが、まだ手を付けていない。でもFast-RCNNは動いたと思う。
それに対して、若干落ちるSSDは、Caffeをいじって提供されているが、TensorflowやKerasでも実装されており、こちらはどうにかColabでも動作する。が、計算量が半端なくて1週間ほどかかりそうだ。
このような分類学習を突き詰めていくと、実社会では3次元空間の中にどう存在するのかというのまで行かなければならないし、先は長い。でも流石に金が集まっているだけ有って進みは速い。Google、Facebook, Microsoftなどが進んでいるのは流石。

温泉卵

温泉卵は好きだ。
白身が半熟で、黄身がとろっと半固形な感じが好きだ。
ところが、ネットで探すと温泉卵を全く分かっていない連中がいて、どうどうと記事の体で赤恥を晒しているのが見受けられる。
温泉卵は、白身と黄身の固化する温度が異なるところからきた面白い料理法で有り、単なる半熟ゆで卵とは異なるものだ。
温泉卵とは、どこかの温泉の源泉にほおりこんでおいたらできたという物なんだと思うが、箱根のように熱すぎると単なる固ゆで卵になってしまう。高温の雰囲気で半熟ゆで卵を作れば外側の白身がまず固まり、黄身はあとになり、時間を掛けすぎれば全部硬くなってしまう。
お湯にずっとつけておくと、卵全域がお湯と同じ温度になる。その温度が丁度良い70度くらいの時、黄身だけ固まるわけだ。
高温に晒されて、外側からじわじわと温度が高くなり、固まっていくゆで卵過渡製法と、丁度良い温度で全体の温度を一様にしてつくる温泉卵定常製法では、物理的にも全く異なる現象のものだ。
ゆで卵も好きだ。でも区別はしている。

2019年7月8日月曜日

My Painter for Android Released

TensorFlow Liteの習作として、掲題のアプリをリリースした。
これはちまたで有名な深層学習で、「画風」を学習させ、それを他の画像に「画風」を写像させるという、"Neural Style Transfer"技術を応用したものだ。
最初にGatysさんが提唱して後、様々な改良されたアルゴリズム(ネットワーク)が提案されて来ている。最初のアルゴリズムでは、元の「画風」は固定されていたが、今回このアプリで使われているアルゴリズムは、ネットワークの入力として「画風」データと元画像の二つから、リアルタイムに「画風」が加味された画像が出力されるというものだ。
ベースのアルゴリズムはAdaINと呼ばれるものを使った。
これをTensorflow Liteと呼ばれるAndroidなどのMobile Device用の推論専用のライブラリを用いてAndroidに実装した。学習に使うTensorflowと、推論に使うTensorflow Liteではサポートされる演算子が異なっているため、学習する時に注意をしないとLiteで使えないネットワークになってしまう。この二つのライブラリの差異は演算量の大きさからサポートしないと決定されたものと、まだ出来ていないだけのものから起きている。後者は待ってたりお願いしたりすると早まるが、前者は避けなければならない。日夜開発は進んでいるので、nightlyのパッケージを使うと最新のものが利用できる。
さて、今回のアプリはメモリをかなり使う方なので、新しいデバイスでしかサポートしないことにしているが、実際にはかなり古いAndroidでも、解像度が低くても良ければ動作する。

2019年6月27日木曜日

Tensorflow Lite GPU Experimental が動くAndroid Tablet

Tensorflow Liteはどんどん進化している。バグを申請すればあっという間にパッチが当てられ提供される。そして、知らなかったけど、Android GPUを用いた高速度版も存在する。これは多くのAndroid DeviceでサポートされるOpenGL ESの機能を用いたもので、どうもESL3.1以上が必要。残念ながら私のJ:Comのおまけのタブレットではちゃちすぎて使えない。同様にiPhone Metalにもサポートされていて、MobileNetV1を用いたデモプログラムがiPhone6Sでサクサク動いている。
さて、Android DeviceがESL3.1以上かどうかというのはパッケージには書いてないし、メーカーにも書いていない。OSとの兼ね合いかもしれないけど良くわからない。
そんな中、ベンチマークソフトベンダらしい、GFXBench.comというサイトを見つけた。ベンチマークソフトを提供する代わりにデータをもらってHardware Infoのデータベースを作っているらしい。すばらしい。

2019年5月24日金曜日

Python Spicy.misc.imread is obsoleted, but what the alternative?

とうとうScipyからimreadが消えてしまった。前々からアナウンスされていたらしいが、大して気にしていなかった。ついこないだまで、Google Colaboratoryでも動いていたので。
ところが昨日動かないことが判明し、一体何がどうすべきなのか調べたがガセばっかりだった。
で、結局ちゃんとScipyの1.2.0のドキュメントを読むと、ちゃんと書いてあった。
imageioを使えと。
さて、imageioを見てみるとimreadなどの関数が存在することは確認できたが、どうも引数が異なっている。なんも考えずに壊れた画像ファイルを見つけるスクリプトを動かしたら、全部消されてしまった。
imageio.imreadには、ドキュメントには無い引数がある。そして、Scipy.misc.imreadで使われていた、mode, flatten,はそれぞれ、pilmode, as_grayに変更されている。これらの引数はimageio.imreadのドキュメントには無く、個別の画像フォーマットに追補されるものであるらしい。例えば、PNGフォーマットのpilmodeには、L,P,RGB,RGBA,CMYKその他などがある。だから、
spicy.misc.imread("file.jpg",mode="RGB")
だったら、
image.imread("file.jpg", pilmode="RGB")
となる。