def generate_and_validate_sequence(node: RandomNumberNode) -> bool: results = [] for i in range(STEPS): node.step() output_id = RandomNumberNodeAccessor.get_output_id(node) results.append(output_id) for i in range(STEPS): if results[i] != SEQUENCE[i]: return False return True
def test_rnd_node_accessor_return_type(device): lower_bound = 50 upper_bound = 100 node = RandomNumberNode(lower_bound=lower_bound, upper_bound=upper_bound) node.allocate_memory_blocks(AllocatingCreator(device=device)) node._step() random_number = RandomNumberNodeAccessor.get_output_id(node) assert type(random_number) is int assert lower_bound <= random_number < upper_bound
def get_baseline_output_id_for(self, layer_id: int) -> int: return RandomNumberNodeAccessor.get_output_id( self._baselines[layer_id])
def get_random_baseline_output_id_for_labels(self) -> int: """Returns index of 1 in the one-hot vector generated by the baseline which predicts the class labels.""" return RandomNumberNodeAccessor.get_output_id( self._random_label_baseline)
def clone_random_baseline_output_tensor_for_labels(self) -> torch.Tensor: return RandomNumberNodeAccessor.get_output_tensor( self._random_label_baseline).clone()
def get_output_id(self): return RandomNumberNodeAccessor.get_output_id(self._node)
def get_baseline_output_id(self) -> int: return RandomNumberNodeAccessor.get_output_id(self._baseline)