Home About Contact
DeeplabV3+ 再び、PILのパレットモードについて調べる

以前 DeepLab v3+ でパン領域の判定を試みていた。 これに再度取り組もうとしたらさっぱり忘れていたので復習する。

基本的にカスタムの判別器をつくりたければ、DeepLabV3+ が想定する自前のデータセット(トレーニング用)を用意して あとは実行するだけなのだが、そのデータセットのつくり方を 雰囲気でなんとなくやっていたので、もうすこし理解を深める。

» Read More
GitHub Copilot にコードの整形を頼む

GitHub Copilot が VS Code で使えるようになっていることが前提です。

Make ImagePath Array Pretty

長すぎる配列に改行を入れてもらう、をやってみた。

» Read More
Streamlit で簡単にウェブアプリをつくる(その2) Open AI API の Chat Completion を使う

その1 からの続きです。

NovelGen

その1では、 Streamlit で UI だけつくったので、 あとは、実際にプロンプトから OpenAI API 経由で文章を生成させる機能を追加します。

» Read More
Streamlit で簡単にウェブアプリをつくる(その1)

Streamlit で Open AI API を使いデモをつくります。 Open AI API への対応はその2でやることにして、 今回は Streamlit で最低限のウェブインタフェースをつくるところまで進めます。

» Read More
BeautifulSoup を使って HTML のテーブルデータをCSVへ変換する

ネット上のドキュメントで一覧表をHTMLのテーブルデータとして 掲載されているが、表計算(エクセル)用のデータまたはCSVデータは 提供されていない、という場合の対処方法です。(覚え書き)

GPT-4 Vision API など使えば、そのHTMLまたはそれをPDFにしたデータを アップロードした上で「CSVデータに変換して」といえば済むのかと思ったのですが、 どうやらまだ(今のところは)そこまで簡単にはいかない模様。

ChatGPT Plus であればすでにその手のことができるようになっているかもしれません。試していません。

数年もたてば ブラウザに搭載された AI に「今見ているページをエクセルに変換して」といえば済む世界が来そう。

ただ・・・この手の処理で GPT のような LLM を使う場合の不安は、 一部が間違って変換されても気づかない、という問題です。 人間が手作業でやった場合、間違いが混入することはある(ヒューマンエラー)ので、 その作業を GPT 的なもので代用した場合には、 人間とGPT(的なもの)とどっちが間違い多いか?みたいな問いになるとは思う。

たとえば、データ内に価格情報があった場合に間違った値として変換されると場合によっては悲惨なことになる。

しかし、HTMLのテーブルデータがあるのであれば、 Python + BeautifulSoup を使うことで、CSVへの変換が可能。 この古典的なやり方ならば、 変換用のコードに書いたルール通りにHTMLデータができている限りは 変換後のデータに間違いないと確信できる、 という点において GPT的方式より優れている。

» 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
日本語LLM ELYZA を試す / LLM を ローカルで動かす時代の幕開け

Large Language Model をローカルで動かす時代が到来するらしい。

Reddit には LocalLLaMA というサブレディットがあり、かなり盛り上がっている。 そこでは シリコンマックを使っているひとが結構いる。 Meta の 商用利用も可能な Llama 2 がオープンソースで提供された結果、 その派生プロジェクトがいろいろ存在している。 そのなかには、低スペックの シリコンマックでも LLM を実行できるものがある。 Pytorch もMetal 対応していて、 おそらくは、Pytorch 依存の LLM モデルについては、Linux + CUDA と同じ手順で動かせるのではないかと思う。

Pytorch を使う方法を 手元の M1 Macbook Air 8GB で試したが残念ながら作動しなかった。 たぶんメモリが足りないのだと思う。 十分メモリがあれば動くのではないかと思うが定かではない。

それでも Llama.cppと軽量化されたモデルを使うことで M1 Macbook Air 8GB でも作動させることができた。

このエントリーでは、Linux + CUDA で、 Llama 2 をベースに商用利用可能な日本語LLM ELYZA を試します。

» Read More
Semantic Segmentation の結果確認画像の合成 / 該当ピクセルを重ねて表示

自分で用意したパンの写真 120枚 を使って、Keras の Deeplab V3 plus を使ってファインチューニングしたモデルをつくった。 そのモデルを使って新たに撮った写真でパンの写っているピクセルを推測した結果。

semantic segmentation my-bread-120

※赤いピクセルで塗った部分がパンとして推測されたピクセル。

今回は、この元画像と結果を合成する方法について書く。

» Read More
Bottle に React から POST する

Python Web Framework の Bottle で GET/POST する方法を確認します。 その後、React からPOSTを使うところまでの備忘録です。

bottle and react 2

» Read More