-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Closed
Description
Relay's automatic differentiation is still missing primal gradients. It would be interesting to integrate with the Tensor level AD at some point, but for the time being we should focus on adding primal gradients. I will open an PR adding to the basic set but we should work towards completion for Relay operators. Those with expertise on the less straight forward gradient computations help would be appreciated.
The gradients should be in C++ and provide tests, see below for complete list.
Level 1
- tvm.relay.log
- tvm.relay.sqrt
- tvm.relay.exp
- tvm.relay.sigmoid
- tvm.relay.add
- tvm.relay.subtract
- tvm.relay.multiply
- tvm.relay.divide
- tvm.relay.mod
- tvm.relay.tanh
- tvm.relay.concatenate
- tvm.relay.expand_dims
- tvm.relay.nn.softmax
- tvm.relay.nn.log_softmax
- tvm.relay.nn.relu
- tvm.relay.nn.dropout
- tvm.relay.nn.batch_norm
- tvm.relay.nn.bias_add
Level 2
- tvm.relay.nn.conv2d
- tvm.relay.nn.conv2d_transpose
- tvm.relay.nn.dense
- tvm.relay.nn.max_pool2d
- tvm.relay.nn.avg_pool2d
- tvm.relay.nn.global_max_pool2d
- tvm.relay.nn.global_avg_pool2d
- tvm.relay.nn.upsampling
- tvm.relay.nn.batch_flatten
- tvm.relay.nn.pad
- tvm.relay.nn.lrn
- tvm.relay.nn.l2_normalize
- tvm.relay.nn.contrib_conv2d_winograd_without_weight_transform
- tvm.relay.nn.contrib_conv2d_winograd_weight_transform
Level 3
- tvm.relay.nn.leaky_relu
- tvm.relay.nn.prelu
- tvm.relay.reshape
- tvm.relay.reshape_like
- tvm.relay.copy
- tvm.relay.transpose
- tvm.relay.squeeze
- tvm.relay.floor
- tvm.relay.ceil
- tvm.relay.trunc
- tvm.relay.clip
- tvm.relay.round
- tvm.relay.abs
- tvm.relay.negative
- tvm.relay.take
- tvm.relay.zeros
- tvm.relay.zeros_like
- tvm.relay.ones
- tvm.relay.ones_like
- tvm.relay.full
- tvm.relay.full_like
- tvm.relay.cast
- tvm.relay.split
Level 4
- tvm.relay.right_shift
- tvm.relay.left_shift
- tvm.relay.equal
- tvm.relay.not_equal
- tvm.relay.greater
- tvm.relay.greater_equal
- tvm.relay.less
- tvm.relay.less_equal
- tvm.relay.maximum
- tvm.relay.minimum
- tvm.relay.power
- tvm.relay.where
- tvm.relay.argmax
- tvm.relay.argmin
- tvm.relay.sum
- tvm.relay.max
- tvm.relay.min
- tvm.relay.mean
- tvm.relay.prod
- tvm.relay.strided_slice
- tvm.relay.broadcast_to
Level 5
- tvm.relay.image.resize
- tvm.relay.vision.multibox_prior
- tvm.relay.vision.multibox_transform_loc
- tvm.relay.vision.nms
Level 10
- tvm.relay.broadcast_to_like
- tvm.relay.collapse_sum_like
- tvm.relay.slice_like
- tvm.relay.layout_transform
- tvm.relay.device_copy
- tvm.relay.annotation.on_device
reminisce and junrushao