
Mendold Aware pytorch.optim .
التنفيذ غير الرسمي لـ "طرق التحسين التكيفي Riemannian" ICLR2019 وأكثر.
تأكد من تثبيت pytorch> = 2.0.1
هناك طريقتان لتثبيت geoopt:
pip install git+https://github.com/geoopt/geoopt.gitpip install geooptستتغير الطريقة المفضلة لتثبيت GEOOPT بمجرد تحقيق مرحلة المشروع المستقرة. الآن ، PYPI وراء Master حيث نقوم بتطوير وتنفيذ ميزات جديدة بنشاط.
يدعم Geoopt رسميًا نسختين مستقرتين من Pytorch Opstream أو أحدث إصدار رئيسي.
العمل قيد التقدم ولكن يمكنك بالفعل استخدام هذا. لاحظ أن API قد تتغير في الإصدارات المستقبلية.
geoopt.ManifoldTensor - مثل Torch.tensor مع وسيطة الكلمات الرئيسية manifold .geoopt.ManifoldParameter - كما هو مذكور أعلاه ، معترف به في torch.nn.Module.parameters كما هو الحال بشكل صحيح.جميع الحاويات المذكورة أعلاه لديها طرق خاصة للعمل معها كما هو الحال مع النقاط على مشعب معين
.proj_() - الإسقاط في مكان على المشعب..proju(u) - Project Vector u على مساحة الظل. تحتاج إلى عرض جميع المتجهات لجميع الطرق أدناه..egrad2rgrad(u) u.inner(u, v=None) - المنتج الداخلي في هذه المرحلة لمتجهين الظل في هذه المرحلة. لا يتم عرض المتجهات التي تم تمريرها ، ويفترض أنها متوقعة بالفعل..retr(u) - خريطة التراجع التالية المتجه u.expmap(u) - الخريطة الأسية التالية المتجه u (إذا لم تكن Expmap متوفرة في شكل مغلق ، يتم استخدام أفضل تقريب).transp(v, u) - ناقل النقل v مع الاتجاه u.retr_transp(v, u) - نقل self ، المتجه v (وربما المزيد من المتجهات) مع الاتجاه u (العوائد هي موترات عادية)geoopt.Euclidean - مشعب غير مقيد في R مع مقياس الإقليديgeoopt.Stiefel - Stiefel spelsold على المصفوفات A in R^{nxp} : A^t A=I ، n >= pgeoopt.Sphere - Sphere Mifold ||x||=1geoopt.BirkhoffPolytope - مشعب من المصفوفات العشوائية المضاعفةgeoopt.Stereographic - نموذج الإسقاط المجسم الانحناء الثابتgeoopt.SphereProjection - نموذج الإسقاط المجسم المجالgeoopt.PoincareBall - نموذج كرة Poincaregeoopt.Lorentz - الزائدgeoopt.ProductManifold - مُنشئ المنتجgeoopt.Scaled - نسخة مقاس من المنوع. على غرار التعلم تمثيلات التشويش المختلطة في مساحات المنتج إذا تم دمجها مع ProductManifoldgeoopt.SymmetricPositiveDefinite - spd matrix spelsoldgeoopt.UpperHalf - Siegel نصف النصف المنوع. يدعم مقاييس Riemannian و Finsler ، كما هو الحال في المساحات المتماثلة لتضمينات الرسم البياني: نهج Finsler-Riemannian.geoopt.BoundedDomain - Siegel محدود المنوع المجال. يدعم مقاييس Riemannian و Finsler.جميع المشعبات تنفذ الأساليب اللازمة لمعالجة الموترات على المتجهات المشعبات ومتجهات الظل لاستخدامها في الغرض العام. شاهد المزيد في الوثائق.
geoopt.optim.RiemannianSGD - فئة فرعية من torch.optim.SGD مع نفس واجهة برمجة التطبيقاتgeoopt.optim.RiemannianAdam - فئة فرعية من torch.optim.Adamgeoopt.samplers.RSGLD - Riemannian Stochastic Bradient Dynamics Langevingeoopt.samplers.RHMC - ريمانيان هاملتون مونتي كارلوgeoopt.samplers.SGRHMC - التدرج العشوائي Riemannian Hamiltonian Monte -Carlo تسمح وحدة geoopt.layers التجريبية بتضمين Geoopt في التعلم العميق
إذا وجدت هذا المشروع مفيدًا في بحثك ، فيرجى إضافة إدخال Bibtex هذا في المراجع والاستشهاد.
@misc { geoopt2020kochurov ,
title = { Geoopt: Riemannian Optimization in PyTorch } ,
author = { Max Kochurov and Rasul Karimov and Serge Kozlukov } ,
year = { 2020 } ,
eprint = { 2005.02819 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CG }
}ETH: 0x008319973D4017414FDF5B3BEF1369BA78275C6A