ConvTranspose2D implementation #1001
-
Hello all. I think I've seen some proposals for an implementation of this in MLX but I can't see it in the 0.10.0 release. It looks like the convolution implementation was overhauled recently, but this doesn't seem to have been added. Have I missed it somehow? If not, is there some way of using the existing MLX facilities to implement it (perhaps with some loss of efficiency, but to get the functionality)? Has anyone perhaps already done this? I don't think I have the skills needed to add it to MLX myself, so some higher level approach would be very helpful. I'd be grateful for any ideas. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 12 replies
-
You can use This is a useful page to see correspondence between conv and transposed conv. |
Beta Was this translation helpful? Give feedback.
-
I would like to add another vote to add ConvTranspose2D to the mlx baseline. Using it here for a segmentation problem, but it does seem to be running really slow.... |
Beta Was this translation helpful? Give feedback.
You can use
mx.conv_general
to implement the transposed convolution (which is the way we would do it if we added aConvTranspose
layer or op. I think there is still room to optimize the underlying implementation but it should not be horribly slow.This is a useful page to see correspondence between conv and transposed conv.