FullyConnected

Warning

This operator was deprecated in TensorRT 8.4; use the MatrixMultiply operator instead.

Computes a matrix-vector product between two input tensors and adds an optional bias tensor to produce an output tensor.

Attributes

num_output_channels The number of output channels k from the fully connected layer.

W: weights of type T1

bias optional: bias of type T1

Inputs

A: tensor of type T1

Outputs

B: tensor of type T1

Data Types

T1: float32

Shape Information

n: the rank of A, \(n \geq 3\)

k: the number of the output channels

A is a tensor of shape \([A_0,...,A_n]\)

W is a tensor of shape \([k, A_{n-2} \cdot A_{n-1} \cdot A_n]\)

bias is a tensor of shape \([k]\)

B is a tensor of shape \([A_0,...,A_{n-3},k,1,1]\)

Examples

FullyConnected
input_shape = [1, 3, 3, 3]
in1 = network.add_input("input1", dtype=trt.float32, shape=input_shape)
num_filter = 2
w = np.array([[1.0], [2.0]], np.float32)
w = np.tile(w, np.prod(input_shape, where=[False, True, True, True]))
layer = network.add_fully_connected(in1, num_filter, trt.Weights(w))
network.mark_output(layer.get_output(0))

inputs[in1.name] = np.array([[[[-3.0, -2.0, -1.0], [10.0, -25.0, 0.0], [1.0, 2.0, -2.0]]]])

outputs[layer.get_output(0).name] = layer.get_output(0).shape
expected[layer.get_output(0).name] = np.array([[[[-20.0]], [[-40.0]]]])

C++ API

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

Python API

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