155 bool has_forwarded_ =
false;
y = a T b for a selected t-norm T, over two independent fuzzy-truth-valued operand tensors (values in...
Definition conjunction_module.hpp:42
Tensor forward_impl(const Tensor &input) override
Splits input (leading dim 2) into the two operands and computes the selected t-norm elementwise.
Tensor backward(const Tensor &grad_output) override
Gradient w.r.t. this module's (stacked) input, via the selected t-norm's closed-form partial derivati...
Tensor forward(const Tensor &a, const Tensor &b)
Convenience two-operand entry point: builds the stacked input via stack_operands() and delegates to M...
OpType op_type() const override
Elementwise per this module's own op_type() convention (ReluModule/ResidualModule).
Definition conjunction_module.hpp:101
std::optional< DeviceType > compute_device() const override
Where this layer computes, so forward() rejects an input on another device (FND-8).
Definition conjunction_module.hpp:134
ConjunctionModule(DeviceBackend *backend, TNorm t_norm=TNorm::Product)
Constructs a conjunction module.
TNorm
Which t-norm this instance computes. Product is the campaign's primary case.
Definition conjunction_module.hpp:45
@ Lukasiewicz
max(0, a + b - 1)
Tensor propagate_relevance(const Tensor &relevance_out, const LRPRuleConfig &config) override
LRP relevance propagation for the selected t-norm โ genuinely novel, no prior art (research_2026_neur...
static Tensor stack_operands(const Tensor &a, const Tensor &b, DeviceBackend *backend)
Combines two independent operand tensors into the leading-dim-2 stacked tensor forward_impl()/backwar...
Vendor-agnostic compute/memory backend. CPUBackend, CUDABackend (Phase 1.5), and HIPBackend (Phase 1....
Definition device_backend.hpp:219
virtual DeviceType device() const noexcept=0
Which device this backend's buffers reside on.
Base class for every layer type (LinearModule, Conv2DModule, activations, ...).
Definition module.hpp:58
Tensor forward(const Tensor &input)
Runs this module's forward computation.
Definition module.hpp:73
N-dimensional tensor. Owns its data buffer exclusively; a DeviceBackend* is injected (not owned) โ th...
Definition tensor.hpp:29
Abstract base every layer subclasses โ NVI forward(), pure-virtual LRP contract.
Definition acquisition_functions.hpp:16
OpType
The op-type tag a Node carries. Charter Part 2 ยง3: nodes are tagged by a small closed set of op types...
Definition op_type.hpp:19
Configuration for LRP relevance propagation: which rule a module applies and its hyperparameters....
Definition lrp_rule_config.hpp:57