NDarrayをつなげてバッチデータを作る

import mxnet as mx
import numpy as np

a1 = np.random.randint(0, 256, (8, 8, 3))
a2 = np.random.randint(0, 256, (8, 8, 3))
a3 = np.random.randint(0, 256, (8, 8, 3))

a4 = mx.nd.array(a1)
a5 = mx.nd.array(a2)
a6 = mx.nd.array(a3)

np_img = [a1, a2, a3]
mx_img = [a4, a5, a6]

#OK
img_array = mx.nd.array(np_img).astype('uint8')

#not OK
#img_mxarray = mx.nd.array(mx_img)

#Alternative1
import gluoncv
img_mxarray1 = gluoncv.data.batchify.Stack()(mx_img)

#Alternative2
img_mxarray2 = mx.nd.concat(*[x.expand_dims(0) for x in mx_img], dim=0)