
الصفحة الرئيسية | ورقة | الوثائق | منتدى المناقشة | مجموعة البيانات |中文
COGDL عبارة عن مجموعة أدوات التعلم العميقة في COGDL تتيح للباحثين والمطورين تدريب ومقارنة النماذج الأساسية أو المخصصة بسهولة لتصنيف العقدة ، وتصنيف الرسم البياني ، والمهام المهمة الأخرى في مجال الرسم البياني.
نلخص مساهمات COGDL على النحو التالي:
تم قبول ورقة COGDL بواسطة www 2023. تجدنا في www 2023! نقوم أيضًا بإصدار إصدار V0.6 الجديد الذي يضيف المزيد من الأمثلة على التعلم الخاضع للإشراف على الرسم البياني ، بما في ذلك GraphMae و GraphMae2 و BGRL.
توجد دورة GNN مجانية توفرها فريق COGDL في هذا الرابط. نقدم أيضًا منتدى مناقشة للمستخدمين الصينيين.
يدعم الإصدار V0.5.3 الجديد التدريب المختلط عن طريق تعيين textit {fp16 = true} ويوفر مثالًا أساسيًا كتبه Jittor. يقوم أيضًا بتحديث البرنامج التعليمي في المستند ، ويصلح تنزيل روابط بعض مجموعات البيانات ، ويصلح الأخطاء المحتملة للمشغلين.
يضيف إصدار V0.5.2 الجديد مثال GNN للمنتجات والتحديثات GEOM على تحديثات GEOM. كما أنه يعمل على إصلاح بعض الأخطاء المحتملة بما في ذلك إعداد الأجهزة ، باستخدام وحدة المعالجة المركزية للاستدلال ، إلخ.
يضيف إصدار V0.5.1 الجديد عوامل المشغلين السريعة بما في ذلك SPMM (إصدار وحدة المعالجة المركزية) و Scatter_Max (إصدار CUDA). كما أنه يضيف الكثير من مجموعات البيانات لتصنيف العقدة الذي يمكن العثور عليه في هذا الرابط. ؟
تصاميم الإصدار V0.5.0 الجديد وتنفذ حلقة تدريب موحدة لـ GNN. يقدم DataWrapper للمساعدة في إعداد بيانات التدريب/التحقق/الاختبار وموديل ModelWrapper لتحديد خطوات التدريب/التحقق/الاختبار. ؟
يضيف إصدار V0.4.1 الجديد تنفيذ GNNs العميقة ومهمة التوصية. كما يدعم خطوط أنابيب جديدة لتوليد التضمينات والتوصية. مرحبًا بك للانضمام إلى البرنامج التعليمي في KDD 2021 في الساعة 10:30 صباحًا - 12:00 صباحًا ، 14 أغسطس (بتوقيت سنغافورة). يمكن العثور على مزيد من التفاصيل في https://kdd2021graph.github.io/. ؟
يعيد الإصدار V0.4.0 الجديد إعادة تخزين البيانات (من Data إلى Graph ) ويوفر المزيد من المشغلات السريعة لتسريع تدريب GNN. ويشمل أيضًا العديد من أساليب التعلم الخاضعة للإشراف على الرسوم البيانية. راجع للشغل ، يسعدنا أن نعلن أننا سنقدم برنامجًا تعليميًا في KDD 2021 في أغسطس. يرجى الاطلاع على هذا الرابط لمزيد من التفاصيل. ؟
يدعم COGDL نماذج GNN مع مزيج من الخبراء (MOE). يمكنك تثبيت Fastmoe وتجربة Moe GCN في Cogdl الآن!
يوفر إصدار V0.3.0 الجديد مشغل SPMM سريعًا لتسريع تدريب GNN. ننشر أيضًا الإصدار الأول من ورقة Cogdl في Arxiv. يمكنك الانضمام إلى الركود لدينا للمناقشة. ؟؟؟
يتضمن إصدار V0.2.0 الجديد experiment واجهات pipeline تطبيقات سهلة الاستخدام وجميع التجارب والتطبيقات. تدعم API experiment ميزات السيارات للبحث عن المعلميات المفرطة. يوفر هذا الإصدار أيضًا OAGBert API لاستدلال النموذج (يتم تدريب OAGBert على مجموعة أكاديمية واسعة النطاق بواسطة مختبرنا). تتم إضافة بعض الميزات والنماذج من قبل مجتمع المصدر المفتوح (بفضل جميع المساهمين؟).
يتضمن الإصدار V0.1.2 الجديد مهمة ما قبل التدريب ، والعديد من الأمثلة ، ومجموعات بيانات OGB ، وبعض طرق تضمين الرسم البياني للمعرفة ، وبعض نماذج الشبكة العصبية الرسم البياني. يتم زيادة تغطية COGDL إلى 80 ٪. يتم تطوير واختبار بعض واجهات برمجة التطبيقات الجديدة ، مثل Trainer وأخذ Sampler .
يتضمن الإصدار الجديد V0.1.1 مهمة تنبؤ ارتباط المعرفة ، والعديد من النماذج الحديثة ، ودعم optuna . لدينا أيضا وظيفة WeChat الصينية حول إصدار COGDL.
يرجى اتباع التعليمات هنا لتثبيت Pytorch (https://github.com/pytorch/pytorch#installation).
عند تثبيت Pytorch ، يمكن تثبيت COGDL باستخدام PIP على النحو التالي:
pip install cogdlالتثبيت من المصدر عبر:
pip install git+https://github.com/thudm/cogdl.gitأو استنساخ المستودع والتثبيت مع الأوامر التالية:
git clone [email protected]:THUDM/cogdl.git
cd cogdl
pip install -e . يمكنك تشغيل جميع أنواع التجارب من خلال واجهات برمجة التطبيقات COGDL ، وخاصة experiment . يمكنك أيضًا استخدام مجموعات البيانات الخاصة بك ونماذجك للتجارب. يمكن العثور على مثال QuickStart في Quick_start.py. يتم توفير المزيد من الأمثلة في الأمثلة/.
from cogdl import experiment
# basic usage
experiment ( dataset = "cora" , model = "gcn" )
# set other hyper-parameters
experiment ( dataset = "cora" , model = "gcn" , hidden_size = 32 , epochs = 200 )
# run over multiple models on different seeds
experiment ( dataset = "cora" , model = [ "gcn" , "gat" ], seed = [ 1 , 2 ])
# automl usage
def search_space ( trial ):
return {
"lr" : trial . suggest_categorical ( "lr" , [ 1e-3 , 5e-3 , 1e-2 ]),
"hidden_size" : trial . suggest_categorical ( "hidden_size" , [ 32 , 64 , 128 ]),
"dropout" : trial . suggest_uniform ( "dropout" , 0.5 , 0.8 ),
}
experiment ( dataset = "cora" , model = "gcn" , seed = [ 1 , 2 ], search_space = search_space ) يمكنك أيضًا استخدام python scripts/train.py --dataset example_dataset --model example_model لتشغيل example_model على example_data.
cora citeseer . تشمل مجموعات البيانات المدعومة "Cora" ، "CiteSeer" ، "Pummed" ، "PPI" ، "Wikipedia" ، "blogcatalog" ، "Flickr". يمكن العثور على المزيد من مجموعات البيانات في مجموعات البيانات COGDL.gcn gat . تشمل النماذج المدعومة "GCN" ، "Gat" ، "GraphSage" ، "DeepWalk" ، "Node2Vec" ، "Hope" ، "Grarep" ، "Netmf" ، "Netsmf" ، "Prone". يمكن العثور على المزيد من النماذج في COGDL/النماذج.على سبيل المثال ، إذا كنت ترغب في تشغيل GCN و GAT على مجموعة بيانات CORA ، مع 5 بذور مختلفة:
python scripts/train.py --dataset cora --model gcn gat --seed 0 1 2 3 4الإخراج المتوقع:
| البديل | test_acc | val_acc |
|---|---|---|
| ("كورا" ، "GCN") | 0.8050 ± 0.0047 | 0.7940 ± 0.0063 |
| ("كورا" ، "جات") | 0.8234 ± 0.0042 | 0.8088 ± 0.0016 |
إذا كانت لديك أي صعوبات في عمل الأشياء في الخطوات المذكورة أعلاه ، فلا تتردد في فتح مشكلة. يمكنك توقع الرد في غضون 24 ساعة.
إذا كان لديك خوارزمية جيدة الأداء وكنت على استعداد لتنفيذها في مجموعة الأدوات الخاصة بنا لمساعدة المزيد من الأشخاص ، فيمكنك أولاً فتح مشكلة ثم إنشاء طلب سحب ، ويمكن العثور على معلومات مفصلة هنا.
قبل ارتكاب التعديل الخاص بك ، يرجى pre-commit install أولاً لإعداد خطاف GIT للتحقق من تنسيق الرمز والنمط باستخدام black و flake8 . ثم سيتم تشغيل pre-commit تلقائيًا على git commit ! يمكن العثور على معلومات مفصلة عن pre-commit هنا.
إذا كنت ترغب في تشغيل تجارب متوازية على الخادم الخاص بك مع وحدات معالجة الرسومات المتعددة على نماذج متعددة ، GCN و GAT ، على مجموعة بيانات CORA:
$ python scripts/train.py --dataset cora --model gcn gat --hidden-size 64 --devices 0 1 --seed 0 1 2 3 4الإخراج المتوقع:
| البديل | ACC |
|---|---|
| ("كورا" ، "GCN") | 0.8236 ± 0.0033 |
| ("كورا" ، "جات") | 0.8262 ± 0.0032 |
قد تكون مرتبكًا لماذا تم رفض طلب السحب الخاص بك بسبب قضية "التغطية" ... "على الرغم من أن النموذج الخاص بك يعمل بشكل جيد محليًا. هذا لأنك لم تضمن اختبار الوحدة ، والذي يعمل بشكل أساسي عبر الخطوط الإضافية من التعليمات البرمجية التي أضفتها. تقوم خدمة Travis CI المستخدمة من قبل Github بإجراء جميع اختبارات الوحدة على الكود الذي ارتكبت فيه والتحقق من عدد خطوط الكود التي تم فحصها بواسطة اختبارات الوحدة ، وإذا لم يتم التحقق من جزء كبير من الكود الخاص بك (تغطية غير كافية) ، فسيتم رفض طلب السحب.
فكيف تقوم باختبار وحدة؟
models/nn/abcgnn.py الذي يقوم بمهمة تصنيف العقدة. بعد ذلك ، تحتاج إلى إضافة اختبار وحدة داخل tests/tasks/test_node_classification.py (أو أي مهمة ذات صلة بنموذجك).tests/tasks/test_node_classification.py ، ارتكبها مع models/nn/abcgnn.py ويجب أن يمر طلب السحب الخاص بك. تم تطوير COGDL وصيانته بواسطة Tsinghua و Zju و Damo Academy و Zhipu.ai.
يمكن الوصول إلى فريق التطوير الأساسي على [email protected].
يرجى الاستشهاد بالورقة إذا وجدت رمزنا أو نتائجنا مفيدة لبحثك:
@inproceedings{cen2023cogdl,
title={CogDL: A Comprehensive Library for Graph Deep Learning},
author={Yukuo Cen and Zhenyu Hou and Yan Wang and Qibin Chen and Yizhen Luo and Zhongming Yu and Hengrui Zhang and Xingcheng Yao and Aohan Zeng and Shiguang Guo and Yuxiao Dong and Yang Yang and Peng Zhang and Guohao Dai and Yu Wang and Chang Zhou and Hongxia Yang and Jie Tang},
booktitle={Proceedings of the ACM Web Conference 2023 (WWW'23)},
year={2023}
}