Пример #1
0
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 "))
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
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())
Пример #5
0
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())
Пример #6
0
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())
Пример #7
0
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))
Пример #8
0
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())
Пример #9
0
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())
Пример #10
0
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())
Пример #11
0
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())
Пример #12
0
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)
Пример #13
0
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)
Пример #14
0
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())
Пример #15
0
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))
Пример #16
0
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())