Skip to content

Commit

Permalink
deploy: 4688651
Browse files Browse the repository at this point in the history
  • Loading branch information
Louis-Mozart committed Mar 27, 2024
1 parent 34730a2 commit 8bd4442
Show file tree
Hide file tree
Showing 106 changed files with 17,726 additions and 31,614 deletions.
721 changes: 236 additions & 485 deletions _modules/dicee/abstracts.html

Large diffs are not rendered by default.

308 changes: 308 additions & 0 deletions _modules/dicee/analyse_experiments.html

Large diffs are not rendered by default.

792 changes: 127 additions & 665 deletions _modules/dicee/callbacks.html

Large diffs are not rendered by default.

267 changes: 267 additions & 0 deletions _modules/dicee/config.html

Large diffs are not rendered by default.

954 changes: 954 additions & 0 deletions _modules/dicee/dataset_classes.html

Large diffs are not rendered by default.

545 changes: 545 additions & 0 deletions _modules/dicee/eval_static_funcs.html

Large diffs are not rendered by default.

648 changes: 648 additions & 0 deletions _modules/dicee/evaluator.html

Large diffs are not rendered by default.

444 changes: 444 additions & 0 deletions _modules/dicee/executer.html

Large diffs are not rendered by default.

252 changes: 252 additions & 0 deletions _modules/dicee/knowledge_graph.html

Large diffs are not rendered by default.

1,499 changes: 1,499 additions & 0 deletions _modules/dicee/knowledge_graph_embeddings.html

Large diffs are not rendered by default.

284 changes: 84 additions & 200 deletions _modules/dicee/models/base_model.html

Large diffs are not rendered by default.

1,160 changes: 217 additions & 943 deletions _modules/dicee/models/clifford.html

Large diffs are not rendered by default.

602 changes: 79 additions & 523 deletions _modules/dicee/models/complex.html

Large diffs are not rendered by default.

264 changes: 264 additions & 0 deletions _modules/dicee/models/dualE.html

Large diffs are not rendered by default.

641 changes: 93 additions & 548 deletions _modules/dicee/models/function_space.html

Large diffs are not rendered by default.

1,561 changes: 234 additions & 1,327 deletions _modules/dicee/models/octonion.html

Large diffs are not rendered by default.

85 changes: 23 additions & 62 deletions _modules/dicee/models/pykeen_models.html
Original file line number Diff line number Diff line change
Expand Up @@ -95,61 +95,28 @@ <h1>Source code for dicee.models.pykeen_models</h1><div class="highlight"><pre>
<span class="kn">import</span> <span class="nn">traceback</span>

