neuraloperator 、Pytorchの神経演算子を学習するための包括的なライブラリです。これは、フーリエ神経オペレーターとテンソレジングされた神経演算子の公式実装です。
通常のニューラルネットワークとは異なり、ニューラル演算子は機能空間間の学習マッピングを可能にし、このライブラリはあなた自身のデータでそれを行うためのすべてのツールを提供します。
神経オペレーターも解像度の不変であるため、訓練を受けたオペレーターは、あらゆる解像度のデータに適用できます。
リポジトリをクローンしてローカルにインストールするだけです(編集可能なモードで、コードの変更がすぐに反映され、再インストールすることなく直ちに反映されます):
gitクローンhttps://github.com/neuraloperator/neuraloperator CD Neuraloperator ピップインストール-e。 PIPインストール-R要件。txt
Pypiのライブラリの最新の安定したリリースをPIPにインストールすることもできます。
ピップインストールNeuraloperator
ライブラリをインストールした後、トレーニングオペレーターをシームレスに開始できます。
from neuralop . models import FNO
operator = FNO ( n_modes = ( 16 , 16 ), hidden_channels = 64 ,
in_channels = 3 , out_channels = 1 )テンソーゼーションも箱から出して提供されます。いくつかのパラメーターでタッカーのテンソーゼーションFNOを使用するだけで、以前のモデルを改善できます。
from neuralop . models import TFNO
operator = TFNO ( n_modes = ( 16 , 16 ), hidden_channels = 64 ,
in_channels = 3 ,
out_channels = 1 ,
factorization = 'tucker' ,
implementation = 'factorized' ,
rank = 0.05 )これは、重みのタッカー因数分解を使用します。フォワードパスは、分解の係数を使用して入力を直接収縮することにより効率的になります。フーリエ層には、同等の密なフーリエ神経演算子のパラメーターの5%があります!
詳細については、ドキュメントをチェックしてください!
wandb_api_key.txtと呼ばれるneuraloperator/configでファイルを作成し、ウェイトとバイアスAPIキーをそこに貼り付けます。使用するプロジェクトと、メインYAML構成ファイルでユーザー名を構成できます。
Neuraloperatorは100%オープンソースであり、コミュニティからのすべての貢献を歓迎します!ドキュメントでバグやタイプミスを見つけたり、見たい機能についてアイデアを持っている場合は、問題のトラッカーに報告するか、GitHubでプルレクエストを開いてください。
Neuraloperatorには、開発のための追加の依存関係があります。これはrequirements_dev.txtにあります。
PIPインストール-R要件_Dev.txt
変更を送信する前に、コードがスタイルガイドに付着することを確認する必要があります。これを行う最も簡単な方法は、 blackを使用することです。
黒 。
テストとドキュメントはこのパッケージの重要な部分であり、すべての機能にはユニットテストとドキュメントが付属しています。テストは、Pytestパッケージを使用して実行されます。
テストを実行するには、ターミナルで実行するだけです。
pytest -v neuralop
ドキュメントWebサイトのHTMLは、 sphinxを使用して構築されています。ドキュメントは、 docフォルダー内から構築されています。
CDドキュメント HTMLを作成します
これにより、ドキュメントが./doc/build/htmlに構築されます。
ドキュメントには、 ./doc/requirements_doc.txt requirements_doc.txtからインストール可能な他の依存関係が必要であることに注意してください。
ドキュメントをローカルに表示するには、実行してください。
CD doc/build/html python -m http.server [port_num]
ドキュメントは、 localhost:PORT_NUMで表示できます。
アカデミックペーパーでNeuraloperatorを使用する場合は、[1]、[2]を引用してください。
@misc {kossaifi2024neural、
title = {学習のためのライブラリニューラル演算子}、
著者= {jean kossaifiとnikola kovachki and
Zongyi LiとDavit Pittと
ミゲル・リュー・シアフィニとロバート・ジョセフ・ジョージと
Boris BonevとKamyar Azizzadenesheliと
ジュリアス・バーナーとアニマ・アナンドクマール}、
年= {2024}、
eprint = {2412.10354}、
archiveprefix = {arxiv}、
PrimaryClass = {cs.lg}
}
@article {kovachki2021neural、
著者= {nikola B. Kovachki and
Zongyi liと
ブリゲデ・リュウと
Kamyar Azizzadenesheliと
Kaushik Bhattacharyaと
アンドリュー・M・スチュアートと
アニマアナンドクマール}、
title = {Neural Operator:Learning Maps between Function Spaces}、
journal = {corr}、
volume = {abs/2108.08481}、
年= {2021}、
}
| [1] | Kossaifi、J.、Kovachki、N.、Li、Z.、Pitt、D.、Liu-Schiaffini、M.、George、R.、Bonev、B.、Azizzadenesheli、K.、Berner、J。、およびAnandkumar、A。、「学習ニューラルオペレーターのライブラリ」 |
| [2] | Kovachki、N.、Li、Z.、Liu、B.、Azizzadenesheli、K.、Bhattacharya、K.、Stuart、A。、およびAnandkumar A.、「神経演算子:関数間の学習地図」、JMLR、2021。DOI:10.48550/ARXIV.2108.08481。 |