@reicek/neataptic-ts 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/bug_report.md +33 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +27 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +28 -0
- package/.github/workflows/ci.yml +41 -0
- package/.github/workflows/deploy-pages.yml +29 -0
- package/.github/workflows/manual_release_pipeline.yml +62 -0
- package/.github/workflows/publish.yml +85 -0
- package/.github/workflows/release_dispatch.yml +38 -0
- package/.travis.yml +5 -0
- package/CONTRIBUTING.md +92 -0
- package/LICENSE +24 -0
- package/ONNX_EXPORT.md +87 -0
- package/README.md +1173 -0
- package/RELEASE.md +54 -0
- package/dist-docs/package.json +1 -0
- package/dist-docs/scripts/generate-docs.d.ts +2 -0
- package/dist-docs/scripts/generate-docs.d.ts.map +1 -0
- package/dist-docs/scripts/generate-docs.js +536 -0
- package/dist-docs/scripts/generate-docs.js.map +1 -0
- package/dist-docs/scripts/render-docs-html.d.ts +2 -0
- package/dist-docs/scripts/render-docs-html.d.ts.map +1 -0
- package/dist-docs/scripts/render-docs-html.js +148 -0
- package/dist-docs/scripts/render-docs-html.js.map +1 -0
- package/docs/FOLDERS.md +14 -0
- package/docs/README.md +1173 -0
- package/docs/architecture/README.md +1391 -0
- package/docs/architecture/index.html +938 -0
- package/docs/architecture/network/README.md +1210 -0
- package/docs/architecture/network/index.html +908 -0
- package/docs/assets/ascii-maze.bundle.js +16542 -0
- package/docs/assets/ascii-maze.bundle.js.map +7 -0
- package/docs/index.html +1419 -0
- package/docs/methods/README.md +670 -0
- package/docs/methods/index.html +477 -0
- package/docs/multithreading/README.md +274 -0
- package/docs/multithreading/index.html +215 -0
- package/docs/multithreading/workers/README.md +23 -0
- package/docs/multithreading/workers/browser/README.md +39 -0
- package/docs/multithreading/workers/browser/index.html +70 -0
- package/docs/multithreading/workers/index.html +57 -0
- package/docs/multithreading/workers/node/README.md +33 -0
- package/docs/multithreading/workers/node/index.html +66 -0
- package/docs/neat/README.md +1284 -0
- package/docs/neat/index.html +906 -0
- package/docs/src/README.md +2659 -0
- package/docs/src/index.html +1579 -0
- package/jest.config.ts +32 -0
- package/package.json +99 -0
- package/plans/HyperMorphoNEAT.md +293 -0
- package/plans/ONNX_EXPORT_PLAN.md +46 -0
- package/scripts/generate-docs.ts +486 -0
- package/scripts/render-docs-html.ts +138 -0
- package/scripts/types.d.ts +2 -0
- package/src/README.md +2659 -0
- package/src/architecture/README.md +1391 -0
- package/src/architecture/activationArrayPool.ts +135 -0
- package/src/architecture/architect.ts +635 -0
- package/src/architecture/connection.ts +148 -0
- package/src/architecture/group.ts +406 -0
- package/src/architecture/layer.ts +804 -0
- package/src/architecture/network/README.md +1210 -0
- package/src/architecture/network/network.activate.ts +223 -0
- package/src/architecture/network/network.connect.ts +157 -0
- package/src/architecture/network/network.deterministic.ts +167 -0
- package/src/architecture/network/network.evolve.ts +426 -0
- package/src/architecture/network/network.gating.ts +186 -0
- package/src/architecture/network/network.genetic.ts +247 -0
- package/src/architecture/network/network.mutate.ts +624 -0
- package/src/architecture/network/network.onnx.ts +463 -0
- package/src/architecture/network/network.prune.ts +216 -0
- package/src/architecture/network/network.remove.ts +96 -0
- package/src/architecture/network/network.serialize.ts +309 -0
- package/src/architecture/network/network.slab.ts +262 -0
- package/src/architecture/network/network.standalone.ts +246 -0
- package/src/architecture/network/network.stats.ts +59 -0
- package/src/architecture/network/network.topology.ts +86 -0
- package/src/architecture/network/network.training.ts +1278 -0
- package/src/architecture/network.ts +1302 -0
- package/src/architecture/node.ts +1288 -0
- package/src/architecture/onnx.ts +3 -0
- package/src/config.ts +83 -0
- package/src/methods/README.md +670 -0
- package/src/methods/activation.ts +372 -0
- package/src/methods/connection.ts +31 -0
- package/src/methods/cost.ts +347 -0
- package/src/methods/crossover.ts +63 -0
- package/src/methods/gating.ts +43 -0
- package/src/methods/methods.ts +8 -0
- package/src/methods/mutation.ts +300 -0
- package/src/methods/rate.ts +257 -0
- package/src/methods/selection.ts +65 -0
- package/src/multithreading/README.md +274 -0
- package/src/multithreading/multi.ts +339 -0
- package/src/multithreading/workers/README.md +23 -0
- package/src/multithreading/workers/browser/README.md +39 -0
- package/src/multithreading/workers/browser/testworker.ts +99 -0
- package/src/multithreading/workers/node/README.md +33 -0
- package/src/multithreading/workers/node/testworker.ts +72 -0
- package/src/multithreading/workers/node/worker.ts +70 -0
- package/src/multithreading/workers/workers.ts +22 -0
- package/src/neat/README.md +1284 -0
- package/src/neat/neat.adaptive.ts +544 -0
- package/src/neat/neat.compat.ts +164 -0
- package/src/neat/neat.constants.ts +20 -0
- package/src/neat/neat.diversity.ts +217 -0
- package/src/neat/neat.evaluate.ts +328 -0
- package/src/neat/neat.evolve.ts +1026 -0
- package/src/neat/neat.export.ts +249 -0
- package/src/neat/neat.helpers.ts +235 -0
- package/src/neat/neat.lineage.ts +220 -0
- package/src/neat/neat.multiobjective.ts +260 -0
- package/src/neat/neat.mutation.ts +718 -0
- package/src/neat/neat.objectives.ts +157 -0
- package/src/neat/neat.pruning.ts +190 -0
- package/src/neat/neat.selection.ts +269 -0
- package/src/neat/neat.speciation.ts +460 -0
- package/src/neat/neat.species.ts +151 -0
- package/src/neat/neat.telemetry.exports.ts +469 -0
- package/src/neat/neat.telemetry.ts +933 -0
- package/src/neat/neat.types.ts +275 -0
- package/src/neat.ts +1042 -0
- package/src/neataptic.ts +10 -0
- package/test/architecture/activationArrayPool.capacity.test.ts +19 -0
- package/test/architecture/activationArrayPool.test.ts +46 -0
- package/test/architecture/connection.test.ts +290 -0
- package/test/architecture/group.test.ts +950 -0
- package/test/architecture/layer.test.ts +1535 -0
- package/test/architecture/network.pruning.test.ts +65 -0
- package/test/architecture/node.test.ts +1602 -0
- package/test/examples/asciiMaze/asciiMaze.e2e.test.ts +499 -0
- package/test/examples/asciiMaze/asciiMaze.ts +41 -0
- package/test/examples/asciiMaze/browser-entry.ts +164 -0
- package/test/examples/asciiMaze/browserLogger.ts +221 -0
- package/test/examples/asciiMaze/browserTerminalUtility.ts +48 -0
- package/test/examples/asciiMaze/colors.ts +119 -0
- package/test/examples/asciiMaze/dashboardManager.ts +968 -0
- package/test/examples/asciiMaze/evolutionEngine.ts +1248 -0
- package/test/examples/asciiMaze/fitness.ts +136 -0
- package/test/examples/asciiMaze/index.html +128 -0
- package/test/examples/asciiMaze/index.ts +26 -0
- package/test/examples/asciiMaze/interfaces.ts +235 -0
- package/test/examples/asciiMaze/mazeMovement.ts +996 -0
- package/test/examples/asciiMaze/mazeUtils.ts +278 -0
- package/test/examples/asciiMaze/mazeVision.ts +402 -0
- package/test/examples/asciiMaze/mazeVisualization.ts +585 -0
- package/test/examples/asciiMaze/mazes.ts +245 -0
- package/test/examples/asciiMaze/networkRefinement.ts +76 -0
- package/test/examples/asciiMaze/networkVisualization.ts +901 -0
- package/test/examples/asciiMaze/terminalUtility.ts +73 -0
- package/test/methods/activation.test.ts +1142 -0
- package/test/methods/connection.test.ts +146 -0
- package/test/methods/cost.test.ts +1123 -0
- package/test/methods/crossover.test.ts +202 -0
- package/test/methods/gating.test.ts +144 -0
- package/test/methods/mutation.test.ts +451 -0
- package/test/methods/optimizers.advanced.test.ts +80 -0
- package/test/methods/optimizers.behavior.test.ts +105 -0
- package/test/methods/optimizers.formula.test.ts +89 -0
- package/test/methods/rate.cosineWarmRestarts.test.ts +44 -0
- package/test/methods/rate.linearWarmupDecay.test.ts +41 -0
- package/test/methods/rate.reduceOnPlateau.test.ts +45 -0
- package/test/methods/rate.test.ts +684 -0
- package/test/methods/selection.test.ts +245 -0
- package/test/multithreading/activations.functions.test.ts +54 -0
- package/test/multithreading/multi.test.ts +290 -0
- package/test/multithreading/worker.node.process.test.ts +39 -0
- package/test/multithreading/workers.coverage.test.ts +36 -0
- package/test/multithreading/workers.dynamic.import.test.ts +8 -0
- package/test/neat/neat.adaptive.complexityBudget.test.ts +34 -0
- package/test/neat/neat.adaptive.criterion.complexity.test.ts +50 -0
- package/test/neat/neat.adaptive.mutation.strategy.test.ts +37 -0
- package/test/neat/neat.adaptive.operator.decay.test.ts +31 -0
- package/test/neat/neat.adaptive.phasedComplexity.test.ts +25 -0
- package/test/neat/neat.adaptive.pruning.test.ts +25 -0
- package/test/neat/neat.adaptive.targetSpecies.test.ts +43 -0
- package/test/neat/neat.additional.coverage.test.ts +126 -0
- package/test/neat/neat.advanced.enhancements.test.ts +85 -0
- package/test/neat/neat.advanced.test.ts +589 -0
- package/test/neat/neat.diversity.autocompat.test.ts +47 -0
- package/test/neat/neat.diversity.metrics.test.ts +21 -0
- package/test/neat/neat.diversity.stats.test.ts +44 -0
- package/test/neat/neat.enhancements.test.ts +79 -0
- package/test/neat/neat.entropy.ancestorAdaptive.test.ts +133 -0
- package/test/neat/neat.entropy.compat.csv.test.ts +108 -0
- package/test/neat/neat.evolution.pruning.test.ts +39 -0
- package/test/neat/neat.fastmode.autotune.test.ts +42 -0
- package/test/neat/neat.innovation.test.ts +134 -0
- package/test/neat/neat.lineage.antibreeding.test.ts +35 -0
- package/test/neat/neat.lineage.entropy.test.ts +56 -0
- package/test/neat/neat.lineage.inbreeding.test.ts +49 -0
- package/test/neat/neat.lineage.pressure.test.ts +29 -0
- package/test/neat/neat.multiobjective.adaptive.test.ts +57 -0
- package/test/neat/neat.multiobjective.dynamic.schedule.test.ts +46 -0
- package/test/neat/neat.multiobjective.dynamic.test.ts +31 -0
- package/test/neat/neat.multiobjective.fastsort.delegation.test.ts +51 -0
- package/test/neat/neat.multiobjective.prune.test.ts +39 -0
- package/test/neat/neat.multiobjective.test.ts +21 -0
- package/test/neat/neat.mutation.undefined.pool.test.ts +24 -0
- package/test/neat/neat.objective.events.test.ts +26 -0
- package/test/neat/neat.objective.importance.test.ts +21 -0
- package/test/neat/neat.objective.lifetimes.test.ts +33 -0
- package/test/neat/neat.offspring.allocation.test.ts +22 -0
- package/test/neat/neat.operator.bandit.test.ts +17 -0
- package/test/neat/neat.operator.phases.test.ts +38 -0
- package/test/neat/neat.pruneInactive.behavior.test.ts +54 -0
- package/test/neat/neat.reenable.adaptation.test.ts +18 -0
- package/test/neat/neat.rng.state.test.ts +22 -0
- package/test/neat/neat.spawn.add.test.ts +123 -0
- package/test/neat/neat.speciation.test.ts +96 -0
- package/test/neat/neat.species.allocation.telemetry.test.ts +26 -0
- package/test/neat/neat.species.history.csv.test.ts +24 -0
- package/test/neat/neat.telemetry.advanced.test.ts +226 -0
- package/test/neat/neat.telemetry.csv.lineage.test.ts +19 -0
- package/test/neat/neat.telemetry.parity.test.ts +42 -0
- package/test/neat/neat.telemetry.stream.test.ts +19 -0
- package/test/neat/neat.telemetry.test.ts +16 -0
- package/test/neat/neat.test.ts +422 -0
- package/test/neat/neat.utilities.test.ts +44 -0
- package/test/network/__suppress_console.ts +9 -0
- package/test/network/acyclic.topoorder.test.ts +17 -0
- package/test/network/checkpoint.metricshook.test.ts +36 -0
- package/test/network/error.handling.test.ts +581 -0
- package/test/network/evolution.test.ts +285 -0
- package/test/network/genetic.test.ts +208 -0
- package/test/network/learning.capability.test.ts +244 -0
- package/test/network/mutation.effects.test.ts +492 -0
- package/test/network/network.activate.test.ts +115 -0
- package/test/network/network.activateBatch.test.ts +30 -0
- package/test/network/network.deterministic.test.ts +64 -0
- package/test/network/network.evolve.branches.test.ts +75 -0
- package/test/network/network.evolve.multithread.branches.test.ts +83 -0
- package/test/network/network.evolve.test.ts +100 -0
- package/test/network/network.gating.removal.test.ts +93 -0
- package/test/network/network.mutate.additional.test.ts +145 -0
- package/test/network/network.mutate.edgecases.test.ts +101 -0
- package/test/network/network.mutate.test.ts +101 -0
- package/test/network/network.prune.earlyexit.test.ts +38 -0
- package/test/network/network.remove.errors.test.ts +45 -0
- package/test/network/network.slab.fallbacks.test.ts +22 -0
- package/test/network/network.stats.test.ts +45 -0
- package/test/network/network.training.advanced.test.ts +149 -0
- package/test/network/network.training.basic.test.ts +228 -0
- package/test/network/network.training.helpers.test.ts +183 -0
- package/test/network/onnx.export.test.ts +310 -0
- package/test/network/onnx.import.test.ts +129 -0
- package/test/network/pruning.topology.test.ts +282 -0
- package/test/network/regularization.determinism.test.ts +83 -0
- package/test/network/regularization.dropconnect.test.ts +17 -0
- package/test/network/regularization.dropconnect.validation.test.ts +18 -0
- package/test/network/regularization.stochasticdepth.test.ts +27 -0
- package/test/network/regularization.test.ts +843 -0
- package/test/network/regularization.weightnoise.test.ts +30 -0
- package/test/network/setupTests.ts +2 -0
- package/test/network/standalone.test.ts +332 -0
- package/test/network/structure.serialization.test.ts +660 -0
- package/test/training/training.determinism.mixed-precision.test.ts +134 -0
- package/test/training/training.earlystopping.test.ts +91 -0
- package/test/training/training.edge-cases.test.ts +91 -0
- package/test/training/training.extensions.test.ts +47 -0
- package/test/training/training.gradient.features.test.ts +110 -0
- package/test/training/training.gradient.refinements.test.ts +170 -0
- package/test/training/training.gradient.separate-bias.test.ts +41 -0
- package/test/training/training.optimizer.test.ts +48 -0
- package/test/training/training.plateau.smoothing.test.ts +58 -0
- package/test/training/training.smoothing.types.test.ts +174 -0
- package/test/training/training.train.options.coverage.test.ts +52 -0
- package/test/utils/console-helper.ts +76 -0
- package/test/utils/jest-setup.ts +60 -0
- package/test/utils/test-helpers.ts +175 -0
- package/tsconfig.docs.json +12 -0
- package/tsconfig.json +21 -0
- package/webpack.config.js +49 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><title>multithreading/workers</title>
|
|
2
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
3
|
+
<style>
|
|
4
|
+
body{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;margin:0 auto;padding:0 20px 60px;line-height:1.55;background:#fff;color:#222;display:grid;grid-template-columns:260px 1fr 280px;grid-gap:32px;}
|
|
5
|
+
nav.site{position:sticky;top:0;align-self:start;max-height:100vh;overflow:auto;padding:24px 0 40px;}
|
|
6
|
+
nav.site h1{font-size:1.05rem;margin:0 0 .75rem;font-weight:600;}
|
|
7
|
+
.doc-nav{list-style:none;margin:0;padding:0;font-size:.85rem;}
|
|
8
|
+
.doc-nav li{margin:2px 0;}
|
|
9
|
+
.doc-nav a{display:block;padding:4px 8px;border-radius:4px;color:#2c3963;text-decoration:none;}
|
|
10
|
+
.doc-nav li.current>a{background:#2c3963;color:#fff;font-weight:600;}
|
|
11
|
+
.doc-nav a:hover{background:#e4e8f3;}
|
|
12
|
+
main{padding:40px 0;}
|
|
13
|
+
aside.page-index{position:sticky;top:0;align-self:start;max-height:100vh;overflow:auto;padding:32px 0 40px;font-size:.85rem;}
|
|
14
|
+
aside.page-index h2{font-size:.9rem;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px;color:#444;}
|
|
15
|
+
aside.page-index .toc-file{margin:0 0 .5rem;}
|
|
16
|
+
aside.page-index ul{list-style:none;margin:.25rem 0 .5rem .25rem;padding:0;}
|
|
17
|
+
aside.page-index li{margin:0;}
|
|
18
|
+
aside.page-index a{color:#444;text-decoration:none;}
|
|
19
|
+
aside.page-index a:hover{color:#2c3963;}
|
|
20
|
+
pre{background:#1e1e1e;color:#eee;padding:12px;border-radius:6px;overflow:auto;}
|
|
21
|
+
code{background:#f5f5f5;padding:2px 4px;border-radius:4px;font-size:90%;}
|
|
22
|
+
pre code{background:transparent;padding:0;font-size:90%;}
|
|
23
|
+
a{color:#2c3963;text-decoration:none;}a:hover{text-decoration:underline;}
|
|
24
|
+
h1,h2,h3,h4{scroll-margin-top:70px;}
|
|
25
|
+
blockquote{border-left:4px solid #ddd;margin:1em 0;padding:.5em 1em;color:#555;}
|
|
26
|
+
table{border-collapse:collapse}th,td{border:1px solid #ccc;padding:4px 8px;text-align:left;}
|
|
27
|
+
footer{margin-top:64px;font-size:.75rem;color:#666;}
|
|
28
|
+
@media (max-width:1100px){body{grid-template-columns:220px 1fr;}aside.page-index{display:none;} }
|
|
29
|
+
@media (max-width:800px){body{grid-template-columns:1fr;}nav.site{position:relative;top:auto;max-height:none;order:2;}main{order:1;padding-top:24px;}}
|
|
30
|
+
</style></head><body>
|
|
31
|
+
<nav class="site">
|
|
32
|
+
<h1>Docs Index</h1>
|
|
33
|
+
<ul class="doc-nav"><li><a href="../../index.html">root</a></li>
|
|
34
|
+
<li><a href="../../architecture/index.html">architecture/</a></li>
|
|
35
|
+
<li><a href="../../architecture/network/index.html">architecture/network/</a></li>
|
|
36
|
+
<li><a href="../../methods/index.html">methods/</a></li>
|
|
37
|
+
<li><a href="../index.html">multithreading/</a></li>
|
|
38
|
+
<li class="current"><a href="./index.html">multithreading/workers/</a></li>
|
|
39
|
+
<li><a href="browser/index.html">multithreading/workers/browser/</a></li>
|
|
40
|
+
<li><a href="node/index.html">multithreading/workers/node/</a></li>
|
|
41
|
+
<li><a href="../../neat/index.html">neat/</a></li>
|
|
42
|
+
<li><a href="../../src/index.html">src/</a></li>
|
|
43
|
+
<li><a href="../../../test/examples/asciiMaze/index.html">examples/asciiMaze/</a></li></ul>
|
|
44
|
+
</nav>
|
|
45
|
+
<main>
|
|
46
|
+
<h1 id="multithreading-workers">multithreading/workers</h1><h2 id="multithreading-workers-workers-ts">multithreading/workers/workers.ts</h2><h3 id="workers">Workers</h3><p>Utility class for managing workers in both Node.js and browser environments.</p>
|
|
47
|
+
<h4 id="getbrowsertestworker">getBrowserTestWorker</h4><p><code>() => Promise<any></code></p>
|
|
48
|
+
<p>Loads the browser test worker dynamically.</p>
|
|
49
|
+
<p>Returns: A promise that resolves to the browser TestWorker class.</p>
|
|
50
|
+
<h4 id="getnodetestworker">getNodeTestWorker</h4><p><code>() => Promise<any></code></p>
|
|
51
|
+
<p>Loads the Node.js test worker dynamically.</p>
|
|
52
|
+
<p>Returns: A promise that resolves to the Node.js TestWorker class.</p>
|
|
53
|
+
|
|
54
|
+
<footer>Generated from JSDoc. <a href="https://github.com/reicek/NeatapticTS">GitHub</a></footer>
|
|
55
|
+
</main>
|
|
56
|
+
<aside class="page-index"><div class="page-toc"><h2>Files</h2><div class="toc-file"><a href="#multithreading-workers-workers-ts">multithreading/workers/workers.ts</a><ul><li><a href=#workers>Workers</a></li></ul></div></div></aside>
|
|
57
|
+
</body></html>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# multithreading/workers/node
|
|
2
|
+
|
|
3
|
+
## multithreading/workers/node/testworker.ts
|
|
4
|
+
|
|
5
|
+
### TestWorker
|
|
6
|
+
|
|
7
|
+
TestWorker class for handling network evaluations in a Node.js environment using Worker Threads.
|
|
8
|
+
|
|
9
|
+
This implementation aligns with the Instinct algorithm's emphasis on efficient evaluation of
|
|
10
|
+
neural networks in parallel environments. The use of Worker Threads allows for offloading
|
|
11
|
+
computationally expensive tasks, such as network evaluation, to separate threads.
|
|
12
|
+
|
|
13
|
+
#### evaluate
|
|
14
|
+
|
|
15
|
+
`(network: any) => Promise<number>`
|
|
16
|
+
|
|
17
|
+
Evaluates a neural network using the worker process.
|
|
18
|
+
|
|
19
|
+
The network is serialized and sent to the worker for evaluation. The worker
|
|
20
|
+
sends back the evaluation result, which is returned as a promise.
|
|
21
|
+
|
|
22
|
+
Parameters:
|
|
23
|
+
- `` - - The neural network to evaluate. It must implement a `serialize` method.
|
|
24
|
+
|
|
25
|
+
Returns: A promise that resolves to the evaluation result.
|
|
26
|
+
|
|
27
|
+
#### terminate
|
|
28
|
+
|
|
29
|
+
`() => void`
|
|
30
|
+
|
|
31
|
+
Terminates the worker process.
|
|
32
|
+
|
|
33
|
+
This method ensures that the worker process is properly terminated to free up system resources.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><title>multithreading/workers/node</title>
|
|
2
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
3
|
+
<style>
|
|
4
|
+
body{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;margin:0 auto;padding:0 20px 60px;line-height:1.55;background:#fff;color:#222;display:grid;grid-template-columns:260px 1fr 280px;grid-gap:32px;}
|
|
5
|
+
nav.site{position:sticky;top:0;align-self:start;max-height:100vh;overflow:auto;padding:24px 0 40px;}
|
|
6
|
+
nav.site h1{font-size:1.05rem;margin:0 0 .75rem;font-weight:600;}
|
|
7
|
+
.doc-nav{list-style:none;margin:0;padding:0;font-size:.85rem;}
|
|
8
|
+
.doc-nav li{margin:2px 0;}
|
|
9
|
+
.doc-nav a{display:block;padding:4px 8px;border-radius:4px;color:#2c3963;text-decoration:none;}
|
|
10
|
+
.doc-nav li.current>a{background:#2c3963;color:#fff;font-weight:600;}
|
|
11
|
+
.doc-nav a:hover{background:#e4e8f3;}
|
|
12
|
+
main{padding:40px 0;}
|
|
13
|
+
aside.page-index{position:sticky;top:0;align-self:start;max-height:100vh;overflow:auto;padding:32px 0 40px;font-size:.85rem;}
|
|
14
|
+
aside.page-index h2{font-size:.9rem;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px;color:#444;}
|
|
15
|
+
aside.page-index .toc-file{margin:0 0 .5rem;}
|
|
16
|
+
aside.page-index ul{list-style:none;margin:.25rem 0 .5rem .25rem;padding:0;}
|
|
17
|
+
aside.page-index li{margin:0;}
|
|
18
|
+
aside.page-index a{color:#444;text-decoration:none;}
|
|
19
|
+
aside.page-index a:hover{color:#2c3963;}
|
|
20
|
+
pre{background:#1e1e1e;color:#eee;padding:12px;border-radius:6px;overflow:auto;}
|
|
21
|
+
code{background:#f5f5f5;padding:2px 4px;border-radius:4px;font-size:90%;}
|
|
22
|
+
pre code{background:transparent;padding:0;font-size:90%;}
|
|
23
|
+
a{color:#2c3963;text-decoration:none;}a:hover{text-decoration:underline;}
|
|
24
|
+
h1,h2,h3,h4{scroll-margin-top:70px;}
|
|
25
|
+
blockquote{border-left:4px solid #ddd;margin:1em 0;padding:.5em 1em;color:#555;}
|
|
26
|
+
table{border-collapse:collapse}th,td{border:1px solid #ccc;padding:4px 8px;text-align:left;}
|
|
27
|
+
footer{margin-top:64px;font-size:.75rem;color:#666;}
|
|
28
|
+
@media (max-width:1100px){body{grid-template-columns:220px 1fr;}aside.page-index{display:none;} }
|
|
29
|
+
@media (max-width:800px){body{grid-template-columns:1fr;}nav.site{position:relative;top:auto;max-height:none;order:2;}main{order:1;padding-top:24px;}}
|
|
30
|
+
</style></head><body>
|
|
31
|
+
<nav class="site">
|
|
32
|
+
<h1>Docs Index</h1>
|
|
33
|
+
<ul class="doc-nav"><li><a href="../../../index.html">root</a></li>
|
|
34
|
+
<li><a href="../../../architecture/index.html">architecture/</a></li>
|
|
35
|
+
<li><a href="../../../architecture/network/index.html">architecture/network/</a></li>
|
|
36
|
+
<li><a href="../../../methods/index.html">methods/</a></li>
|
|
37
|
+
<li><a href="../../index.html">multithreading/</a></li>
|
|
38
|
+
<li><a href="../index.html">multithreading/workers/</a></li>
|
|
39
|
+
<li><a href="../browser/index.html">multithreading/workers/browser/</a></li>
|
|
40
|
+
<li class="current"><a href="./index.html">multithreading/workers/node/</a></li>
|
|
41
|
+
<li><a href="../../../neat/index.html">neat/</a></li>
|
|
42
|
+
<li><a href="../../../src/index.html">src/</a></li>
|
|
43
|
+
<li><a href="../../../../test/examples/asciiMaze/index.html">examples/asciiMaze/</a></li></ul>
|
|
44
|
+
</nav>
|
|
45
|
+
<main>
|
|
46
|
+
<h1 id="multithreading-workers-node">multithreading/workers/node</h1><h2 id="multithreading-workers-node-testworker-ts">multithreading/workers/node/testworker.ts</h2><h3 id="testworker">TestWorker</h3><p>TestWorker class for handling network evaluations in a Node.js environment using Worker Threads.</p>
|
|
47
|
+
<p>This implementation aligns with the Instinct algorithm's emphasis on efficient evaluation of
|
|
48
|
+
neural networks in parallel environments. The use of Worker Threads allows for offloading
|
|
49
|
+
computationally expensive tasks, such as network evaluation, to separate threads.</p>
|
|
50
|
+
<h4 id="evaluate">evaluate</h4><p><code>(network: any) => Promise<number></code></p>
|
|
51
|
+
<p>Evaluates a neural network using the worker process.</p>
|
|
52
|
+
<p>The network is serialized and sent to the worker for evaluation. The worker
|
|
53
|
+
sends back the evaluation result, which is returned as a promise.</p>
|
|
54
|
+
<p>Parameters:</p>
|
|
55
|
+
<ul>
|
|
56
|
+
<li>`` - - The neural network to evaluate. It must implement a <code>serialize</code> method.</li>
|
|
57
|
+
</ul>
|
|
58
|
+
<p>Returns: A promise that resolves to the evaluation result.</p>
|
|
59
|
+
<h4 id="terminate">terminate</h4><p><code>() => void</code></p>
|
|
60
|
+
<p>Terminates the worker process.</p>
|
|
61
|
+
<p>This method ensures that the worker process is properly terminated to free up system resources.</p>
|
|
62
|
+
|
|
63
|
+
<footer>Generated from JSDoc. <a href="https://github.com/reicek/NeatapticTS">GitHub</a></footer>
|
|
64
|
+
</main>
|
|
65
|
+
<aside class="page-index"><div class="page-toc"><h2>Files</h2><div class="toc-file"><a href="#multithreading-workers-node-testworker-ts">multithreading/workers/node/testworker.ts</a><ul><li><a href=#testworker>TestWorker</a></li></ul></div></div></aside>
|
|
66
|
+
</body></html>
|