MCPcopy Create free account
hub / github.com/DeepGraphLearning/graphvite / pyKnowledgeGraphSolver

Method pyKnowledgeGraphSolver

include/bind.h:526–638  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

524
525 template<class... Args>
526 pyKnowledgeGraphSolver(py::handle scope, const char *name, const Args &...args) :
527 Base(scope, signature(name, dim, typeid(Float).name(), typeid(Index).name()).c_str(), args...) {
528 attr("__doc__") = "KnowledgeGraphSolver(dim, float_type=dtype.float32, index_type=dtype.uint32, "
529 "device_ids=[], num_sampler_per_worker=auto, gpu_memory_limit=auto)"
530 R"(
531 Knowledge graph embedding solver.
532
533 Parameters:
534 dim (int): dimension of embeddings
535 float_type (dtype): type of parameters
536 index_type (dtype): type of node indexes
537 device_ids (list of int, optional): GPU ids, [] for auto
538 num_sampler_per_worker (int, optional): number of sampler thread per GPU
539 gpu_memory_limit (int, optional): memory limit for each GPU in bytes
540 )";
541
542 // override instance name with template name
543 attr("__name__") = py::internal_str(name);
544 attr("__qualname__") = py::internal_str(name);
545
546 // data members
547 def_readonly("num_partition", &KnowledgeGraphSolver::num_partition);
548 def_readonly("num_negative", &KnowledgeGraphSolver::num_negative);
549 def_readonly("sample_batch_size", &KnowledgeGraphSolver::sample_batch_size);
550 def_readonly("optimizer", &KnowledgeGraphSolver::optimizer);
551 def_readonly("negative_sample_exponent", &KnowledgeGraphSolver::negative_sample_exponent);
552 def_readonly("model", &KnowledgeGraphSolver::model);
553 def_readonly("num_epoch", &KnowledgeGraphSolver::num_epoch);
554 def_readonly("resume", &KnowledgeGraphSolver::resume);
555 def_readonly("relation_lr_multiplier", &KnowledgeGraphSolver::relation_lr_multiplier);
556 def_readonly("episode_size", &KnowledgeGraphSolver::episode_size);
557 def_readonly("batch_size", &KnowledgeGraphSolver::batch_size);
558 def_readonly("margin", &KnowledgeGraphSolver::margin);
559 def_readonly("l3_regularization", &KnowledgeGraphSolver::l3_regularization);
560 def_readonly("adversarial_temperature", &KnowledgeGraphSolver::adversarial_temperature);
561 def_readonly("positive_reuse", &KnowledgeGraphSolver::positive_reuse);
562 def_readonly("log_frequency", &KnowledgeGraphSolver::log_frequency);
563 def_readonly("num_worker", &KnowledgeGraphSolver::num_worker);
564 def_readonly("num_sampler", &KnowledgeGraphSolver::num_sampler);
565 def_readonly("gpu_memory_limit", &KnowledgeGraphSolver::gpu_memory_limit);
566 def_readonly("gpu_memory_cost", &KnowledgeGraphSolver::gpu_memory_cost);
567
568 // numpy views (mutable but unassignable)
569 def_property_readonly("entity_embeddings", numpy_view(&KnowledgeGraphSolver::entity_embeddings),
570 "Entity embeddings (2D numpy view).");
571 def_property_readonly("relation_embeddings", numpy_view(&KnowledgeGraphSolver::relation_embeddings),
572 "Relation embeddings (2D numpy view).");
573
574 // member functions
575 def(py::init<std::vector<int>, int, size_t>(), py::no_gil(),
576 py::arg("device_ids") = std::vector<int>(), py::arg("num_sampler_per_worker") = graphvite::kAuto,
577 py::arg("gpu_memory_limit") = graphvite::kAuto);
578
579 def("build", &KnowledgeGraphSolver::build, py::no_gil(),
580 py::arg("graph"), py::arg("optimizer") = graphvite::Optimizer(graphvite::kAuto),
581 py::arg("num_partition") = graphvite::kAuto, py::arg("num_negative") = 64, py::arg("batch_size") = 100000,
582 py::arg("episode_size") = graphvite::kAuto,
583 "build(graph, optimizer=auto, num_partition=auto, num_negative=64, batch_size=100000, episode_size=auto)"

Callers

nothing calls this directly

Calls 4

numpy_viewFunction · 0.85
signatureFunction · 0.70
OptimizerClass · 0.50
nameMethod · 0.45

Tested by

no test coverage detected