ml3/experiments/run_shaped_sine_exp.py [24:42]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def generate_sinusoid_batch(num_tasks, num_examples_task, num_steps, random_steps=False,
                            freq_range=[-5.0, 5.0], input_range=[-5.0, 5.0]):
    """ Generate samples from random sine functions. """
    freq = np.random.uniform(freq_range[0], freq_range[1], [num_tasks])
    outputs = np.zeros([num_tasks, num_steps, num_examples_task, 1])
    thetas = np.zeros([num_tasks, num_steps, num_examples_task, 1])
    init_inputs = np.zeros([num_tasks, num_steps, num_examples_task, 1])

    for task in range(num_tasks):
        if random_steps:
            init_inputs[task] = np.random.uniform(input_range[0], input_range[1],
                                                  [num_steps, num_examples_task, 1])
        else:
            init_inputs[task] = np.repeat(np.random.uniform(input_range[0], input_range[1],
                                                            [1, num_examples_task, 1]), num_steps, -3)

        outputs[task] = np.sin(freq[task]*init_inputs[task])
        thetas[task] = np.zeros_like(outputs[task]) + freq[task]
    return init_inputs, outputs,thetas
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



ml3/shaped_sine_utils.py [11:29]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
def generate_sinusoid_batch(num_tasks, num_examples_task, num_steps, random_steps=False,
                            freq_range=[-5.0, 5.0], input_range=[-5.0, 5.0]):
    """ Generate samples from random sine functions. """
    freq = np.random.uniform(freq_range[0], freq_range[1], [num_tasks])
    outputs = np.zeros([num_tasks, num_steps, num_examples_task, 1])
    thetas = np.zeros([num_tasks, num_steps, num_examples_task, 1])
    init_inputs = np.zeros([num_tasks, num_steps, num_examples_task, 1])

    for task in range(num_tasks):
        if random_steps:
            init_inputs[task] = np.random.uniform(input_range[0], input_range[1],
                                                  [num_steps, num_examples_task, 1])
        else:
            init_inputs[task] = np.repeat(np.random.uniform(input_range[0], input_range[1],
                                                            [1, num_examples_task, 1]), num_steps, -3)

        outputs[task] = np.sin(freq[task]*init_inputs[task])
        thetas[task] = np.zeros_like(outputs[task]) + freq[task]
    return init_inputs, outputs,thetas
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



