A Day in the Life

ラーメン屋・麺布亭とクリスマスパーティ / 2021年12月25日

昼食はラーメン屋、麺布亭で豚骨ラーメン。麺が九州豚骨ラーメンの極細麺と違って普通の細麺で、そこは極細麺の方が好みだったが、豚骨自体は無難なおいしさ。この辺で豚骨ラーメンが食べられる店がほとんどないので、食べたくなったらまた来たい。


午後からはO夫妻と我が家でクリスマスホームパーティ。近日にある妻の誕生日をサプライズで祝ってくれてありがたいかぎり。みんなでボードゲームをいくつか遊んだのだけど、その中でもカタカナーシ2というカタカナ用語をカタカナ無しで説明するというゲームが面白すぎて涙が出るほど笑ってしまった。O夫妻もキャラが違う2人なので掛け合いも微笑ましい。ゲームをやりつつ飲み食いしていると、あっというまに8時間ほど過ぎてしまった。ほんと楽しい時間だったので、またやっていきたいなー。

撮影機材E-M1 Mark III/LEICA DG SUMMILUX 25/F1.4 II

EfficientNetB0・Cloud Functionsでの苦戦 / 2021年12月24日

Cloud Functions 上で EfficientNetB0 を使っての画像の embedding 抽出をやらせる実装を書く。手元環境ならCPUでも画像1枚なら20msもかからず終わるので、まぁ大したコストでもなかろう、重みの関数適用なだけだし、とdeployして画像を食わすとめちゃくちゃ時間がかかってタイムアウト。スペックを上げてもタイムアウトするので、何かが刺さっている感じがするが、デバッグがめんどくさい(Cloud Functions 環境でしか発生しない)し、TFの設定を弄ったりPythonのバージョンを変えてもダメだったので、日記生成VPSサーバでやらせることにする。月6$の貧弱なVPSでも大して時間かからず推論できるので、趣味コードだしこれで良いや。

EfficientNet B0の重み入りモデル(efficientnetb0_notop.h5)、たったの16MBなのね、パラメータが少ないとのことだけあって驚異的なサイズ…。更にサイズがどれぐらい減るのかなと、エッジ向けに tensorflowjs_converter --quantize_uint8 --input_format keras efficientnetb0_notop.h5 output_dir で変換させると、4MBほどになってブラウザでも推論できそうなサイズに。


ホットサンドブームは続いていて、2日に一度はホットサンドな朝食。

撮影機材E-M1 Mark III/LEICA DG SUMMILUX 25/F1.4 II

Next.js v12・移行と芦屋温泉 / 2021年12月23日

このサイト周りをいじってるついでに、Next.js を最新版に上げておくかーと v10 から v12 にする。トランスパイラが標準で babel から Rust で書かれた SWC に変わってた。build 時の速度は、自分の環境ではむしろ遅くなってしまったのだけど、ホットリロードはたしかに速くなってる気がする。Rust も広まってきて、wasm の勢いを感じるなー。

移行自体のマイグレーションはほぼ問題なくすんなりできて Next.js 偉いな。warn や error は至るところでドキュメントへの参照が出て、移行ガイドを見ずとも適当に修正していくだけの簡単なお仕事。ESLint なんかもそうだけどブラウザフロントエンド周りのおもてなし感はすごいよなー。解っていない適当な人が書いても、(開発環境が全うなら)コードがツールによっていい感じに修正されていく楽さよ。ちゃんと「この書き方はこういう問題が起きるから、こう直すべき」というドキュメントに参照URLが貼れれて理解した後に修正できるから、自動で人間が学習できる、というのもよくできている。


このサイトから友人・知人たちの「リンク」ページを無くした。メンテナンスできておらず、知り合いになった方々のURLの追記もできて無くよろしくないので。


黒磯駅前の iris bread & coffee でコーヒーとショートケーキを食す。上のメレンゲがサクアマでコーヒーとよく合う。ここのケーキ類は人気なようで、飛ぶように売れていく。今度別のものも食べたいな。


夜は芦屋温泉。行く前に余笹川ふれあい公園をちょっと散歩する。河川敷を吹く風が寒く、すぐに散歩を辞めてしまったが、広くて良さそうな公園。時期には釣りも楽しめそう。芦屋温泉の薬湯は相変わらず凄い効き目。行くのは3度目だろうか、お気に入りの温泉。


今日の読み進めは、データサイエンスのための統計学入門を6章を読み終える。ランダムフォレスト、GBDT(確率勾配法アンサンブル決定木)の違いの説明もわかりやすくなるほどー。というか、ランダムフォレストという名称は登録商標なのね。

商標は一般化すると普通名称化が起きて商標権の行使が不能となるらしい。しらなかった。

撮影機材RICOH GR III

アドベントカレンダー・GCS画像処理・冬至の柚子風呂 / 2021年12月22日

朝散歩。