<div class="viewcode-block" id="PykeenKGE">
<a class="viewcode-back" href="../../../autoapi/dicee/models/pykeen_models/index.html#dicee.models.PykeenKGE">[docs]</a>
<a class="viewcode-back" href="../../../autoapi/dicee/models/pykeen_models/index.html#dicee.PykeenKGE">[docs]</a>
<span class="k">class</span> <span class="nc">PykeenKGE</span><span class="p">(</span><span class="n">BaseKGE</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> A class for using knowledge graph embedding models implemented in Pykeen.</span>

<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
<span class="sd"> args : dict</span>
<span class="sd"> A dictionary of arguments containing hyperparameters and settings for the model,</span>
<span class="sd"> such as embedding dimensions, random seed, and model-specific kwargs.</span>

<span class="sd"> Attributes</span>
<span class="sd"> ----------</span>
<span class="sd"> name : str</span>
<span class="sd"> The name identifier for the PykeenKGE model.</span>
<span class="sd"> model : pykeen.models.base.Model</span>
<span class="sd"> The Pykeen model instance.</span>
<span class="sd"> loss_history : list</span>
<span class="sd"> A list to store the training loss history.</span>
<span class="sd"> args : dict</span>
<span class="sd"> The arguments used to initialize the model.</span>
<span class="sd"> entity_embeddings : torch.nn.Embedding</span>
<span class="sd"> Entity embeddings learned by the model.</span>
<span class="sd"> relation_embeddings : torch.nn.Embedding</span>
<span class="sd"> Relation embeddings learned by the model.</span>
<span class="sd"> interaction : pykeen.nn.modules.Interaction</span>
<span class="sd"> Interaction module used by the Pykeen model.</span>

<span class="sd"> Methods</span>
<span class="sd"> -------</span>
<span class="sd"> forward_k_vs_all(x: torch.LongTensor) -&gt; torch.FloatTensor</span>
<span class="sd"> Compute scores for all entities given a batch of head entities and relations.</span>
<span class="sd"> forward_triples(x: torch.LongTensor) -&gt; torch.FloatTensor</span>
<span class="sd"> Compute scores for a batch of triples.</span>
<span class="sd"> forward_k_vs_sample(x: torch.LongTensor, target_entity_idx: int)</span>
<span class="sd"> Compute scores against a sampled subset of entities.</span>

<span class="sd"> Notes</span>
<span class="sd"> -----</span>
<span class="sd"> This class provides an interface for using knowledge graph embedding models implemented</span>
<span class="sd"> in Pykeen. It initializes Pykeen models based on the provided arguments and allows for</span>
<span class="sd"> scoring triples and conducting knowledge graph embedding experiments.</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot; A class for using knowledge graph embedding models implemented in Pykeen</span>

<span class="sd"> Notes:</span>
<span class="sd"> Pykeen_DistMult: C</span>
<span class="sd"> Pykeen_ComplEx:</span>
<span class="sd"> Pykeen_QuatE:</span>
<span class="sd"> Pykeen_MuRE:</span>
<span class="sd"> Pykeen_CP:</span>
<span class="sd"> Pykeen_HolE:</span>
<span class="sd"> Pykeen_HolE:</span>
<span class="sd"> &quot;&quot;&quot;</span>

<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">args</span><span class="p">:</span> <span class="nb">dict</span><span class="p">):</span>
<span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">model_kwargs</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">&quot;embedding_dim&quot;</span><span class="p">:</span> <span class="n">args</span><span class="p">[</span><span class="s2">&quot;embedding_dim&quot;</span><span class="p">],</span>
<span class="s2">&quot;entity_initializer&quot;</span><span class="p">:</span> <span class="kc">None</span>
<span class="k">if</span> <span class="n">args</span><span class="p">[</span><span class="s2">&quot;init_param&quot;</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span>
<span class="k">else</span> <span class="n">torch</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">init</span><span class="o">.</span><span class="n">xavier_normal_</span><span class="p">,</span>
<span class="s2">&quot;random_seed&quot;</span><span class="p">:</span> <span class="n">args</span><span class="p">[</span><span class="s2">&quot;random_seed&quot;</span><span class="p">],</span>
<span class="p">}</span>
<span class="bp">self</span><span class="o">.</span><span class="n">model_kwargs</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="s2">&quot;pykeen_model_kwargs&quot;</span><span class="p">])</span>
<span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="s2">&quot;model&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;_&quot;</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
<span class="bp">self</span><span class="o">.</span><span class="n">model_kwargs</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;embedding_dim&#39;</span><span class="p">:</span> <span class="n">args</span><span class="p">[</span><span class="s1">&#39;embedding_dim&#39;</span><span class="p">],</span>
<span class="s1">&#39;entity_initializer&#39;</span><span class="p">:</span> <span class="kc">None</span> <span class="k">if</span> <span class="n">args</span><span class="p">[</span><span class="s1">&#39;init_param&#39;</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">torch</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">init</span><span class="o">.</span><span class="n">xavier_normal_</span><span class="p">,</span>
<span class="s2">&quot;random_seed&quot;</span><span class="p">:</span> <span class="n">args</span><span class="p">[</span><span class="s2">&quot;random_seed&quot;</span><span class="p">]</span>
<span class="p">}</span>
<span class="bp">self</span><span class="o">.</span><span class="n">model_kwargs</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="s1">&#39;pykeen_model_kwargs&#39;</span><span class="p">])</span>
<span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="s1">&#39;model&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;_&quot;</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
<span class="c1"># Solving memory issue of Pykeen models caused by the regularizers</span>
<span class="c1"># See https://github.com/pykeen/pykeen/issues/1297</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">==</span> <span class="s2">&quot;MuRE&quot;</span><span class="p">:</span>
Expand All @@ -176,9 +143,7 @@ <h1>Source code for dicee.models.pykeen_models</h1><div class="highlight"><pre>
<span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">==</span> <span class="s2">&quot;TransE&quot;</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">model_kwargs</span><span class="p">[</span><span class="s2">&quot;regularizer&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
<span class="k">else</span><span class="p">:</span>
<span class="nb">print</span><span class="p">(</span>
<span class="s2">&quot;Pykeen model have a memory leak caused by their implementation of regularizers&quot;</span>
<span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Pykeen model have a memory leak caused by their implementation of regularizers&quot;</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s2"> does not seem to have any regularizer&quot;</span><span class="p">)</span>
<span class="k">try</span><span class="p">:</span>
<span class="c1"># lazy import</span>
Expand All @@ -196,7 +161,7 @@ <h1>Source code for dicee.models.pykeen_models</h1><div class="highlight"><pre>
<span class="bp">self</span><span class="o">.</span><span class="n">args</span> <span class="o">=</span> <span class="n">args</span>
<span class="bp">self</span><span class="o">.</span><span class="n">entity_embeddings</span> <span class="o">=</span> <span class="kc">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">relation_embeddings</span> <span class="o">=</span> <span class="kc">None</span>
<span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">named_modules</span><span class="p">():</span>
<span class="k">for</span> <span class="p">(</span><span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">named_modules</span><span class="p">():</span>
<span class="k">if</span> <span class="s2">&quot;entity_representations&quot;</span> <span class="o">==</span> <span class="n">k</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">entity_embeddings</span> <span class="o">=</span> <span class="n">v</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">_embeddings</span>
<span class="k">elif</span> <span class="s2">&quot;relation_representations&quot;</span> <span class="o">==</span> <span class="n">k</span><span class="p">:</span>
Expand All @@ -207,11 +172,9 @@ <h1>Source code for dicee.models.pykeen_models</h1><div class="highlight"><pre>
<span class="k">pass</span>

<div class="viewcode-block" id="PykeenKGE.forward_k_vs_all">
<a class="viewcode-back" href="../../../autoapi/dicee/models/pykeen_models/index.html#dicee.models.PykeenKGE.forward_k_vs_all">[docs]</a>
<a class="viewcode-back" href="../../../autoapi/dicee/models/pykeen_models/index.html#dicee.PykeenKGE.forward_k_vs_all">[docs]</a>
<span class="k">def</span> <span class="nf">forward_k_vs_all</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">x</span><span class="p">:</span> <span class="n">torch</span><span class="o">.</span><span class="n">LongTensor</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> TODO: Format in Numpy-style documentation</span>

<span class="sd"> # =&gt; Explicit version by this we can apply bn and dropout</span>

<span class="sd"> # (1) Retrieve embeddings of heads and relations + apply Dropout &amp; Normalization if given.</span>
Expand All @@ -233,11 +196,9 @@ <h1>Source code for dicee.models.pykeen_models</h1><div class="highlight"><pre>


<div class="viewcode-block" id="PykeenKGE.forward_triples">
<a class="viewcode-back" href="../../../autoapi/dicee/models/pykeen_models/index.html#dicee.models.PykeenKGE.forward_triples">[docs]</a>
<a class="viewcode-back" href="../../../autoapi/dicee/models/pykeen_models/index.html#dicee.PykeenKGE.forward_triples">[docs]</a>
<span class="k">def</span> <span class="nf">forward_triples</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">x</span><span class="p">:</span> <span class="n">torch</span><span class="o">.</span><span class="n">LongTensor</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">torch</span><span class="o">.</span><span class="n">FloatTensor</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> TODO: Format in Numpy-style documentation</span>

<span class="sd"> # =&gt; Explicit version by this we can apply bn and dropout</span>

<span class="sd"> # (1) Retrieve embeddings of heads, relations and tails and apply Dropout &amp; Normalization if given.</span>
Expand All @@ -254,8 +215,8 @@ <h1>Source code for dicee.models.pykeen_models</h1><div class="highlight"><pre>


<div class="viewcode-block" id="PykeenKGE.forward_k_vs_sample">
<a class="viewcode-back" href="../../../autoapi/dicee/models/pykeen_models/index.html#dicee.models.PykeenKGE.forward_k_vs_sample">[docs]</a>
<span class="k">def</span> <span class="nf">forward_k_vs_sample</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">x</span><span class="p">:</span> <span class="n">torch</span><span class="o">.</span><span class="n">LongTensor</span><span class="p">,</span> <span class="n">target_entity_idx</span><span class="p">:</span> <span class="nb">int</span><span class="p">):</span>
<a class="viewcode-back" href="../../../autoapi/dicee/models/pykeen_models/index.html#dicee.PykeenKGE.forward_k_vs_sample">[docs]</a>
<span class="k">def</span> <span class="nf">forward_k_vs_sample</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">x</span><span class="p">:</span> <span class="n">torch</span><span class="o">.</span><span class="n">LongTensor</span><span class="p">,</span> <span class="n">target_entity_idx</span><span class="p">):</span>
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;KvsSample has not yet implemented for </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span></div>
</div>

Expand Down
Loading

0 comments on commit 8bd4442

Please sign in to comment.