@@ -34,7 +34,7 @@ Here is a summary of the training time of GraphVite along with the best open-sou
3434implementations on 3 applications. All the time is reported based on a server with
353524 CPU threads and 4 V100 GPUs.
3636
37- Node embedding on [ Youtube] dataset.
37+ Training time of node embedding on [ Youtube] dataset.
3838
3939| Model | Existing Implementation | GraphVite | Speedup |
4040| ------------| -------------------------------| -----------| ---------|
@@ -50,24 +50,24 @@ Node embedding on [Youtube] dataset.
5050[ 2 ] : https://github.com/tangjianpku/LINE
5151[ 3 ] : https://github.com/aditya-grover/node2vec
5252
53- Knowledge graph embedding on [ FB15k] dataset.
53+ Training / evaluation time of knowledge graph embedding on [ FB15k] dataset.
5454
55- | Model | Existing Implementation | GraphVite | Speedup |
56- | -----------------| -------------------------------| -----------| ---------|
57- | [ TransE] | [ 1.31 hrs (1 GPU)] [ 3 ] | 14.8 mins | 5.30x |
58- | [ RotatE] | [ 3.69 hrs (1 GPU)] [ 4 ] | 27.0 mins | 8.22x |
55+ | Model | Existing Implementation | GraphVite | Speedup |
56+ | -----------------| ----------------------------------- | -------------------- | ------ ---------|
57+ | [ TransE] | [ 1.31 hrs / 1.75 mins (1 GPU)] [ 3 ] | 13.5 mins / 54.3 s | 5.82x / 1.93x |
58+ | [ RotatE] | [ 3.69 hrs / 4.19 mins (1 GPU)] [ 4 ] | 28.1 mins / 55.8 s | 7.88x / 4.50x |
5959
6060[ FB15k ] : http://papers.nips.cc/paper/5071-translating-embeddings-for-modeling-multi-relational-data.pdf
6161[ TransE ] : http://papers.nips.cc/paper/5071-translating-embeddings-for-modeling-multi-relational-data.pdf
6262[ RotatE ] : https://arxiv.org/pdf/1902.10197.pdf
6363[ 3 ] : https://github.com/DeepGraphLearning/KnowledgeGraphEmbedding
6464[ 4 ] : https://github.com/DeepGraphLearning/KnowledgeGraphEmbedding
6565
66- High -dimensional data visualization on [ MNIST] dataset.
66+ Training time of high -dimensional data visualization on [ MNIST] dataset.
6767
6868| Model | Existing Implementation | GraphVite | Speedup |
6969| --------------| -------------------------------| -----------| ---------|
70- | [ LargeVis] | [ 15.3 mins (CPU parallel)] [ 5 ] | 15.1 s | 60 .8x |
70+ | [ LargeVis] | [ 15.3 mins (CPU parallel)] [ 5 ] | 13.9 s | 66 .8x |
7171
7272[ MNIST ] : http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf
7373[ LargeVis ] : https://arxiv.org/pdf/1602.00370.pdf
@@ -85,19 +85,15 @@ Installation
8585
8686### From Conda ###
8787
88- GraphVite can be installed through conda with only one line.
89-
9088``` bash
91- conda install -c milagraph graphvite cudatoolkit=x.x
89+ conda install -c milagraph graphvite cudatoolkit=$( nvcc -V | grep -Po " (?<=V)\d+.\d+ " )
9290```
9391
94- where ` x.x ` is your CUDA version, e.g. 9.2 or 10.0.
95-
9692If you only need embedding training without evaluation, you can use the following
9793alternative with minimal dependencies.
9894
9995``` bash
100- conda install -c milagraph graphvite-mini cudatoolkit=x.x
96+ conda install -c milagraph graphvite-mini cudatoolkit=$( nvcc -V | grep -Po " (?<=V)\d+.\d+ " )
10197```
10298
10399### From Source ###
@@ -113,6 +109,24 @@ cd build && cmake .. && make && cd -
113109cd python && python setup.py install && cd -
114110```
115111
112+ ### On Colab ###
113+
114+ ``` bash
115+ ! wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
116+ ! chmod +x Miniconda3-latest-Linux-x86_64.sh
117+ ! ./Miniconda3-latest-Linux-x86_64.sh -b -p /usr/local -f
118+
119+ ! conda install -y -c milagraph -c conda-forge graphvite \
120+ python=3.6 cudatoolkit=$( nvcc -V | grep -Po " (?<=V)\d+\.\d+" )
121+ ! conda install -y wurlitzer ipykernel
122+ ```
123+
124+ ``` python
125+ import site
126+ site.addsitedir(" /usr/local/lib/python3.6/site-packages" )
127+ % reload_ext wurlitzer
128+ ```
129+
116130Quick Start
117131-----------
118132
@@ -126,10 +140,14 @@ Typically, the example takes no more than 1 minute. You will obtain some output
126140
127141```
128142Batch id: 6000
129- loss = 0.371641
143+ loss = 0.371041
144+
145+ ------------- link prediction --------------
146+ AUC: 0.899933
130147
131- macro-F1@20%: 0.236794
132- micro-F1@20%: 0.388110
148+ ----------- node classification ------------
149+ macro-F1@20%: 0.242114
150+ micro-F1@20%: 0.391342
133151```
134152
135153Baseline Benchmark
@@ -139,13 +157,30 @@ To reproduce a baseline benchmark, you only need to specify the keywords of the
139157experiment. e.g. model and dataset.
140158
141159``` bash
142- graphvite baseline [keyword ...] [--no-eval] [--gpu n] [--cpu m]
160+ graphvite baseline [keyword ...] [--no-eval] [--gpu n] [--cpu m] [--epoch e]
143161```
144162
145163You may also set the number of GPUs and the number of CPUs per GPU.
146164
147165Use `` graphvite list `` to get a list of available baselines.
148166
167+ Custom Experiment
168+ -----------------
169+
170+ Create a yaml configuration scaffold for graph, knowledge graph, visualization or
171+ word graph.
172+
173+ ``` bash
174+ graphvite new [application ...] [--file f]
175+ ```
176+
177+ Fill some necessary entries in the configuration following the instructions. You
178+ can run the configuration by
179+
180+ ``` bash
181+ graphvite run [config] [--no-eval] [--gpu n] [--cpu m] [--epoch e]
182+ ```
183+
149184High-dimensional Data Visualization
150185-----------------------------------
151186
@@ -156,8 +191,8 @@ GraphVite.
156191graphvite visualize [file] [--label label_file] [--save save_file] [--perplexity n] [--3d]
157192```
158193
159- The file can be either in numpy dump or text format. For the save file, we recommend
160- to use a ` png ` format, while ` pdf ` is also supported.
194+ The file can be either a numpy dump ` *.npy ` or a text matrix ` *.txt ` . For the save
195+ file, we recommend to use ` png ` format, while ` pdf ` is also supported.
161196
162197Contributing
163198------------
0 commit comments