最近皆さん Advent Caldendar 書いとるなーと、K氏の日記で日本最初期のアドベントカレンダーの一つ、JPerl Advent Calendar見てそういえばあったなーとアドベントカレンダーの中身を見ていると自分も書いていた…。まったくもって書いた記憶がないのだけど、内容的に自分が書いたものなのだろうなぁ。当時も文章が下手だが、今も対して変わっていない。というか進化の無さがヤバい。


引き続き日記画像のGCS移行の趣味コード書き。GCSの特定バケットに画像を置くと、webp にリサイズしつつ変換して、各種適当なサイズの画像を作る、みたいな Cloud Functions を作る。5000枚ほどバケットに配置すると15分ぐらいで処理が終わってる。なかなか便利。cwebp で変換してる(metadataのxmpも含めたかったのでcwebp。imagemagickだとできないっぽい?)のだけど、Cloud Functions には cwebp コマンドは入っておらず、Cloud Run で動かすのも面倒だったので cwebp のバイナリも含める。Cloud Functions はデプロイ時に、カレントディレクトリ以下すべてを pack して deploy するという豪快仕様なので、linux-x86_64 で動けば問題なし。

そのうえで GCS をファイルシステムとしてマウントして、画像を置くと勝手にいい感じにやってくれて、最終的元ファイルを削除してくれる機能を作ったのだけど便利じゃん、自画自賛。Lightroom CC で現像するだけでアップロードが終わるし、元画像は勝手に削除される。

そして昔作った画像リストを http の API として返す Firebase Functions もこちらに差し替えようと思ったけど、Firebase Functions の操作方法をすっかり忘れていて、1からCloud Functionsで書く。といっても関数一つ作ってCORSつけて叩けるようにするだけなのですぐ終わったのだけど。こういうのは使い慣れている環境だとあっという間だなー。

最低限の物はできたので、早速日記画像を差し替える。


Elasticsearch でもベクトル検索できる機能が2019年頃に入っていて便利そう、しらなんだ。ESはML系機能のここ数年は充実しているのね。

embedding というと自然言語処理の分散表現、と思っていたが、画像の分散表現でも使えるし、NNの構造を考えると応用範囲が広いなー、と俄然興味が出てきた。


冬至なので夜は柚子風呂。

撮影機材RICOH GR III

黒磯駅前・カラスの大群 / 2021年12月21日

妻を迎えに夕方黒磯駅前に行くと、1000羽以上はいるであろうカラスの大群が。なにか物事が起きるたび、わーーとカラスが飛び立ってすごい風景。以前は200羽ぐらい見かけて、黒磯駅カラス多いなーと思ったが、それどころではない風景だった。

スマフォで動画も撮って、写真よりも動画のほうがカラスの動く様は圧倒的に良いのだけど、サクッと動画を上げて日記に貼る、というやり方をまだ確立できてない。


先日の類似画像検索で、もっと画像をカジュアルに扱いたいという欲求が出てきて、重い腰を上げて画像をフォトライフから GCS に移行しようと、久しぶりに趣味コードをだいぶ書いた日。

フォトライフはサービス単体での有料課金も終わってしまったし、インターフェイスも古いままなので、そのうちフォトライフ単体のサービスとしては画像消滅とまではいかくなくても、ファイルアップロード機能は終了してしまう(はてなブログの裏側用途飲みに使われる)気がしていて、いつかは画像を移動しないと思っていたので、まぁしかたなし。

撮影機材RICOH GR III

低温やけど・ダイユーエイト訪問・決定木学習 / 2021年12月20日

朝起きると、足がちょっとヒリヒリ痛い。電気毛布に裸足で直接当たっていた部分なので、低温やけどかもしれず、電気毛布気をつけねば。


もうちょい簡易棚を作るためにダイユーエイトに。カットサービス便利だなぁ。写真はホームセンター前。


今日の読み進めは、データサイエンスのための統計学入門を6.2の決定木を読み終える。treeで分けた区画の不純度(正確性)を測るには、ジニ不純物かエントロピーで算出する。なお決定木で分類ではなく回帰(連続値の予想)のときには、不純度をRMSEで判断する。なお決定木は分類精度としては良くないが、人間が結果を容易に解釈可能なのが利点。

sklearn の実装を見てみてると、DecisionTreeClassifierでは giri or entroypで標準では gini が使われている。またDecisionTreeRegressorでは MSE が使われている。また、決定木は回帰でも分類でもつかえるため、実装的には回帰・分類共に親クラスBaseDecisionTreeで木構造を表現している。

撮影機材RICOH GR III

リコー ハイカラー35・ひつじ珈琲・黒羽温泉五峰の湯 / 2021年12月19日

雪が降った次の夜はとても冷え込んで、朝方の最低気温はマイナス7度。先日届いた電気毛布を使ったおかげか、暖房がない寝室だがとりわけ寒さを感じなかった。外の雪は、土の上のはだいぶ残っているが、アスファルト部分はほぼ溶けていて凍っておらず良かった。

