Fill

Generates an output tensor based on input attributes.

Attributes

dimensions The shape of the output tensor.

operation Fill operation can be one of:

  • LINSPACE Generate evenly spaced numbers over a specified interval. \(output[a_0,...,a_n] = \alpha + \beta[0,...,n] \cdot [0,...,n]\)

  • RANDOM_UNIFORM Generate a tensor with random values drawn from a uniform distribution. \(output[a_0,...,a_n] = random(min = \alpha, max = \beta)\)

alpha parameter used in the Fill operation. Defaults to 0.

beta parameter used in the Fill operation. Defaults to 1.

Outputs

output: tensor of type T.

Data Types

T: float16, float32

Shape Information

output is a tensor with a shape of \([a_0,...,a_n]\), based on the dimensions attribute.

Examples

Fill
alpha = network.add_input("alpha", dtype=trt.float32, shape=())
beta = network.add_input("beta", dtype=trt.float32, shape=(2,))
layer = network.add_fill(shape=(2, 3), op=trt.FillOperation.LINSPACE)
layer.set_input(1, alpha)
layer.set_input(2, beta)

network.mark_output(layer.get_output(0))
inputs[alpha.name] = np.array([0.0])
inputs[beta.name] = np.array([3.0, 1.0])

outputs[layer.get_output(0).name] = layer.get_output(0).shape
expected[layer.get_output(0).name] = np.array([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]])

Fill Random
alpha = network.add_input("alpha", dtype=trt.float32, shape=())
beta = network.add_input("beta", dtype=trt.float32, shape=())
layer = network.add_fill(shape=(2, 3), op=trt.FillOperation.RANDOM_UNIFORM)
layer.set_input(1, alpha)
layer.set_input(2, beta)

network.mark_output(layer.get_output(0))
inputs[alpha.name] = np.array([2.0])
inputs[beta.name] = np.array([3.0])

outputs[layer.get_output(0).name] = layer.get_output(0).shape
# note: expected values should be in range of [2. ,3.]

C++ API

For more information about the C++ IFillLayer operator, refer to the C++ IFillLayer documentation.

Python API

For more information about the Python IFillLayer operator, refer to the Python IFillLayer documentation.