neuraloperator adalah perpustakaan komprehensif untuk belajar operator saraf di Pytorch. Ini adalah implementasi resmi untuk operator saraf Fourier dan operator saraf tarik.
Tidak seperti jaringan saraf biasa, operator saraf memungkinkan pemetaan pembelajaran antara ruang fungsi, dan perpustakaan ini menyediakan semua alat untuk melakukannya pada data Anda sendiri.
Operator saraf juga invarian resolusi, sehingga operator terlatih Anda dapat diterapkan pada data resolusi apa pun.
Cukup klon repositori dan instal secara lokal (dalam mode yang dapat diedit sehingga perubahan dalam kode segera tercermin tanpa harus menginstal ulang):
Git Clone https://github.com/neuraloperator/neuraloperator CD Neuraloperator Pip Instal -e. Pip instal -r persyaratan.txt
Anda juga hanya dapat menginstal rilis stabil perpustakaan terbaru di PYPI:
Pip Instal Neuraloperator
Setelah Anda menginstal perpustakaan, Anda dapat memulai pelatihan operator dengan mulus:
from neuralop . models import FNO
operator = FNO ( n_modes = ( 16 , 16 ), hidden_channels = 64 ,
in_channels = 3 , out_channels = 1 )Tensorization juga disediakan di luar kotak: Anda dapat meningkatkan model sebelumnya dengan hanya menggunakan FNO tucker yang menarik dengan hanya beberapa parameter:
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 )Ini akan menggunakan faktorisasi bobot tucker. Pass maju akan efisien dengan mengontrak langsung input dengan faktor -faktor dekomposisi. Lapisan Fourier akan memiliki 5% dari parameter operator saraf Fourier yang setara dan padat!
Lihat dokumentasi untuk lebih lanjut!
Buat file di neuraloperator/config yang disebut wandb_api_key.txt dan tempel bobot Anda dan tombol API bias di sana. Anda dapat mengonfigurasi proyek yang ingin Anda gunakan dan nama pengguna Anda di file konfigurasi YAML utama.
Neuraloperator adalah 100% open-source, dan kami menyambut semua kontribusi dari komunitas! Jika Anda melihat bug atau kesalahan ketik dalam dokumentasi, atau memiliki ide untuk fitur yang ingin Anda lihat, silakan laporkan pada pelacak edisi kami, atau bahkan lebih baik, buka tarikan-permintaan di GitHub.
Neuraloperator memiliki dependensi tambahan untuk pengembangan, yang dapat ditemukan di requirements_dev.txt :
Pip instal -r persyaratan_dev.txt
Sebelum Anda mengirimkan perubahan, Anda harus memastikan kode Anda mematuhi panduan gaya kami. Cara termudah untuk melakukan ini dengan black :
hitam .
Pengujian dan dokumentasi adalah bagian penting dari paket ini dan semua fungsi dilengkapi dengan unit-tes dan dokumentasi. Tes dijalankan menggunakan paket Pytest.
Untuk menjalankan tes, cukup jalankan, di terminal:
Pytest -V Neuralop
HTML untuk situs web dokumentasi kami dibangun menggunakan sphinx . Dokumentasi dibangun dari dalam folder doc .
CD Doc buat html
Ini akan membangun dokumen di ./doc/build/html .
Perhatikan bahwa dokumentasi membutuhkan dependensi lain yang dapat diinstal dari ./doc/requirements_doc.txt .
Untuk melihat dokumentasi secara lokal, jalankan:
CD Doc/Build/HTML python -m http.server [port_num]
Dokumen kemudian dapat dilihat di localhost:PORT_NUM .
Jika Anda menggunakan neuraloperator dalam makalah akademik, silakan kutip [1], [2]:
@misc {Kossaifi2024eural,
title = {perpustakaan untuk belajar operator saraf},
penulis = {Jean Kossaifi dan Nikola Kovachki dan
Zongyi Li dan Davit Pitt dan
Miguel Liu-Schiaffini dan Robert Joseph George dan
Boris Bonev dan Kamyar Azizzadenesheli dan
Julius Berner dan Anima Anandkumar},
tahun = {2024},
ePrint = {2412.10354},
archivePrefix = {arXiv},
primaryclass = {cs.lg}
}
@article {kovachki2021neural,
penulis = {Nikola B. Kovachki dan
Zongyi Li dan
BURIGEDE LIU dan
Kamyar Azizzadenesheli dan
Kaushik Bhattacharya dan
Andrew M. Stuart dan
Anima Anandkumar},
title = {Operator Saraf: Peta Pembelajaran Antara Ruang Fungsi},
jurnal = {corr},
volume = {abs/2108.08481},
tahun = {2021},
}
| [1] | Kossaifi, J., Kovachki, N., Li, Z., Pitt, D., Liu-Schiaffini, M., George, R., Bonev, B., Azizzadenesheli, K., Berner, J., dan Anandkumar, A., "Pustaka untuk mempelajari operator saraf", arxiv, 2024. |
| [2] | Kovachki, N., Li, Z., Liu, B., Azizzadenesheli, K., Bhattacharya, K., Stuart, A., dan Anandkumar A., "Operator Saraf: Peta Belajar Antara Ruang Fungsi", JMLR, 2021. DOI: 10.48550/ARXIV.2108. |