def main(): inshape = (1, 3, 368, 368) net = loadNet(inplace=False, modelpath="../TestData/pose_iter_440000.hdf") outshape = net.dataShapeFrom(inshape) pzlEngine = buildRTEngine(net, inshape=inshape, dtype=DataType.float32, savepath="../TestData") caffeEngine = buildRTEngineFromCaffe( ("../TestData/pose_deploy_linevec.prototxt", "../TestData/pose_iter_440000.caffemodel"), inshape=inshape, outshape=outshape, outlayers=["net_output"], dtype=DataType.float32, savepath="../TestData") data = gpuarray.to_gpu(np.random.randn(*inshape).astype(np.float32)) pzlData = pzlEngine(data) caffeData = caffeEngine(data) assert np.allclose(pzlData.get(), caffeData.get(), atol=1e-7) benchModels(pzlEngine, caffeEngine, data, lognames=("puzzle", "caffe "))
def main(): batchsize, insize = 16, 1000 inNode = Linear(insize, 1000, name="linear1").node() node = Activation(relu, name="relu1").node(inNode) node1 = Linear(1000, 800, name="linear2").node(node) node1 = Activation(relu, name="relu2").node(node1) node2 = Linear(1000, 800, name="linear3").node(node) node2 = Activation(relu, name="relu3").node(node2) outNode = Add(name="add").node(node1, node2) graph = Graph(inputs=inNode, outputs=outNode, name="graph") data = gpuarray.to_gpu(np.random.randn(batchsize, insize).astype(np.float32)) engine = buildRTEngine(graph, (batchsize, insize), savepath="../TestData", dtype=DataType.float32) outdata = graph(data) enginedata = engine(data) assert np.allclose(outdata.get(), enginedata.get(), atol=1e-6) benchModels(graph, engine, data)
def main(): net = loadResNet(modelpath="../../TestData/ResNet-50-model.hdf", layers="50") data = gpuarray.to_gpu(loadResNetSample(net, "../../TestData/tarantula.jpg")) labels = loadLabels(synpath="../../TestData/synsets.txt", wordpath="../../TestData/synset_words.txt") engine = buildRTEngine(net, inshape=data.shape, savepath="../TestData", dtype=DataType.float32) scoreModels(net, engine, data, labels) benchModels(net, engine, data)
def mulAddConstTest(): batchsize, maps, height, width = 4, 3, 5, 8 mod = MulAddConst(a=1.5, b=-2.0, name="muladd") data = gpuarray.to_gpu(np.random.randn(batchsize, maps, height, width).astype(np.float32)) engine = buildRTEngine(mod, data.shape, savepath="../TestData", dtype=DataType.float32) outdata = mod(data) enginedata = engine(data) assert np.allclose(outdata.get(), enginedata.get())
def crossMapLRNTest(): batchsize, maps, height, width = 2, 5, 3, 4 mod = CrossMapLRN(name="lrn") data = gpuarray.to_gpu(np.random.randn(batchsize, maps, height, width).astype(np.float32)) engine = buildRTEngine(mod, data.shape, savepath="../TestData", dtype=DataType.float32) outdata = mod(data) enginedata = engine(data) assert np.allclose(outdata.get(), enginedata.get())
def preluTest(): batchsize, maps, height, width = 4, 3, 5, 8 mod = PRelu(maps=maps, name="prelu") data = gpuarray.to_gpu(np.random.randn(batchsize, maps, height, width).astype(np.float32)) engine = buildRTEngine(mod, data.shape, savepath="../TestData", dtype=DataType.float32) outdata = mod(data) enginedata = engine(data) assert np.allclose(outdata.get(), enginedata.get())
def splitTest(): batchsize, maps, height, width = 2, 6, 4, 5 mod = Split(axis=1, sections=(2, 4), name="split") data = gpuarray.to_gpu(np.random.randn(batchsize, maps, height, width).astype(np.float32)) engine = buildRTEngine(mod, data.shape, savepath="../TestData", dtype=DataType.float32) outdata = mod(data) enginedata = engine(data) assert all(np.allclose(outdat.get(), enginedat.get()) for outdat, enginedat in zip(outdata, enginedata))
def pad1dTest(): batchsize, maps, size = 4, 5, 7 lpad, rpad = 2, 3 mod = Pad1D(pad=(lpad, rpad), mode=PadMode.reflect, name="reflectpad") data = gpuarray.to_gpu(np.random.randn(batchsize, maps, size).astype(np.float32)) engine = buildRTEngine(mod, data.shape, savepath="../TestData", dtype=DataType.float32) outdata = mod(data) enginedata = engine(data) assert np.allclose(outdata.get(), enginedata.get())
def deconv2dTest(): batchsize, inmaps, inh, inw = 2, 3, 4, 5 outmaps = 5 mod = Deconv2D(inmaps, outmaps, size=2, stride=2, name="deconv", useBias=False) data = gpuarray.to_gpu(np.random.randn(batchsize, inmaps, inh, inw).astype(np.float32)) engine = buildRTEngine(mod, data.shape, savepath="../TestData", dtype=DataType.float32) outdata = mod(data) enginedata = engine(data) assert np.allclose(outdata.get(), enginedata.get())
def batchNormTest(): batchsize, size = 16, 10 mod = BatchNorm(size, name="bn") mod.evalMode() data = gpuarray.to_gpu(np.random.randn(batchsize, size).astype(np.float32)) engine = buildRTEngine(mod, data.shape, savepath="../TestData", dtype=DataType.float32) outdata = mod(data) enginedata = engine(data) assert np.allclose(outdata.get(), enginedata.get())
def groupLinearTest(): batchsize, insize, outsize = 4, 3, 5 groups = 2 mod = GroupLinear(None, insize, outsize, wmode="one", name="groupLinear") mod.b.set(np.random.randn(1, outsize).astype(np.float32)) data = gpuarray.to_gpu(np.random.randn(batchsize, groups, insize).astype(np.float32)) engine = buildRTEngine(mod, data.shape, savepath="../TestData", dtype=DataType.float32) outdata = mod(data) enginedata = engine(data) assert np.allclose(outdata.get(), enginedata.get())
def main(): net = loadUNet(None) data = gpuarray.to_gpu(np.random.randn(1, 1, 256, 256).astype(np.float32)) engine = buildRTEngine(net, inshape=data.shape, savepath="../TestData", dtype=DataType.float32) net.evalMode() outdata = net(data) enginedata = engine(data) assert np.allclose(outdata.get(), enginedata.get()) benchModels(net, engine, data)
def main(): inmaps = 161 net = loadW2L(None, inmaps, nlabels=29) data = gpuarray.to_gpu(np.random.randn(1, inmaps, 200).astype(np.float32)) engine = buildRTEngine(net, inshape=data.shape, savepath="../TestData", dtype=DataType.float32) net.evalMode() outdata = net(data) enginedata = engine(data) assert np.allclose(outdata.get(), enginedata.get()) benchModels(net, engine, data)
def gruTest(): batchsize, seqlen, insize = 5, 6, 4 hsize = 3 seq = Sequential(name="gru") seq.append(SwapAxes(0, 1)) seq.append(RNN(insize, hsize, mode="gru", getSequences=True, hintBatchSize=batchsize)) seq.append(SwapAxes(0, 1)) data = gpuarray.to_gpu(np.random.randn(batchsize, seqlen, insize).astype(np.float32)) engine = buildRTEngine(seq, data.shape, savepath="../TestData", dtype=DataType.float32) outdata = seq(data) enginedata = engine(data) assert np.allclose(outdata.get(), enginedata.get())
def main(): mnist = MnistLoader() data, labels = mnist.load(path="../TestData/") data, labels = data[:], labels[:] print("Loaded mnist") np.random.seed(1234) net = buildNet() trainNet(net, data, labels, 15) calibrator = DataCalibrator(data[:60000]) net.evalMode() engine = buildRTEngine( net, inshape=data[:1].shape, savepath="../TestData", dtype=DataType.int8, calibrator=calibrator ) benchModels(net, engine, gpuarray.to_gpu(data[:1])) print("Net accuracy: %s" % validate(net, data, labels)) print("Engine accuracy: %s" % validate(engine, data, labels, batchsize=1))
def rnnTest(): batchsize, inmaps, inh, inw = 4, 2, 3, 3 outmaps, hsize = 4, 1 seq = Sequential(name="rnn") seq.append(Conv2D(inmaps, outmaps, 3, pad=1)) seq.append(Activation(relu)) seq.append(Reshape(shape=(batchsize, outmaps, inh * inw))) seq.append(SwapAxes(0, 1)) seq.append(RNN(inh * inw, hsize, layers=2, direction="bi", mode="tanh", getSequences=True, hintBatchSize=batchsize)) seq.append(SwapAxes(0, 1)) data = gpuarray.to_gpu(np.random.randn(batchsize, inmaps, inh, inw).astype(np.float32)) engine = buildRTEngine(seq, data.shape, savepath="../TestData", dtype=DataType.float32) outdata = seq(data) enginedata = engine(data) assert np.allclose(outdata.get(), enginedata.get())