def tensors(
    draw,
    numbers=floats(allow_nan=False, min_value=-100, max_value=100),
    backend=minitorch.TensorFunctions,
    shape=None,
):
    td = draw(tensor_data(numbers, shape=shape))
    return minitorch.Tensor(td, backend=backend)
def matmul_tensors(
    draw, numbers=floats(allow_nan=False, min_value=-100, max_value=100)
):

    i, j, k = [draw(integers(min_value=1, max_value=10)) for _ in range(3)]

    l1 = (i, j)
    l2 = (j, k)
    values = []
    for shape in [l1, l2]:
        size = int(minitorch.prod(shape))
        data = draw(lists(numbers, min_size=size, max_size=size))
        values.append(minitorch.Tensor(minitorch.TensorData(data, shape)))
    return values
Esempio n. 3
0
def shaped_tensors(
    draw,
    n,
    numbers=floats(allow_nan=False, min_value=-100, max_value=100),
    backend=minitorch.TensorFunctions,
):
    td = draw(tensor_data(numbers))
    values = []
    for i in range(n):
        data = draw(lists(numbers, min_size=td.size, max_size=td.size))
        values.append(
            minitorch.Tensor(minitorch.TensorData(data, td.shape),
                             backend=backend))
    return values