Source code for bittensor.core.chain_data.subnet_hyperparameters

from dataclasses import dataclass

from bittensor.core.chain_data.info_base import InfoBase


[docs] @dataclass class SubnetHyperparameters(InfoBase): """ This class represents the hyperparameters for a subnet. Attributes: rho (int): The rate of decay of some value. kappa (int): A constant multiplier used in calculations. immunity_period (int): The period during which immunity is active. min_allowed_weights (int): Minimum allowed weights. max_weight_limit (float): Maximum weight limit. tempo (int): The tempo or rate of operation. min_difficulty (int): Minimum difficulty for some operations. max_difficulty (int): Maximum difficulty for some operations. weights_version (int): The version number of the weights used. weights_rate_limit (int): Rate limit for processing weights. adjustment_interval (int): Interval at which adjustments are made. activity_cutoff (int): Activity cutoff threshold. registration_allowed (bool): Indicates if registration is allowed. target_regs_per_interval (int): Target number of registrations per interval. min_burn (int): Minimum burn value. max_burn (int): Maximum burn value. bonds_moving_avg (int): Moving average of bonds. max_regs_per_block (int): Maximum number of registrations per block. serving_rate_limit (int): Limit on the rate of service. max_validators (int): Maximum number of validators. adjustment_alpha (int): Alpha value for adjustments. difficulty (int): Difficulty level. commit_reveal_period (int): Interval for commit-reveal weights. commit_reveal_weights_enabled (bool): Flag indicating if commit-reveal weights are enabled. alpha_high (int): High value of alpha. alpha_low (int): Low value of alpha. liquid_alpha_enabled (bool): Flag indicating if liquid alpha is enabled. """ rho: int kappa: int immunity_period: int min_allowed_weights: int max_weight_limit: float tempo: int min_difficulty: int max_difficulty: int weights_version: int weights_rate_limit: int adjustment_interval: int activity_cutoff: int registration_allowed: bool target_regs_per_interval: int min_burn: int max_burn: int bonds_moving_avg: int max_regs_per_block: int serving_rate_limit: int max_validators: int adjustment_alpha: int difficulty: int commit_reveal_period: int commit_reveal_weights_enabled: bool alpha_high: int alpha_low: int liquid_alpha_enabled: bool @classmethod def _from_dict(cls, decoded: dict) -> "SubnetHyperparameters": """Returns a SubnetHyperparameters object from decoded chain data.""" return SubnetHyperparameters( activity_cutoff=decoded["activity_cutoff"], adjustment_alpha=decoded["adjustment_alpha"], adjustment_interval=decoded["adjustment_interval"], alpha_high=decoded["alpha_high"], alpha_low=decoded["alpha_low"], bonds_moving_avg=decoded["bonds_moving_avg"], commit_reveal_weights_enabled=decoded["commit_reveal_weights_enabled"], commit_reveal_period=decoded["commit_reveal_period"], difficulty=decoded["difficulty"], immunity_period=decoded["immunity_period"], kappa=decoded["kappa"], liquid_alpha_enabled=decoded["liquid_alpha_enabled"], max_burn=decoded["max_burn"], max_difficulty=decoded["max_difficulty"], max_regs_per_block=decoded["max_regs_per_block"], max_validators=decoded["max_validators"], max_weight_limit=decoded["max_weights_limit"], min_allowed_weights=decoded["min_allowed_weights"], min_burn=decoded["min_burn"], min_difficulty=decoded["min_difficulty"], registration_allowed=decoded["registration_allowed"], rho=decoded["rho"], serving_rate_limit=decoded["serving_rate_limit"], target_regs_per_interval=decoded["target_regs_per_interval"], tempo=decoded["tempo"], weights_rate_limit=decoded["weights_rate_limit"], weights_version=decoded["weights_version"], )