Beispiel #1
0
def get_split(
        dataset_df,
        force_split=False,
        split_probabilities=(0.7, 0.1, 0.2),
        stratify=None,
        random_seed=default_random_seed,
):
    if SPLIT in dataset_df and not force_split:
        split = dataset_df[SPLIT]
    else:
        set_random_seed(random_seed)
        if stratify is None or stratify not in dataset_df:
            split = np.random.choice(
                3,
                len(dataset_df),
                p=split_probabilities,
            ).astype(np.int8)
        else:
            split = np.zeros(len(dataset_df))
            for val in dataset_df[stratify].unique():
                idx_list = (
                    dataset_df.index[dataset_df[stratify] == val].tolist()
                )
                val_list = np.random.choice(
                    3,
                    len(idx_list),
                    p=split_probabilities,
                ).astype(np.int8)
                split[idx_list] = val_list
    return split
Beispiel #2
0
def test_fc_stack(
    first_layer_input_size: Optional[int],
    layers: Optional[List],
    num_layers: Optional[int],
):
    set_random_seed(RANDOM_SEED)
    fc_stack = FCStack(first_layer_input_size=first_layer_input_size,
                       layers=layers,
                       num_layers=num_layers).to(DEVICE)
    input_tensor = torch.randn(BATCH_SIZE,
                               first_layer_input_size,
                               device=DEVICE)
    output_tensor = fc_stack(input_tensor)
    assert output_tensor.shape[1:] == fc_stack.output_shape
Beispiel #3
0
def test_fc_layer(
    input_size: int,
    output_size: int,
    activation: str,
    dropout: float,
):
    set_random_seed(RANDOM_SEED)  # make repeatable
    fc_layer = FCLayer(input_size=input_size,
                       output_size=output_size,
                       activation=activation,
                       dropout=dropout).to(DEVICE)
    input_tensor = torch.randn(BATCH_SIZE, input_size, device=DEVICE)
    output_tensor = fc_layer(input_tensor)
    assert output_tensor.shape[1:] == fc_layer.output_shape