リコーの1968年のカメラ、HI-COLOR 35が届いたので、解説記事やYouTubeを見つつフィルムをセット。とりわけ動画で解説されるとわかりやすい。このカメラは店頭でジャンク品を見て、デザインのレトロ近未来感が気に入って、いつか完動品を買おうと思っていたもの。細かいスペックは135フィルムが使える、ぐらいしか知らなかったのだけど、なるほどレンズは広角の35mm F2.8、シャッター速度30~300、CdS露出計、その露出計を使いシャッター速度優先オートで撮影できるカメラなのね。試し撮りすると、どれも正常に動いてそうだった。

カメラ外観のデザインもハイカラーはいくつかあるのだけど、前面に曲線が描かれたこのデザインの物が欲しかったのだよなぁ。


雪の次の日の道路や景色はどんな物だろう&カメラの試写もかねて近所をドライブしつつ、何度も行っている伊王野の道の駅へ。晴れの天気だったので、昼過ぎにはもうほとんど雪は溶けてしまって、道路的には安全だったけど景色的に雪景色が見れずちょっと残念。道の駅周辺を散歩すると、川の水は雪解け水が流れていて非常に綺麗だった。


昼飯は道の駅のミックスフライ定食。フライたくさんで満足。時々こういうのが食べたくなる。


日曜は市が開かれており、いろいろなものが売られている。店の一角で100円の値札で置物・陶器を売っていた店でおじいさんが「100円ショップだよ〜」と楽しく話しかけてくれて、ちょっと離れてたらおばあさんが「あんた、これちゃんとした焼き物だから100円は安すぎだよ」といって高い(といっても数百円だが)値札をつけて別のところに移動していたりして面白かった。


続いて車を滑らせ、ひつじ珈琲へ。カフェではなく豆の専門店で、店員さんが親切に様々なことを教えてくれ、浅煎りブレンドを購入する。お店の内側も心地よい空間だったし、外では豆や粉の自動販売機もあったりした。良い場所だったのでまた行きたい。この辺は大田原市なのね。


その後、黒羽温泉五峰の湯へ。この辺はさらに山と畑という感じで景色が良く、自転車で走ったら気持ちよさそうだよなーとH氏のことを思い浮かべたりした。五峰の湯はその名の通り、五つの峰が見えるらしいのだけど、ちょっと曇ってきてあまり見れず残念。しかしそれを差し引いても、500円の入浴料で広い内風呂・広い露天・アルカリの温泉が味わえかなり良かった。本当ならサウナもあるのだけど、コロナ禍のため今流行っておらずそこだけが残念。値段が安いのは大田原市の施設だかららしく、大田原市のお年寄りなら250円で入れ、客層の7割ぐらいはお年寄りであった。老後はこんな温泉が近くにあったら毎日通って楽しく元気に過ごせそうだ。

撮影機材RICOH GR III

雪・ホームセンター・散歩 / 2021年12月18日

朝起きると外は雪。昼前まで降り積もる。昨日の天気予報では雪の予報ではなく、午前中に見た天気予報も曇りなのだけど、結構降っていて、山の天気は変わりやすいなぁ。家がとても寒くなり、普段より暖房をだいぶ強めに。そしてこんな日に限り、妻は東京へ行かねばならないという。


昼過ぎに雪がやみ、今のうちにとホームセンターで雪かき用スコップを購入。あれほどたくさんあったスコップが残り2個になっていて、圧倒的な需要の伸びを体験した。自分が買ったあとすぐに最後の1個が売れていた。


家に帰り最低限の道路の雪かきをしたのち、日が差してきたので散歩へ。雪化粧の中の散歩はがらっと雰囲気が変わって気持ちが良い。


家に引きこもってアレコレ。Windows 10 を 21H2 にあげて GPU (cuda) を WSL2 や docker で使えるようにしたり、類似画像検索が簡単にできそうなのでやってみたり。

類似画像検索、ちゃんとCNN理解してる人なら、こういう用途にも使えるよねーとすぐ解りそうだけど、自分は紹介されてるのを見るまで気付きもしなかったので、もっとぱっと思いつけるようになっていきたいものだなー。

撮影機材E-M1 Mark III/OLYMPUS M.12-100mm F4.0

那須牛・すきやきと洋梨の追熟 / 2021年12月17日

ふるさと納税でお隣那須町の那須牛をいただく。おいしい牛肉の家調理はすきやきに限るなぁ。


以前、ご近所さんから頂いた洋梨を、コンフォート用にと、腐りかけぐらいになるまでだいぶ追熟させていたいたのだけど、普通に食べるとめちゃくちゃ美味しい。甘さ、香りのフルーティさがすごい。来年はもっと洋梨を買って沢山追熟させたい。


今日の読み進めは、データサイエンスのための統計学入門を6.2の決定木に入り6.2.2まで。ちょっとだけ。

撮影機材E-M1 Mark III/LEICA DG SUMMILUX 25/F1.4 II