# CausalVariant Source: https://www.tensorplay.cn/docs/generated/tensorplay.nn.attention.bias.CausalVariant.html ```python class tensorplay.nn.attention.bias.CausalVariant(*values) ``` Enum for causal variants used in attention mechanisms. Defines two types of causal biases: UPPER_LEFT: Represents upper-left triangular bias for standard causal attention. The equivalent code for constructing this bias is: ``` tensorplay.tril(tensorplay.ones(size, dtype=tensorplay.bool)) ``` For instance, with shape=(3,4), the materialized bias tensor will be: ``` [[1, 0, 0, 0], [1, 1, 0, 0], [1, 1, 1, 0]] ``` LOWER_RIGHT: Represents lower-right triangular bias, the include values are aligned to the lower right corner of the matrix. The equivalent code for constructing this bias is: ``` diagonal_offset = size[1] - size[0] tensorplay.tril( tensorplay.ones(size, dtype=tensorplay.bool), diagonal=diagonal_offset, ) ``` For instance, with shape=(3,4), the materialized bias tensor will be: ``` [[1, 1, 0, 0], [1, 1, 1, 0], [1, 1, 1, 1]] ``` Note that these variants are equivalent to each other when the sequence lengths of the query and key/value tensors are equal since the triangular matrix is square. > **Warning** > > This enum is a prototype and subject to change. ```python as_integer_ratio() ``` Return a pair of integers, whose ratio is equal to the original int. The ratio is in lowest terms and has a positive denominator. ``` >>> (10).as_integer_ratio() (10, 1) >>> (-10).as_integer_ratio() (-10, 1) >>> (0).as_integer_ratio() (0, 1) ``` ```python bit_count() ``` Number of ones in the binary representation of the absolute value of self. Also known as the population count. ``` >>> bin(13) '0b1101' >>> (13).bit_count() 3 ``` ```python bit_length() ``` Number of bits necessary to represent self in binary. ``` >>> bin(37) '0b100101' >>> (37).bit_length() 6 ``` ```python conjugate() ``` Returns self, the complex conjugate of any int. ```python denominator ``` the denominator of a rational number in lowest terms ```python classmethod from_bytes(bytes, byteorder='big', *, signed=False) ``` ```python imag ``` the imaginary part of a complex number ```python is_integer() ``` Returns True. Exists for duck type compatibility with float.is_integer. ```python numerator ``` the numerator of a rational number in lowest terms ```python real ``` the real part of a complex number ```python to_bytes(length=1, byteorder='big', *, signed=False) ```