在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:GraphVite开源软件地址:https://gitee.com/mirrors/GraphVite开源软件介绍:GraphVite - graph embedding at high speed and large scaleDocs | Tutorials | Benchmarks | Pre-trained Models GraphVite is a general graph embedding engine, dedicated to high-speed andlarge-scale embedding learning in various applications. GraphVite provides complete training and evaluation pipelines for 3 applications:node embedding, knowledge graph embedding andgraph & high-dimensional data visualization. Besides, it also includes 9 popularmodels, along with their benchmarks on a bunch of standard datasets.
Here is a summary of the training time of GraphVite along with the best open-sourceimplementations on 3 applications. All the time is reported based on a server with24 CPU threads and 4 V100 GPUs. Training time of node embedding on Youtube dataset.
Training / evaluation time of knowledge graph embedding on FB15k dataset.
Training time of high-dimensional data visualization on MNIST dataset.
RequirementsGenerally, GraphVite works on any Linux distribution with CUDA >= 9.2. The library is compatible with Python 2.7 and 3.6/3.7. InstallationFrom Condaconda install -c milagraph -c conda-forge graphvite cudatoolkit=$(nvcc -V | grep -Po "(?<=V)\d+.\d+") If you only need embedding training without evaluation, you can use the followingalternative with minimal dependencies. conda install -c milagraph -c conda-forge graphvite-mini cudatoolkit=$(nvcc -V | grep -Po "(?<=V)\d+.\d+") From SourceBefore installation, make sure you have git clone https://github.com/DeepGraphLearning/graphvitecd graphviteconda install -y --file conda/requirements.txtmkdir buildcd build && cmake .. && make && cd -cd python && python setup.py install && cd - On Colab!wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh!chmod +x Miniconda3-latest-Linux-x86_64.sh!./Miniconda3-latest-Linux-x86_64.sh -b -p /usr/local -f!conda install -y -c milagraph -c conda-forge graphvite \ python=3.6 cudatoolkit=$(nvcc -V | grep -Po "(?<=V)\d+\.\d+")!conda install -y wurlitzer ipykernel import sitesite.addsitedir("/usr/local/lib/python3.6/site-packages")%reload_ext wurlitzer Quick StartHere is a quick-start example of the node embedding application. graphvite baseline quick start Typically, the example takes no more than 1 minute. You will obtain some output like Batch id: 6000loss = 0.371041------------- link prediction --------------AUC: 0.899933----------- node classification ------------macro-F1@20%: 0.242114micro-F1@20%: 0.391342 Baseline BenchmarkTo reproduce a baseline benchmark, you only need to specify the keywords of theexperiment. e.g. model and dataset. graphvite baseline [keyword ...] [--no-eval] [--gpu n] [--cpu m] [--epoch e] You may also set the number of GPUs and the number of CPUs per GPU. Use Custom ExperimentCreate a yaml configuration scaffold for graph, knowledge graph, visualization orword graph. graphvite new [application ...] [--file f] Fill some necessary entries in the configuration following the instructions. Youcan run the configuration by graphvite run [config] [--no-eval] [--gpu n] [--cpu m] [--epoch e] High-dimensional Data VisualizationYou can visualize your high-dimensional vectors with a simple command line inGraphVite. graphvite visualize [file] [--label label_file] [--save save_file] [--perplexity n] [--3d] The file can be either a numpy dump ContributingWe welcome all contributions from bug fixs to new features. Please let us know if youhave any suggestion to our library. Development TeamGraphVite is developed by MilaGraph, led by Prof. Jian Tang. Authors of this project are Zhaocheng Zhu, Shizhen Xu, Meng Qu and Jian Tang.Contributors include Kunpeng Wang and Zhijian Duan. CitationIf you find GraphVite useful for your research or development, please cite thefollowing paper. @inproceedings{zhu2019graphvite, title={GraphVite: A High-Performance CPU-GPU Hybrid System for Node Embedding}, author={Zhu, Zhaocheng and Xu, Shizhen and Qu, Meng and Tang, Jian}, booktitle={The World Wide Web Conference}, pages={2494--2504}, year={2019}, organization={ACM} } AcknowledgementsWe would like to thank Compute Canada for supporting GPU servers. We specially thankWenbin Hou for useful discussions on C++ and GPU programming techniques. |
请发表评论