Exemplo n.º 1
0
import deep500 as d5

from deep500.frameworks import tensorflow as d5tf

# Uses the ONNX Test Parser to run a test
if __name__ == '__main__':
    if len(sys.argv) > 2:
        print('USAGE: onnxtest.py [TESTNAME]')
        print('If TESTNAME is not specified, chooses and runs a random test')
        sys.exit(1)

    parser = d5.OnnxTestParser()
    if len(sys.argv) == 1:
        testname = random.choice(parser.all_tests['Node'])
        print('Chose test "%s"' % testname)
    else:
        testname = sys.argv[1]

    test = parser.get_test(testname)

    if test is None:
        print('ERROR: Test "%s" not found' % testname)
        sys.exit(2)

    model = d5.parser.load_and_parse_model(test.model)
    executor = d5tf.from_model(model)
    d5.test_executor_inference(executor,
                               inputs=test.data_sets[0].inputs,
                               reference_outputs=test.data_sets[0].outputs,
                               metrics=[d5.L2Error()])
Exemplo n.º 2
0
        # Create Pytorch "model" that only receives two variables
        def model(A, B):
            if test.a_trans:
                Amul = A.transpose(0, 1)
            else:
                Amul = A
            if test.b_trans:
                Bmul = B.transpose(0, 1)
            else:
                Bmul = B
            return torch.matmul(Amul, Bmul)

        # Run Deep500 test
        l2err, maxerr, times = \
            d5pt.test_nativeop_forward(model, [var_A, var_B], [Amult @ Bmult],
                                       metrics=[d5.L2Error(), d5.MaxError(),
                                                d5.WallclockTime(RUNS*AVG_OVER, AVG_OVER)])
    except Exception as ex:
        print('Exception:', ex)
        l2err = -1.0
        maxerr = -1.0
        times = [-1.0]

    with open('0_d5pt_gemm_deepbench.log', 'a') as fp:
        fp.writelines([
            '{test.m},{test.n},{test.k},'
            '{test.a_trans},{test.b_trans},'
            '{time:.15f},{l2err},{maxerr}\n'.format(test=test,
                                                    time=time,
                                                    l2err=l2err,
                                                    maxerr=maxerr)
Exemplo n.º 3
0
def DefaultOptimizerMetrics():
    return [d5.L2Error(), d5.WallclockTime()]