neuraloperator هي مكتبة شاملة لتعلم المشغلين العصبيين في Pytorch. هذا هو التنفيذ الرسمي لمشغلي فورييه العصبية والمشغلين العصبيين المتكررين.
على عكس الشبكات العصبية العادية ، يمكّن المشغلون العصبيون التعلم بين مساحات الوظائف ، وتوفر هذه المكتبة جميع الأدوات اللازمة للقيام بذلك على بياناتك الخاصة.
المشغلون العصبيون أيضًا ثابتون ، لذلك يمكن تطبيق مشغلك المدرب على بيانات أي دقة.
ما عليك سوى استنساخ المستودع وتثبيته محليًا (في الوضع القابل للتحرير ، بحيث تنعكس على الفور التغييرات في الكود دون الحاجة إلى إعادة التثبيت):
git clone https://github.com/neuraloperator/neuraloperator CD NeuralOperator تثبيت PIP -e. PIP تثبيت -r متطلبات. txt
يمكنك أيضًا تثبيت PIP فقط أحدث إصدار مستقر من المكتبة على PYPI:
PIP تثبيت NeuralOperator
بعد تثبيت المكتبة ، يمكنك البدء في تدريب مشغلي التدريب بسلاسة:
from neuralop . models import FNO
operator = FNO ( n_modes = ( 16 , 16 ), hidden_channels = 64 ,
in_channels = 3 , out_channels = 1 )يتم توفير التضمين أيضًا خارج المربع: يمكنك تحسين النماذج السابقة ببساطة عن طريق استخدام FNO الموتر Tenserized مع عدد قليل من المعلمات:
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 ٪ من معايير المشغل العصبي الكثيف المكافئ!
الخروج الوثائق للمزيد!
قم بإنشاء ملف في neuraloperator/config يسمى wandb_api_key.txt ولصق مفتاح API والتحيزات هناك. يمكنك تكوين المشروع الذي تريد استخدامه واسم المستخدم الخاص بك في ملفات تكوين YAML الرئيسية.
NeuralOperator مفتوح المصدر بنسبة 100 ٪ ، ونحن نرحب بجميع المساهمات من المجتمع! إذا اكتشفت خطأً أو خطأ مطبعي في الوثائق ، أو لديك فكرة عن ميزة ترغب في رؤيتها ، فيرجى الإبلاغ عن ذلك عن تعقب المشكلات ، أو حتى أفضل ، فتح طلب سحب على Github.
لدى NeuralOperator تبعيات إضافية للتنمية ، والتي يمكن العثور عليها في requirements_dev.txt :
PIP تثبيت -r متطلبات _dev.txt
قبل إرسال التغييرات الخاصة بك ، يجب عليك التأكد من أن الرمز الخاص بك يلتزم بتوجيه نمطنا. أسهل طريقة للقيام بذلك هي مع black :
أسود .
يعد الاختبار والتوثيق جزءًا أساسيًا من هذه الحزمة وجميع الوظائف تأتي مع اختبارات الوحدة والوثائق. يتم تشغيل الاختبارات باستخدام حزمة Pytest.
لتشغيل الاختبارات ، ما عليك سوى التشغيل ، في المحطة:
pytest -v neuralop
تم تصميم HTML لموقع الوثائق لدينا باستخدام sphinx . تم تصميم الوثائق من داخل مجلد doc .
DOC DOC جعل HTML
سيؤدي ذلك إلى بناء المستندات في ./doc/build/html .
لاحظ أن الوثائق تتطلب تبعيات أخرى قابلة للتثبيت من ./doc/requirements_doc.txt .
لعرض الوثائق محليًا ، قم بتشغيل:
CD Doc/Build/HTML Python -M http.server [port_num]
سيتم بعد ذلك عرض المستندات في localhost:PORT_NUM .
إذا كنت تستخدم NeuralOperator في ورقة أكاديمية ، فيرجى الاستشهاد [1] ، [2]:
misc {kossaifi2024neural ،
العنوان = {مكتبة لتعلم المشغلين العصبيين} ،
المؤلف = {Jean Kossaifi و Nikola Kovachki و
Zongyi Li و Davit Pitt و
ميغيل ليو شايفيني وروبرت جوزيف جورج و
بوريس بونف وكامار أزاديشلي و
يوليوس بيرنر وايما أناندكومار} ،
السنة = {2024} ،
ePrint = {2412.10354} ،
ArchivePrefix = {arxiv} ،
PrimaryClass = {cs.lg}
}
article {kovachki2021neural ،
المؤلف = {nikola B. Kovachki و
Zongyi لي و
لافتات ليو و
Kamyar Azizzadenesheli و
Kaushik Bhattacharya و
أندرو م. ستيوارت و
أناندكومار} ،
العنوان = {المشغل العصبي: خرائط التعلم بين مسافات الوظائف} ،
Journal = {corr} ،
المجلد = {ABS/2108.08481} ،
السنة = {2021} ،
}
| [1] | Kossaifi ، J. ، Kovachki ، N. ، Li ، Z. ، Pitt ، D. |
| [2] | Kovachki ، N. ، Li ، Z. ، Liu ، B. ، Azizzadenesheli ، K. ، Bhattacharya ، K. ، Stuart ، A. ، and Anandkumar A. |