项目文件夹

文件
T
Da Zheng 15b951d4c4 [KG][Model] Knowledge graph embeddings (#888)
* upd

* fig edgebatch edges

* add test

* trigger

* Update README.md for pytorch PinSage example.

Add noting that the PinSage model example under
example/pytorch/recommendation only work with Python 3.6+
as its dataset loader depends on stanfordnlp package
which work only with Python 3.6+.

* Provid a frame agnostic API to test nn modules on both CPU and CUDA side.

1. make dgl.nn.xxx frame agnostic
2. make test.backend include dgl.nn modules
3. modify test_edge_softmax of test/mxnet/test_nn.py and
    test/pytorch/test_nn.py work on both CPU and GPU

* Fix style

* Delete unused code

* Make agnostic test only related to tests/backend

1. clear all agnostic related code in dgl.nn
2. make test_graph_conv agnostic to cpu/gpu

* Fix code style

* fix

* doc

* Make all test code under tests.mxnet/pytorch.test_nn.py
work on both CPU and GPU.

* Fix syntex

* Remove rand

* Add TAGCN nn.module and example

* Now tagcn can run on CPU.

* Add unitest for TGConv

* Fix style

* For pubmed dataset, using --lr=0.005 can achieve better acc

* Fix style

* Fix some descriptions

* trigger

* Fix doc

* Add nn.TGConv and example

* Fix bug

* Update data in mxnet.tagcn test acc.

* Fix some comments and code

* delete useless code

* Fix namming

* Fix bug

* Fix bug

* Add test for mxnet TAGCov

* Add test code for mxnet TAGCov

* Update some docs

* Fix some code

* Update docs dgl.nn.mxnet

* Update weight init

* Fix

* init version.

* change default value of regularization.

* avoid specifying adversarial_temperature

* use default eval_interval.

* remove original model.

* remove optimizer.

* set default value of num_proc

* set default value of log_interval.

* don't need to set neg_sample_size_valid.

* remove unused code.

* use uni_weight by default.

* unify model.

* rename model.

* remove unnecessary data sampler.

* remove the code for checkpoint.

* fix eval.

* raise exception in invalid arguments.

* remove RowAdagrad.

* remove unsupported score function for now.

* Fix bugs of kg
Update README

* Update Readme for mxnet distmult

* Update README.md

* Update README.md

* revert changes on dmlc

* add tests.

* update CI.

* add tests script.

* reorder tests in CI.

* measure performance.

* add results on wn18

* remove some code.

* rename the training script.

* new results on TransE.

* remove --train.

* add format.

* fix.

* use EdgeSubgraph.

* create PBGNegEdgeSubgraph to simplify the code.

* fix test

* fix CI.

* run nose for unit tests.

* remove unused code in dataset.

* change argument to save embeddings.

* test training and eval scripts in CI.

* check Pytorch version.

* fix a minor problem in config.

* fix a minor bug.

* fix readme.

* Update README.md

* Update README.md

* Update README.md
2019-10-02 12:57:29 -07:00

322 行
7.9 KiB
Groovy

#!/usr/bin/env groovy
dgl_linux_libs = "build/libdgl.so, build/runUnitTests, python/dgl/_ffi/_cy3/core.cpython-35m-x86_64-linux-gnu.so"
// Currently DGL on Windows is not working with Cython yet
dgl_win64_libs = "build\\dgl.dll, build\\runUnitTests.exe"
def init_git() {
sh "rm -rf *"
checkout scm
sh "git submodule update --recursive --init"
}
def init_git_win64() {
checkout scm
bat "git submodule update --recursive --init"
}
// pack libraries for later use
def pack_lib(name, libs) {
echo "Packing ${libs} into ${name}"
stash includes: libs, name: name
}
// unpack libraries saved before
def unpack_lib(name, libs) {
unstash name
echo "Unpacked ${libs} from ${name}"
}
def build_dgl_linux(dev) {
init_git()
sh "bash tests/scripts/build_dgl.sh ${dev}"
pack_lib("dgl-${dev}-linux", dgl_linux_libs)
}
def build_dgl_win64(dev) {
/* Assuming that Windows slaves are already configured with MSBuild VS2017,
* CMake and Python/pip/setuptools etc. */
init_git_win64()
bat "CALL tests\\scripts\\build_dgl.bat"
pack_lib("dgl-${dev}-win64", dgl_win64_libs)
}
def cpp_unit_test_linux() {
init_git()
unpack_lib("dgl-cpu-linux", dgl_linux_libs)
sh "bash tests/scripts/task_cpp_unit_test.sh"
}
def cpp_unit_test_win64() {
init_git_win64()
unpack_lib("dgl-cpu-win64", dgl_win64_libs)
bat "CALL tests\\scripts\\task_cpp_unit_test.bat"
}
def unit_test_linux(backend, dev) {
init_git()
unpack_lib("dgl-${dev}-linux", dgl_linux_libs)
timeout(time: 5, unit: 'MINUTES') {
sh "bash tests/scripts/task_unit_test.sh ${backend} ${dev}"
}
}
def unit_test_win64(backend, dev) {
init_git_win64()
unpack_lib("dgl-${dev}-win64", dgl_win64_libs)
timeout(time: 2, unit: 'MINUTES') {
bat "CALL tests\\scripts\\task_unit_test.bat ${backend}"
}
}
def kg_test_linux(backend, dev) {
init_git()
unpack_lib("dgl-${dev}-linux", dgl_linux_libs)
timeout(time: 20, unit: 'MINUTES') {
sh "bash tests/scripts/task_kg_test.sh ${backend} ${dev}"
}
}
def example_test_linux(backend, dev) {
init_git()
unpack_lib("dgl-${dev}-linux", dgl_linux_libs)
timeout(time: 20, unit: 'MINUTES') {
sh "bash tests/scripts/task_example_test.sh ${dev}"
}
}
def example_test_win64(backend, dev) {
init_git_win64()
unpack_lib("dgl-${dev}-win64", dgl_win64_libs)
timeout(time: 20, unit: 'MINUTES') {
bat "CALL tests\\scripts\\task_example_test.bat ${dev}"
}
}
def tutorial_test_linux(backend) {
init_git()
unpack_lib("dgl-cpu-linux", dgl_linux_libs)
timeout(time: 20, unit: 'MINUTES') {
sh "bash tests/scripts/task_${backend}_tutorial_test.sh"
}
}
pipeline {
agent any
stages {
stage("Lint Check") {
agent { docker { image "dgllib/dgl-ci-lint" } }
steps {
init_git()
sh "bash tests/scripts/task_lint.sh"
}
post {
always {
cleanWs disableDeferredWipeout: true, deleteDirs: true
}
}
}
stage("Build") {
parallel {
stage("CPU Build") {
agent { docker { image "dgllib/dgl-ci-cpu" } }
steps {
build_dgl_linux("cpu")
}
post {
always {
cleanWs disableDeferredWipeout: true, deleteDirs: true
}
}
}
stage("GPU Build") {
agent {
docker {
image "dgllib/dgl-ci-gpu"
args "--runtime nvidia"
}
}
steps {
sh "nvidia-smi"
build_dgl_linux("gpu")
}
post {
always {
cleanWs disableDeferredWipeout: true, deleteDirs: true
}
}
}
stage("CPU Build (Win64)") {
// Windows build machines are manually added to Jenkins master with
// "windows" label as permanent agents.
agent { label "windows" }
steps {
build_dgl_win64("cpu")
}
post {
always {
cleanWs disableDeferredWipeout: true, deleteDirs: true
}
}
}
// Currently we don't have Windows GPU build machines
}
}
stage("Test") {
parallel {
stage("C++ CPU") {
agent { docker { image "dgllib/dgl-ci-cpu" } }
steps {
cpp_unit_test_linux()
}
post {
always {
cleanWs disableDeferredWipeout: true, deleteDirs: true
}
}
}
stage("C++ CPU (Win64)") {
agent { label "windows" }
steps {
cpp_unit_test_win64()
}
post {
always {
cleanWs disableDeferredWipeout: true, deleteDirs: true
}
}
}
stage("Torch CPU") {
agent { docker { image "dgllib/dgl-ci-cpu" } }
stages {
stage("Unit test") {
steps {
unit_test_linux("pytorch", "cpu")
}
}
stage("Example test") {
steps {
example_test_linux("pytorch", "cpu")
}
}
stage("Tutorial test") {
steps {
tutorial_test_linux("pytorch")
}
}
stage("Knowledge Graph test") {
steps {
kg_test_linux("pytorch", "cpu")
}
}
}
post {
always {
cleanWs disableDeferredWipeout: true, deleteDirs: true
}
}
}
stage("Torch CPU (Win64)") {
agent { label "windows" }
stages {
stage("Unit test") {
steps {
unit_test_win64("pytorch", "cpu")
}
}
stage("Example test") {
steps {
example_test_win64("pytorch", "cpu")
}
}
}
post {
always {
cleanWs disableDeferredWipeout: true, deleteDirs: true
}
}
}
stage("Torch GPU") {
agent {
docker {
image "dgllib/dgl-ci-gpu"
args "--runtime nvidia"
}
}
stages {
stage("Unit test") {
steps {
sh "nvidia-smi"
unit_test_linux("pytorch", "gpu")
}
}
stage("Example test") {
steps {
example_test_linux("pytorch", "gpu")
}
}
}
post {
always {
cleanWs disableDeferredWipeout: true, deleteDirs: true
}
}
}
stage("MXNet CPU") {
agent { docker { image "dgllib/dgl-ci-cpu" } }
stages {
stage("Unit test") {
steps {
unit_test_linux("mxnet", "cpu")
}
}
stage("Knowledge Graph test") {
steps {
kg_test_linux("mxnet", "cpu")
}
}
//stage("Tutorial test") {
// steps {
// tutorial_test_linux("mxnet")
// }
//}
}
post {
always {
cleanWs disableDeferredWipeout: true, deleteDirs: true
}
}
}
stage("MXNet GPU") {
agent {
docker {
image "dgllib/dgl-ci-gpu"
args "--runtime nvidia"
}
}
stages {
stage("Unit test") {
steps {
sh "nvidia-smi"
unit_test_linux("mxnet", "gpu")
}
}
}
post {
always {
cleanWs disableDeferredWipeout: true, deleteDirs: true
}
}
}
}
}
}
post {
always {
node('windows') {
bat "rmvirtualenv ${BUILD_TAG}"
}
}
}
}