Home About
Stable Diffusion で画像を生成(Cannyエッジを経由)

コーヒーカップの写真を撮ってそこから欲しい画像を作り出す実験です。

a photogenic coffee cup

» Read More
StableDiffusion + ControlNet その2 手描きの線画から画像を生成する

以前のエントリーControlNet を使ってざっくり手描きした絵から期待する画像をつくる を書いたのですが、Diffusers ライブラリを使えば、Web UIではなく、コマンドラインから python コードを実行する形で、 画像を作り出すことができることがわかりました。 その結果を備忘録として書き残します。

a coffee cup

» Read More
Stable Diffusion をWebサーバ経由で実行する(Bottle を使用)

前回のエントリーで Hugging Face の Diffusers ライブラリを使用して テキストから画像を生成しました。今回はその続きで、それを Bottle を使ってWebサーバにしました。

venv 環境は前回作成した diffuers 環境をそのまま引き継いでいる点に注意してください。(OS は M1 macOS ではなく Linux(Ubuntu) を使います。)

a cup of coffee (1)

» Read More
Conda なしで Stable Diffusion する(Diffusers ライブラリを使用)M1 mac と Linux + CUDA

Conda を使わないで、venv だけで Stable Diffusion を使うことができたので、ここに記録しておく。 試した環境は M1の macOS と Linux(Ubuntu) + CUDA です。

A cup of coffee, plain background, art by Hokusai

» Read More
Quick, Draw! のデータをパースして SVG に変換

Quick, Draw! というプロジェクトがあります。 ここで描かれた落書きデータの入手方法がこちらで説明されているので、kotlin でパースして SVG に変換してみました。

ゆくゆく ss one のプロジェクトで、 これを何かに活用できないかとは思っている。

» Read More
QuickJS を WebAssembly に変換して ブラウザ上で使う

QuickJS を emscripten で WebAssembly にして、ブラウザ上で動かすのを試した。その覚え書きです。 動機としては、 JavaScript を使った web 上で動く playground をつくりたいと考えているから。 直接 eval するのは怖いので、QuickJS を使う。

» Read More
食品の原材料表記の括弧の多重入れ子文字列をパースしてトークンに分割する

たとえば無印良品のこの食品 フライパンでつくるミールキット 海老といかのアヒージョの商品表示情報のPDFをみると以下のような文字列が原材料名に記載されています。

ブロッコリー(エクアドル)、揚げじゃがいも(じゃがいも(国産)、植物油脂)、殻付き海老(インド)、いか(中国)、(一部にえび・いかを含む)

このように括弧が入れ子で多重に出現している文字列、しかも、一重/二重/三重・・・ n 重のバリエーションがある文字列をパースすることを考えたい。

最終的には以下のように括弧で括られた部分を AST(Abstract syntax tree) に 変換して、各トークンをその括弧の包含関係を生かした状態で把握できるようにしたい。

ingredients-AST

» Read More
Crostini IME support によりChromebookのブラウザ(Vivaldi)で Ctrl+N できるようになった

ブラウザのテキストエリアで Emacs キーバインド を使いたいというエントリーを随分前に書いたのだが、これはその続編です。

crostini-ime-option

» Read More
ローカルPCで Rinna 3.6B (rinnna japanese-gpt-neox-3.6b) を試した

Ubuntu Server 22.04 + GPU 12GB で Rinna 3.6B を動かしたので、その備忘録です。

モチベーションとしては、LlamaIndex で実現しているのと同じようなことをこのモデルなどを活用しながらつくることができないかと思っています。

» Read More
テキスト、文章の分散表現(Embeddings)を取得する

SentenceTransformers を使うことで、文章やテキストの分散表現を計算できる。

You can use this framework to compute sentence / text embeddings...

今回はこれをやってみたので、その備忘録です。 とりあえず、なんとなくできたというレベルなので、その点ご了承ください。 使用したのはこちらの日本語BERTモデル bert-large-japanese-v2 です。

» Read More
Go で JSON を ファイルから読み込んで使う(備忘録)

以前にGolang で JSON を Marshal, Unmarshal する というエントリーを書きましたが、その続きです。 ファイルとして用意してある json データを読み込んで使う方法。

» Read More
Kotlin, fold を使って階層のあるリストをパースする

たとえば、次のようなマークアップされたセカンドレベルまで階層のあるリストを表現したテキストがあったとして、 それを kotlin の fold を使ってパースして構造化する例を考える。

» Read More