MinkowskiEngine基准测试
介绍卷积层和小型U网络的前馈和后馈通过时间。可以将具有相同张量步幅,步幅和内核偏移的内核映射重新用于其他层,可以在大型nueral网络中使用的所有层上,分摊此页面中实验报告的时间。
使用Titan X进行实验。
实验设置
对于单卷积层实验,使用以下设置。
import MinkowskiEngine as ME
conv = ME.MinkowskiConvolution(
in_channels=3,
out_channels=32,
kernel_size=7,
stride=1,
dilation=1,
has_bias=False,
dimension=3)
使用体素大小为5cm的ScanNet测试仪进行实验。由于SparseConvNet和MinkowskiEngine使用不同的体素化算法,因此每个引擎处理的点数也有所不同。平均而言,在100个ScanNet测试室中,SparseConvNet产生25757.01点,而MinkowskiEngine产生26097.58点。
单卷积层
测试具有不同内核大小的同一个卷积层。报告每种算法处理SparseConvNet的平均时间(以秒为单位),平均为25757.011点,而MinkowskiEngine的平均时间为26097.58。
简单的UNet
net = nn.Sequential(
ME.MinkowskiConvolution(
in_channels=3,
out_channels=32,
kernel_size=5,
stride=1,
dilation=1,
has_bias=False,
dimension=3),
ME.MinkowskiConvolution(
in_channels=32,
out_channels=32,
kernel_size=2,
stride=2,
dilation=1,
has_bias=False,
dimension=3),
ME.MinkowskiConvolutionTranspose
in_channels=32,
out_channels=32,
kernel_size=2,
stride=2,
dilation=1,
has_bias=False,
dimension=3))
对于本实验,仅更改第一卷积层的内核大小。