Home About Contact
データ変換を Writer Monad 的に処理する その2

このポストはすでに古い。 こちら 改訂版 を参照ください。

今回は 前回のエントリーで実装した Writer を引き続き使って、 より実践的な例でこれがどのように便利かを説明します。

» Read More
データ変換を Writer Monad 的に処理する その1

このポストはすでに古い。 こちら 改訂版 を参照ください。

たとえば価格改定などで、昨年と今年の価格表がエクセルデータとして支給される。 そして、それを商品ごとにマージして、最新の価格表を提出せよ、 といったタスクがあったとする。

このとき、商品ごとにキーとしての id が設定されているわけでもなく 商品名が一致したら同じ商品として扱うという雑な仕様。 そして、入力ミスにより微妙に商品名が昨年と今年で異なるものが含まれてもいるのだが、 同じ商品として扱ってほしいと言われたりする。

さらに価格が値下がりしている商品があるのだが、それらは価格入力をミスしている恐れがあるので、 そういう場合は警告しなければならない。などなど。 このような状況で、昨年と今年のデータをマージして最新の商品価格情報を作り出す必要がある場合に、 Writer Monad があれば心強い ですよ、という話です。

» Read More
Kotlin で Maybe その2 普通に Optional を使う

随分以前に Kotlin Sealed クラスを使った Maybe の実装というエントリーを書いたのだが、 Maybe を使う目的が 値があったりなかったりする値 を上手に扱いたい、ということであれば、 わざわざ自前で定義するのではなく、 (Java とか Kotlin の世界では)java.util.Optional を使えばいいじゃないか。

» Read More
特定のディレクトリ以下全部のファイルとディレクトリをリストにする

要するに Tree 構造のものをフラットにしたい。

たとえば、特定のディレクトリ以下から PDF ファイルのみを抜き出してなにか処理するとか、そんなタスクに使うコード。 もちろん、シェルスクリプトで書けば以下のように簡単に記述することができる。

» Read More
Diffusers の Scheduler を試した

Coffee Cups

詳細はここ https://huggingface.co/docs/diffusers/using-diffusers/schedulers に書いてある。

先日の実験では DPMSolverMultistepScheduler を使うと真っ黒の画像になる、などと書いていたが、 今回あらためて試したところ、普通に作動した。

» Read More
Silicon Mac で Controlnet + Stable Diffusion 1.5 を試す

そこそこ速いシリコンマックでの、 Controlnet + Stable Diffusion 1.4 を試す。

A laptop

» Read More
Silicon Mac で Stable Diffusion 1.5 / 2 / 2.1 を試す(Diffusers ライブラリを使用)

そこそこ速いシリコンマックでの Stable Diffusion まとめ。

A cup of coffee

» Read More
日本語 LLM ELYZA 追伸

torch_dtype=torch.float16 指定を外すとどうなるか試しました。

» Read More
日本語 LLM ELYZA で JSON を返すサーバをつくる

そこそこに速いシリコンマックで ELYZA-japanese-Llama-2-7b-fast-instruct を使って クライアントからテキストを投げると JSON文字列 を返すサーバをつくります。

» Read More
macOS US キーボードでの日本語入力切り替え

いつも US Keyboard を使ったマックでは、日本語と英語入力の切り替えを Command + Space で行っている。

Macで日本語入力ソースに切り替える https://support.apple.com/ja-jp/guide/japanese-input-method/jpimf6ffb247/mac この辺の話。 毎回セットアップのたびに右往左往しているので、記録しておく。

» Read More
Silicon mac にも Asciidoctor と Pandoc 3.1.9 を入れた、GNU sed のインストール

Kindle 用のEPUB生成に Asciidoctor と Pandoc を使っている。 M1 macbook air (Ventura) にも同じ環境をつくることにした。その備忘録です。 なお Homebrew は使わない。

» Read More
Ubuntu 22.04 への Pandoc 3.1.9 のインストール、Asciidoc から EPUB への変換

Kindle 用のEPUB生成に Pandoc を使っているのだが、古い Pandoc では、ソースコードとして json を記述した部分のインデントが意図通り変換されない問題があった。 そこで最新の Pandoc にすれば解決するかと思い、インストールをはじめた。 予想外に大変だったのでインストール記録を残す。 なお、json のインデント問題は解消されました。

» Read More