MOB-LOG

モブおじの記録 (Programming, 統計・機械学習)

Coffee調達 in Finland #3—ハンドドリップ編—

フィンランドでいろいろなコーヒー豆を試して美味しいハンドドリップコーヒーを飲むためにレシピ最適化アプリを作った。

(アンチパターン)親知らずを抜かない海外留学

本記事は 海外TUT Advent Calendar 2023 の15日目に寄せた記事です。 14日目は『(脱法)睡眠管理 in Finland』を書きました。今日もカフェインを摂取して目を覚まし、メラトニンをキメていい夢を見たいと思います。 はじめに よくある留学のTIPSでは「親知…

(脱法)睡眠管理 in Finland

本記事は 海外TUT Advent Calendar 2023 の14日目に寄せた記事です。 11日目と13日目の今井さんの投稿は、手持ちのPCが壊れてしまい滞ってしまっているようです(新しいものを用意でき次第投稿)。 12日のイットリウムさんの 『海外留学を目指す技科大生が応…

フィンランドでハンドドリップ用の器具を揃える話(コーヒー調達 in Finland #2—器具編—)

昨日5日目の記事では学歴ロンダリングポエムを書きました。 フィンランドでコーヒー環境が充実していることを示しましたが、おいしいコーヒーは手放しでは得られません。ここではフィンランドでコーヒーQoLを向上させるためにできることを紹介します(今回は…

【令和5年最新版】高専生用 新しい形の学歴ロンダリング ★★★★★ 11件

こちらの記事は海外TUTアドカレの5日目に寄せた記事です。 4日目は今井裕之輔さんの『高専生2度目の短期留学!in NZ』で、高専時代にニュージーランドへ留学した経験を紹介した記事でした。高専のプログラムで単純な語学交換留学だけでなく、工学系の講義が…

コーヒー調達 in Finland #1—基礎編—

この記事は海外TUTアドカレの2日目に寄せた記事です。 1日目は、今井裕之輔 さんの『高専生のはじめての海外留学 in Australia 』でした。記事中にあった 同じ国の人たちで固まってずっと母語でコミュニケーションを取ってしまう。 は留学あるあるのアンチパ…

Flutterでのオブジェクト同一性の確認 identityHashCode

Flutterでオブジェクトを比較するとき、`identityHashCode()`によるハッシュ値が使用できる。調べたい場面でブレークして、`identityHashCode(obj)`とするだけ。これで異なるスコープやsetState前後の同名の変数でもオブジェクトを比較できる。

コーヒードリップレシピのパラメータ最適化 Human in the Coffee Loop (HitCL) モバイルアプリ(開発中)

TL; DL Optunaハンドドリップ・コーヒー抽出のパラメータ最適化(Human in the Cofee Loop)をSlackBotとGoogleFormで回していたが、Flutter/Firebaseのプロジェクトを作りスマホアプリにした。 以下の記事の続きである。 moblog.hatenablog.jp moblog.haten…

powershellでコマンドのbatが構文エラーを出すとき。

batファイルのエラー文は情報が少なすぎるので、Get-commandとかでソースコード見たり、`@ECHO off`をコメントアウトして実行してみたり(`@ECHO off`→`@REM @ECHO off`)すると何かしら情報が得られる。

CUDAで使用するGPUのVRAM容量を制限する・制限を解除する。が、なぜかすべてのVRAMを使用してくれない。

PyTorchで深層学習を行っていて、たまに以下の様にVRAMに余裕があるのにすべて予約せずにOut of Memoryを吐いてくることがある。 GOM設定など見てみたが、解決していない。やれやれ。

Flutterでカメラ撮影後、CameraControllerを生成してCameraPreviewを立ち上げても何も映らない件→Future.delayed()で1[msec]だけ待ったら何とかなった

TL;DR FlutterでCameraController.takePicture()後にCameraPreviewを再起動するため、CameraControllerインスタンスを再生成・initialize()していたらAndroidでの実機デバッグ中にinitialize()が失敗してしまった。よくわからないが、インスタンスの生成→ini…

Flutterでウィジェットの再構築のために自身のクラスのインスタンスを生成して遷移していたが意味がなかった様子。StreamBuilderでFirebaseのドキュメントを表示していて、値が変更されても表示が更新されないとき。

(タイトルに書いてあるものの、今回はStreamBuilderもDocumentSnapshotも関係ありません) TL;DR Firebaseからのデータの再取得と画面の更新のためにウィジェットのインスタンスを再生成→新たなインスタンスへ遷移、としてリロードボタンを設置していたが、そ…

Flutterで遷移のときNavigatorに余計な遷移を残したくない場合、`pop()`→`push()`ではなく、`pushReplacement`を使う。 Navigator.of(context).pop() does not work in Flutter

TL; DR Flutterで遷移のときNavigatorに余計な遷移を残したくない場合、pop()→push()ではなく、pushReplacementを使う。 ⇒ Navigator.of(context).pushReplacement(MaterialPageRoute()) pop()→push()だとでコンテキストのスタックが現在のウィジェットしか…

Flutterで setState() or markNeedsBuild called during build →StatefulWidgetの@override build() が完了する前にMaterialPageRouteによる遷移を実行してしまったときのエラー

TL;DR StatefulWidgetの@override build() 内でMaterialPageRouteによる遷移やsetState()を実行してしまうと、setState() or markNeedsBuild called during build 例外が発生するので、そういった処理はbuildが完了した後に実行されるようにWidgetsBinding.i…

FlutterでWidget遷移したいがBuildContextが参照できないとき→ GlobalKey<State>をnavigatorKeyに指定してアプリのどこからでも参照できるようにする

TL;DR Flutterにて、Navigator.of(context)としてウィジェットを遷移するために、いつでもどこでも参照できる最新のBuildContextを保持した変数が欲しかった。 ⇒ MaterialAppのnavigatorKeyはどこからでも参照できる様子なので、main()でrunAppするとき、大…

FlutterでWidget遷移したいがBuildContextが参照できないとき→ GlobalKey<State>をnavigatorKeyに指定してアプリのどこからでも参照できるようにする

TL;DR Flutterにて、Navigator.of(context)としてウィジェットを遷移するために、いつでもどこでも参照できる最新のBuildContextを保持した変数が欲しかった。 ⇒ MaterialAppのnavigatorKeyはどこからでも参照できる様子なので、main()でrunAppするとき、大…

MapをMethodの引数にしようとしたときのnon_constant_default_value エラー: Map<String, dynamic> The default value of an optional parameter must be constant

関数、メソッドの引数に Map<String, dynamic> とか List <dynamic> とか与えたくなるけど、引数がOptionalの場合、適当に以下のように初期値を与えようとするとnon_constant_default_valueエラーになってしまう(”The default value of an optional parameter must be constant” とか</dynamic></string,>…

海外で自作キーボードのパーツ調達 in Finland(Pro Micro が壊れてLily58が使えない)

はじめに Lily58キーボードが壊れてProMicroとコンスルーが必要になったけど、Finlandでそれらの調達に苦労したのでそれについてまとめる。海外(EU圏)で暮らす自作キーボードニキがどのように調達できるのかの目安になれたらと思う。 結論から言うと、Pro …

(やらかし)Optunaで多変量最適化をしてたと思ったらTellのときtrialの目的値をミスってて試行回数n=0のまま最適化してた(valueではなくvalues)

OptunaのAsk-and-Tellでデータセットから複数の目的値を設定して Multivariate Optimization していたと思ったら、TellするときのTrialの目的値を`values`でなく`value`に入れていたので、全く学習(Tell)できていなかった。 複数目的値を設定した時は、 `o…

Q. pandas.Dataframe.query で”column==max(column)”を求めたい。A.「@で変数を参照できる。」

`df`内のある列`column` について、`column`が最大の行を取ってきたい。pandas.DataFrame.queryで@参照をしたら簡単に求められる。(公式ドキュメント読むの重要だね) ChatGPTは検索エンジンとして僕より優秀だし、パッケージの公式ドキュメントは検索で見…

(運用準備・環境構築編) Optunaを用いたコーヒーのハンドドリップ最適化のSlackBot (Human in the Coffee Loop)

Optunaでコーヒーのハンドドリップのパラメータを最適化してくれるSlackBot(Human in the Coffee Loop)の環境構築

Optunaを用いたコーヒーのハンドドリップ最適化をSlackBotで (Human in the Coffee Loop)

Optunaをハンドドリップ・コーヒー抽出のパラメータ最適化(Human in the Cofee Loop)をスマホから実行したかったので(コーヒー淹れるたびPCでスクリプトを実行するのがくそ面倒)、Slack botにリクエストを投げて実行出来るようにした。 まだまだ人に紹介…

ハンドドリップコーヒーの抽出パラメータをOptunaで最適化したい

コーヒー抽出のパラメータを最適化できるらしい。おれ、ハンドドリップに親しい。せやハンドドリップのパラメータ最適化しよう。Optunaで温度とか注ぎ量とかタイミングを最適化するシステムを用意したゾ。

torch.nn.functional.cross_entropyで、weight指定してlabel_smoothing>0 のときにOut of bounds エラー(ignore_index が機能していない疑惑)

torch.nn.functional.cross_entropy(Input, Target, ...) において、weight (size=[tex:(C,)])を指定、ignore_index をクラスサイズC以外のインデックスに指定して (e.g. -100, -255)、label_smoothing > 0, reduction='mean'とするときだけ Out of bounds e…

(メモ) torch.nn.functional.cross_entropy, 損失計算のweightの設定

(チラ裏の日記、こんなことしてたなあとなります) クラスごとのピクセル数に偏りがあるため,ピクセル数が多いクラスほど軽視するよう (多いクラスを正解してもlossが余り減らない)に設定していた.(と思っていた) 損失関数 torch.nn.functional.cross_e…