
หน้าแรก กระดาษ | เอกสาร ฟอรัมสนทนา | ชุดข้อมูล |中文
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 สำหรับผลิตภัณฑ์ OGBN และอัปเดตชุดข้อมูล GEOM นอกจากนี้ยังแก้ไขข้อบกพร่องที่อาจเกิดขึ้นบางอย่างรวมถึงการตั้งค่าอุปกรณ์โดยใช้ CPU สำหรับการอนุมาน ฯลฯ
รีลีส V0.5.1 ใหม่เพิ่มตัวดำเนินการที่รวดเร็วรวมถึง SPMM (เวอร์ชัน CPU) และ scatter_max (รุ่น CUDA) นอกจากนี้ยังเพิ่มชุดข้อมูลจำนวนมากสำหรับการจำแนกโหนดซึ่งสามารถพบได้ในลิงค์นี้ -
V0.5.0 รีลีส ใหม่ออกแบบและดำเนินการฝึกอบรมแบบครบวงจรสำหรับ GNN แนะนำ DataWrapper เพื่อช่วยเตรียมข้อมูลการฝึกอบรม/การตรวจสอบ/ทดสอบและ ModelWrapper เพื่อกำหนดขั้นตอนการฝึกอบรม/การตรวจสอบ/ทดสอบ -
การเปิดตัว V0.4.1 ใหม่เพิ่มการใช้งาน GNNs ลึกและงานแนะนำ นอกจากนี้ยังรองรับท่อใหม่สำหรับการสร้าง embeddings และคำแนะนำ ยินดีต้อนรับสู่เข้าร่วมการสอนของเราใน KDD 2021 เวลา 10.30 น. - 12:00 น., 14 สิงหาคม (เวลาสิงคโปร์) รายละเอียดเพิ่มเติมสามารถพบได้ใน https://kdd2021graph.github.io/ -
รีลีส V0.4.0 ใหม่ refactors การจัดเก็บข้อมูล (จาก Data ไปยัง Graph ) และให้ผู้ให้บริการที่รวดเร็วยิ่งขึ้นเพื่อเพิ่มความเร็วในการฝึกอบรม GNN นอกจากนี้ยังรวมถึงวิธีการเรียนรู้ที่ดูแลตนเองมากมายในกราฟ BTW เราดีใจที่ได้ประกาศว่าเราจะให้การสอนเกี่ยวกับ KDD 2021 ในเดือนสิงหาคม โปรดดูลิงค์นี้สำหรับรายละเอียดเพิ่มเติม -
COGDL รองรับรุ่น GNN ที่มีส่วนผสมของผู้เชี่ยวชาญ (MOE) คุณสามารถติดตั้ง fastmoe และลอง moe gcn ใน cogdl ได้ทันที!
การเปิดตัว V0.3.0 ใหม่ให้บริการ SPMM ที่รวดเร็วเพื่อเพิ่มความเร็วในการฝึกอบรม GNN นอกจากนี้เรายังเปิดตัว COGDL Paper เวอร์ชันแรกใน Arxiv คุณสามารถเข้าร่วม Slack สำหรับการสนทนาของเรา -
การเปิดตัว V0.2.0 ใหม่รวมถึง experiment ใช้งานง่ายและ API pipeline สำหรับการทดลองและแอปพลิเคชันทั้งหมด API experiment รองรับคุณสมบัติ AUTOML ของการค้นหาพารามิเตอร์ไฮเปอร์ การเปิดตัวครั้งนี้ยังให้ OAGBert API สำหรับการอนุมานแบบจำลอง ( OAGBert ได้รับการฝึกฝนเกี่ยวกับคลังวิชาการขนาดใหญ่โดยห้องปฏิบัติการของเรา) คุณสมบัติและแบบจำลองบางอย่างถูกเพิ่มโดยชุมชนโอเพ่นซอร์ส (ขอบคุณผู้มีส่วนร่วมทุกคน?)
การเปิดตัว V0.1.2 ใหม่รวมถึงงานการฝึกอบรมล่วงหน้าตัวอย่างมากมายชุดข้อมูล OGB วิธีการฝังกราฟความรู้บางอย่างและโมเดลเครือข่ายประสาทกราฟบางรุ่น ความครอบคลุมของ COGDL เพิ่มขึ้นเป็น 80% API ใหม่บางตัวเช่น 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 API โดยเฉพาะ 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 ON EXAMPLE_DATA
cora citeseer ชุดข้อมูลที่รองรับ ได้แก่ 'Cora', 'Citeseer', 'Pumbed', 'PPI', 'Wikipedia', 'BlogCatalog', 'Flickr' ชุดข้อมูลเพิ่มเติมสามารถพบได้ใน COGDL/ชุดข้อมูลgcn gat รุ่นที่รองรับ ได้แก่ 'GCN', 'GAT', 'กราฟ', 'DeepWalk', 'Node2Vec', 'Hope', 'Grarep', 'Netmf', 'Netsmf', 'Hope' สามารถพบโมเดลเพิ่มเติมได้ใน COGDL/รุ่นตัวอย่างเช่นหากคุณต้องการเรียกใช้ GCN และ GAT บนชุดข้อมูล CORA ด้วย 5 เมล็ดที่แตกต่างกัน:
python scripts/train.py --dataset cora --model gcn gat --seed 0 1 2 3 4ผลลัพธ์ที่คาดหวัง:
| แตกต่างกันไป | test_acc | val_acc |
|---|---|---|
| ('Cora', 'GCN') | 0.8050 ± 0.0047 | 0.7940 ± 0.0063 |
| ('Cora', 'Gat') | 0.8234 ± 0.0042 | 0.8088 ± 0.0016 |
หากคุณมีปัญหาใด ๆ ที่จะทำให้สิ่งต่าง ๆ ทำงานในขั้นตอนข้างต้นอย่าลังเลที่จะเปิดปัญหา คุณสามารถคาดหวังการตอบกลับภายใน 24 ชั่วโมง
หากคุณมีอัลกอริทึมที่มีประสิทธิภาพและยินดีที่จะนำไปใช้ในชุดเครื่องมือของเราเพื่อช่วยเหลือผู้คนมากขึ้นคุณสามารถเปิดปัญหาก่อนจากนั้นสร้างคำขอดึงข้อมูลรายละเอียดสามารถพบได้ที่นี่
ก่อนที่จะทำการปรับเปลี่ยนของคุณโปรด pre-commit install ล่วงหน้าก่อนเพื่อตั้งค่า Git Hook สำหรับการตรวจสอบรูปแบบรหัสและสไตล์โดยใช้ black และ flake8 จากนั้น pre-commit จะทำงานโดยอัตโนมัติใน git commit ! ข้อมูลรายละเอียดของ pre-commit สามารถพบได้ที่นี่
หากคุณต้องการเรียกใช้การทดลองแบบขนานบนเซิร์ฟเวอร์ของคุณด้วย GPU หลายตัวในหลายรุ่น 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 |
|---|---|
| ('Cora', 'GCN') | 0.8236 ± 0.0033 |
| ('Cora', 'Gat') | 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}
}