
Beranda | Kertas | Dokumentasi | Forum Diskusi | Dataset |中文
COGDL adalah toolkit pembelajaran grafik yang memungkinkan para peneliti dan pengembang untuk dengan mudah melatih dan membandingkan model baseline atau yang disesuaikan untuk klasifikasi node, klasifikasi grafik, dan tugas -tugas penting lainnya dalam domain grafik.
Kami merangkum kontribusi COGDL sebagai berikut:
Kertas COGDL diterima oleh www 2023. Temukan kami di www 2023! Kami juga merilis rilis V0.6 baru yang menambahkan lebih banyak contoh pembelajaran grafik swasembad, termasuk GraphMae, GraphMae2, dan BGRL.
Kursus GNN gratis yang disediakan oleh tim COGDL hadir di tautan ini. Kami juga menyediakan forum diskusi untuk pengguna Cina.
Rilis V0.5.3 yang baru mendukung pelatihan presisi campuran dengan mengatur textit {fp16 = true} dan memberikan contoh dasar yang ditulis oleh Jittor. Ini juga memperbarui tutorial dalam dokumen, memperbaiki tautan pengunduhan dari beberapa set data, dan memperbaiki potensi bug operator.
Rilis V0.5.2 baru menambahkan contoh GNN untuk produk OGBN dan memperbarui dataset GEOM. Ini juga memperbaiki beberapa bug potensial termasuk perangkat pengaturan, menggunakan CPU untuk inferensi, dll.
Rilis V0.5.1 yang baru menambahkan operator cepat termasuk SPMM (versi CPU) dan Scatter_max (versi CUDA). Ini juga menambahkan banyak set data untuk klasifikasi simpul yang dapat ditemukan di tautan ini. ?
Desain rilis V0.5.0 yang baru dan mengimplementasikan loop pelatihan terpadu untuk GNN. Ini memperkenalkan DataWrapper untuk membantu menyiapkan Data Pelatihan/Validasi/Uji dan ModelWrapper untuk menentukan langkah pelatihan/validasi/tes. ?
Rilis V0.4.1 yang baru menambahkan implementasi GNN dalam dan tugas rekomendasi. Ini juga mendukung jaringan pipa baru untuk menghasilkan embeddings dan rekomendasi. Selamat datang untuk bergabung dengan tutorial kami di KDD 2021 pukul 10:30 - 12:00 pagi, 14 Agustus (waktu Singapura). Rincian lebih lanjut dapat ditemukan di https://kdd2021graph.github.io/. ?
Rilis V0.4.0 yang baru merefleksikan penyimpanan data (dari Data ke Graph ) dan menyediakan operator yang lebih cepat untuk mempercepat pelatihan GNN. Ini juga mencakup banyak metode pembelajaran yang di-kupervis pada grafik. BTW, kami senang mengumumkan bahwa kami akan memberikan tutorial tentang KDD 2021 pada bulan Agustus. Silakan lihat tautan ini untuk detail lebih lanjut. ?
COGDL mendukung model GNN dengan campuran ahli (MOE). Anda dapat menginstal FastMoe dan mencoba Moe GCN di COGDL sekarang!
Rilis V0.3.0 yang baru menyediakan operator SPMM cepat untuk mempercepat pelatihan GNN. Kami juga merilis versi pertama kertas COGDL di Arxiv. Anda dapat bergabung dengan Slack kami untuk diskusi. ???
Rilis V0.2.0 yang baru mencakup experiment yang mudah digunakan dan API pipeline untuk semua percobaan dan aplikasi. experiment API mendukung fitur Automl pencarian hiper-parameter. Rilis ini juga menyediakan API OAGBert untuk inferensi model ( OAGBert dilatih pada korpus akademik skala besar oleh lab kami). Beberapa fitur dan model ditambahkan oleh komunitas open source (terima kasih kepada semua kontributor?).
Rilis V0.1.2 yang baru mencakup tugas pra-pelatihan, banyak contoh, kumpulan data OGB, beberapa metode penyematan grafik pengetahuan, dan beberapa model jaringan saraf grafik. Cakupan COGDL meningkat menjadi 80%. Beberapa API baru, seperti Trainer dan Sampler , dikembangkan dan diuji.
Rilis V0.1.1 yang baru mencakup tugas prediksi tautan pengetahuan, banyak model canggih, dan dukungan optuna . Kami juga memiliki posting WeChat Cina tentang rilis COGDL.
Silakan ikuti instruksi di sini untuk menginstal pytorch (https://github.com/pytorch/pytorch#installation).
Ketika Pytorch telah diinstal, COGDL dapat diinstal menggunakan PIP sebagai berikut:
pip install cogdlInstal dari sumber melalui:
pip install git+https://github.com/thudm/cogdl.gitAtau klon repositori dan instal dengan perintah berikut:
git clone [email protected]:THUDM/cogdl.git
cd cogdl
pip install -e . Anda dapat menjalankan semua jenis percobaan melalui COGDL API, terutama experiment . Anda juga dapat menggunakan set data dan model Anda sendiri untuk percobaan. Contoh QuickStart dapat ditemukan di Quick_Start.py. Lebih banyak contoh disediakan dalam contoh/.
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 ) Anda juga dapat menggunakan python scripts/train.py --dataset example_dataset --model example_model untuk menjalankan example_model di example_data.
cora citeseer . Kumpulan data yang didukung termasuk 'cora', 'citeseer', 'pumbed', 'ppi', 'wikipedia', 'blogcatalog', 'flickr'. Lebih banyak kumpulan data dapat ditemukan di COGDL/Dataset.gcn gat . Model yang didukung termasuk 'gcn', 'gat', 'grafik', 'deepwalk', 'node2vec', 'hope', 'grarep', 'netmf', 'netsmf', 'rawan'. Lebih banyak model dapat ditemukan di COGDL/model.Misalnya, jika Anda ingin menjalankan GCN dan GAT pada dataset CORA, dengan 5 biji berbeda:
python scripts/train.py --dataset cora --model gcn gat --seed 0 1 2 3 4Output yang diharapkan:
| Variasi | test_acc | val_acc |
|---|---|---|
| ('cora', 'gcn') | 0,8050 ± 0,0047 | 0,7940 ± 0,0063 |
| ('cora', 'gat') | 0,8234 ± 0,0042 | 0,8088 ± 0,0016 |
Jika Anda memiliki kesulitan untuk membuat hal -hal bekerja dalam langkah -langkah di atas, jangan ragu untuk membuka masalah. Anda dapat mengharapkan balasan dalam waktu 24 jam.
Jika Anda memiliki algoritma yang berkinerja baik dan bersedia mengimplementasikannya di toolkit kami untuk membantu lebih banyak orang, Anda pertama-tama dapat membuka masalah dan kemudian membuat permintaan tarik, informasi terperinci dapat ditemukan di sini.
Sebelum melakukan modifikasi Anda, silakan jalankan pre-commit install terlebih dahulu untuk mengatur kait git untuk memeriksa format kode dan gaya menggunakan black dan flake8 . Kemudian pre-commit akan berjalan secara otomatis di git commit ! Informasi terperinci pre-commit dapat ditemukan di sini.
Jika Anda ingin menjalankan percobaan paralel di server Anda dengan beberapa GPU pada beberapa model, GCN dan GAT, pada dataset CORA:
$ python scripts/train.py --dataset cora --model gcn gat --hidden-size 64 --devices 0 1 --seed 0 1 2 3 4Output yang diharapkan:
| Variasi | ACC |
|---|---|
| ('cora', 'gcn') | 0,8236 ± 0,0033 |
| ('cora', 'gat') | 0,8262 ± 0,0032 |
Anda mungkin bingung mengapa permintaan tarikan Anda ditolak karena 'cakupan menurun ...' masalah meskipun model Anda bekerja dengan baik secara lokal. Ini karena Anda belum memasukkan tes unit, yang pada dasarnya berjalan melalui baris kode tambahan yang Anda tambahkan. Layanan Travis CI yang digunakan oleh GitHub melakukan semua tes unit pada kode yang Anda lakukan dan memeriksa berapa banyak baris kode yang telah diperiksa oleh tes unit, dan jika sebagian besar kode Anda belum diperiksa (cakupan yang tidak mencukupi), permintaan tarik ditolak.
Jadi, bagaimana Anda melakukan tes unit?
models/nn/abcgnn.py yang melakukan tugas klasifikasi node. Kemudian, Anda perlu menambahkan tes unit di dalam tests/tasks/test_node_classification.py (atau tugas apa pun yang relevan model Anda).tests/tasks/test_node_classification.py , komit bersama dengan models/nn/abcgnn.py dan permintaan tarik Anda harus berlalu. COGDL dikembangkan dan dikelola oleh Tsinghua, Zju, Damo Academy, dan Zhipu.ai.
Tim pengembangan inti dapat dihubungi di [email protected].
Harap kutip makalah kami jika Anda menemukan kode atau hasil kami berguna untuk penelitian Anda:
@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}
}