WebGPUまたはWebAssemblyでブラウザー内だけで動作し、画像をアップロードせずに背景を削除できるオープンソースツール。
chenglou/handwired
通常のJavaScriptの制御フローを、手書きの重みを持つ微分可能な行列乗算ネットワークに変換する研究プロジェクト。
- スター
- 1,773
- フォーク
- 146
- 未解決の Issue
- 9
- 最終コミット
- 3 日前
これは何?
Handwiredは、if-else分岐、ループ、状態を含む通常のJavaScriptプログラムを、浮動小数点数に対する行列乗算とReLUだけで構成されるニューラルネットワークに変換します。条件分岐は算術演算に書き換えられます。たとえば両方の分岐を計算し、ReLUから導いた指標で一方を選ぶことで、生成されたネットワークは元のプログラムとまったく同じ出力を再現します。
重みは学習させるのではなく手作業で記述するため、トレーニングは不要で、プログラム全体を微分可能な状態に保てます。計算全体は通常のJavaScriptまたはWebGPUで実行できるため、こうした最小限のプリミティブにも既存のGPU最適化手法を適用できます。
このプロジェクトでは、重みを学習可能にしてトレーニングする、固定したプログラムを汎用ニューラルネットに組み込んでエンドツーエンドで学習する、シングルスレッド風のJavaScriptコードをGPUレベルの並列性で実行するといった用途を探っています。デモには、10万件のドキュメントを対象としたJSON検索が含まれます。リポジトリはBunでセットアップされており、デモはオンラインでも利用できます。
主な機能
- 01if-else、ループ、状態を行列乗算とReLUに変換する
- 02重みを手作業で記述するため、トレーニングが不要
- 03プログラム全体を微分可能な状態に保つ
- 04通常のJavaScriptまたはWebGPUで実行できる
- 05ライブデモと、10万件のドキュメントを対象とするJSON検索の例を収録
ユースケース
- プログラムをニューラルネットワークとして表現する方法を研究する
- 固定したプログラムロジックをニューラルネット内で学習させる実験をする
- 通常のJavaScriptコードをGPU並列で実行する方法を探る
クイックスタート
- 1
リポジトリをクローンする
git clone - 2
依存関係をインストールする
bun install - 3
デモをローカルで実行する
bun start
使う前に知っておきたいこと
- コンセプトの実証を目的とした研究プロジェクトであり、本番環境向けのライブラリではありません。
- デモの実行にはBunランタイムが必要ですが、任意であるとは記載されていません。
トピック
よくある質問
- handwired とは?
- 通常のJavaScriptの制御フローを、手書きの重みを持つ微分可能な行列乗算ネットワークに変換する研究プロジェクト。 Handwiredは、if-else分岐、ループ、状態を含む通常のJavaScriptプログラムを、浮動小数点数に対する行列乗算とReLUだけで構成されるニューラルネットワークに変換します。条件分岐は算術演算に書き換えられます。たとえば両方の分岐を計算し、ReLUから導いた指標で一方を選ぶことで、生成されたネットワークは元のプログラムとまったく同じ出力を再現します。
- handwired は無料で使えますか?ライセンスは?
- handwired は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- handwired は今もメンテナンスされていますか?
- 活発にメンテナンス中。handwired の最終コミットは 2026年10月17日 です。
- handwired は何に使えますか?
- プログラムをニューラルネットワークとして表現する方法を研究する 固定したプログラムロジックをニューラルネット内で学習させる実験をする 通常のJavaScriptコードをGPU並列で実行する方法を探る
- handwired のインストール方法は?
- リポジトリをクローンする: git clone 依存関係をインストールする: bun install デモをローカルで実行する: bun start
- handwired はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/chenglou/handwired
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Android、iOS、Webで動くReact製のユニバーサルなネイティブアプリを構築するオープンソースフレームワーク。
CLI、JavaScript API、Go APIを備えた、非常に高速なJavaScript、TypeScript、JSX、CSSバンドラー。
あらゆるソースのタイル、ベクターデータ、マーカーを表示する高性能なインタラクティブWebマップ用JavaScriptライブラリ。
Figma .figファイルを開けるオープンソースのデザインエディター。AIツールとヘッドレスVue SDKを搭載。
Node.jsなしで動作するネイティブ実行ファイルやWebAssemblyを生成する実験的なTypeScript/JavaScriptコンパイラ。