See colab. Currently, it is only available to googlers.

This Colab can run under DeepMind CPU Runtime.

Setup

Importing modules from P4 HEAD.

sparse convolution

Sparsity = 0.13420355902777778
<matplotlib.image.AxesImage at 0x7f51b80d51e0>

png

REPEATS = 1
LOOPS = 10
SECONDS_TO_MICROS = 1_000 * 1_000

t = timeit.repeat(
    sparse_conv,
    repeat=REPEATS,
    number=LOOPS,
)
print("Sparse Convolution Time(ms):", SECONDS_TO_MICROS * max(t) / LOOPS)

t = timeit.repeat(
    dense_conv,
    repeat=REPEATS,
    number=LOOPS,
)
print("Dense Convolution Time(ms):", SECONDS_TO_MICROS * max(t) / LOOPS)
Sparse Convolution Time(ms): 5355.268900166266
Dense Convolution Time(ms): 12721.699800749775
print("sparse convolution result.")
plt.imshow(sparse_ret[0,0,:,:].astype('uint8'))
sparse convolution result.
<matplotlib.image.AxesImage at 0x7efdada839a0>

png

print("PEIMING: dense convolution result.")
plt.imshow(dense_ret[0,0,:,:].astype('uint8'))
PEIMING: dense convolution result.
<matplotlib.image.AxesImage at 0x7fe603184b80>

png