見出し画像

Cloudflare Constellation から誘われてチュートリアルをシュッと

Good Morning (/・ω・)/


昨日の Google PaLM に引き続き、今朝起きたら Cloudflare の Constellation への招待メールが来ていたのでござる。


わーい (/・ω・)/

The wait is over!
Your account bbz(マスク) has now access to Constellation. You can read the Private Beta announcement in our blog and find information about how it works and how to use it in our Developer Documentation page.

We strive to make the enrollment and usage as straightforward as possible, so please share your feedback with us. As usual, you can talk to us on our Developers Discord or the Community forum; the team will be listening.

Enjoy the private beta!

The Cloudflare Team

招待メール




ということでシュッとチュートリアルをやってみた




Constellation については

をみてね☆



シュッと ↑ ページを ChatGPT に要約してもらった

Cloudflareは、新たな機能「Constellation」を発表しました。これは、開発者がCloudflareのネットワーク上で事前に訓練された機械学習モデルと推論タスクを実行できるようにするものです。これにより、画像や音声の分類、データの異常検出、テキストの翻訳や要約、自然言語処理、感情分析、音声認識やテキスト読み上げ、質問応答など、多岐にわたるアプリケーションを開発できます。

Constellationは、Cloudflare Workersスクリプトと組み合わせて使用することができ、HuggingFaceやONNX Zooなどの機械学習ハブから事前に訓練されたモデルをダウンロードして使用することができます。また、Cloudflareは、検証済みで使用準備が整ったモデルのカタログも維持します。

Constellationは、開発者の経験を重視し、使いやすいAPIを提供します。例えば、画像分類アプリケーションを作成する際には、Constellationの推論APIとSqueezeNetモデル(1000以上のカテゴリに画像を分類できる畳み込みニューラルネットワーク)を使用します。

また、Googleが開発したディープラーニングモデル「Transformers」もConstellationで使用できます。これは、自然言語処理や画像分類などのタスクに使用されます。

Constellationは、Cloudflareの他の製品やAPIと組み合わせて使用することができます。例えば、Email Routingを使用してドメインのメールを受信し、Constellationを使用して感情分析モデルを実行し、結果のスコアをヘッダーに追加して宛先アドレスに転送するといったことが可能です。

現在、Constellationはプライベートベータ版として提供されています。

Created by ChatGPT



さらに超絶簡単にまとめてもらった

Cloudflareの新機能「Constellation」は、全世界に広がるエッジネットワーク上で機械学習モデルを実行できるツールです。これにより、開発者は高速で低レイテンシの機械学習タスクを簡単に実装でき、さまざまなアプリケーションの開発が可能になります。

Created by ChatGPT



夢が広がりますなぁ。



ござるござる( ・ω・)




ということでチュートリアルをシュッと




まぁドキュメントに書いてある通りなので書く必要があるかどうか微妙でござるが



今回はローカルでシュッと画像の分類するやつを作るのである

mkdir constellation
cd constellation/

npx wrangler constellation project create "image-classifier" ONNX
npx wrangler constellation project list

リストが表示されるよ

mkdir image-classifier-worker
cd image-classifier-worker

npm init -f
npm install wrangler --save-dev
npx wrangler init

なんか色々質問されるけど大体 Y でおけ

cd royal-credit-2f4a/ // なんかすげぇ名前がデフォで設定された (/・ω・)/

npm install @cloudflare/constellation --save-dev

wget https://github.com/microsoft/onnxjs-demo/raw/master/docs/squeezenet1_1.onnx
npx wrangler constellation model upload "image-classifier" "squeezenet11" squeezenet1_1.onnx
npx wrangler constellation model list "image-classifier"

リストが表示されるよ

wget -O src/imagenet.ts https://raw.githubusercontent.com/microsoft/onnxjs-demo/master/src/data/imagenet.ts
npm install string-to-stream --save-dev
npm install pngjs --save-dev

テスト用データを取ってくるよ
wget https://imagedelivery.net/WPOeHKUnTTahhk4F5twuvg/8b78a6fb-44ac-4a97-121b-fb8f47f1e000/public -O cat.png
wget https://imagedelivery.net/WPOeHKUnTTahhk4F5twuvg/05c265ae-d3c0-4114-208b-a2d7709cc100/public -O house.png
wget https://imagedelivery.net/WPOeHKUnTTahhk4F5twuvg/4152ee23-f9af-4b21-a636-600e33883400/public -O mountain.png

チュートリアルドキュメントでコードがあるからコピペ

※ Project ID じゃなくて Model ID を置換ですよ!(私は過ちを犯した。。。)

ローカルで起動するよー
npx wrangler dev --remote

別ターミナルでテスト画像をローカルに投げるでござる
curl http://0.0.0.0:8787 -F file=@cat.png

こんな感じの結果が得られるぞ☆
{"id":"n02124075","index":285,"name":"Egyptian cat","probability":0.5356272459030151}

猫ちゃんと分類できておる。うむうむ。

デプルォォォォイ!!
npx wrangler publish

本番環境
curl https://production -F file=@cat.png

結果
{"id":"n02124075","index":285,"name":"Egyptian cat","probability":0.5356272459030151}

うぇーい (/・ω・)/



ってなわけで Edge で画像分類ができたぞい☆



runtime とか model はこの辺で書かれておるぞい





今回はシュッとチュートリアルやっただけだけど




デモとかみてると Transormer.js で色々できそうなのでまた試していきたいぞい (/・ω・)/




ということでおしまい。

この記事が気に入ったらサポートをしてみませんか?