from keras.backend import tensorflow_backend as tf from keras.backend import floatx sys.path = [sys.path[-1]] + sys.path[:-1] import plaidml from plaidml.keras import backend as pkb if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--fp16', action='store_true') parser.add_argument('-v', '--verbose', action='count', default=0) args, remainder = parser.parse_known_args() plaidml._internal_set_vlog(args.verbose) if args.fp16: pkb.set_floatx('float16') DEFAULT_TOL = 1e-2 DEFAULT_ATOL = 1e-5 else: pkb.set_floatx('float32') DEFAULT_TOL = 1e-3 DEFAULT_ATOL = 1e-8 def opTest(in_data, tol=DEFAULT_TOL, atol=DEFAULT_ATOL, skip_tensorflow=False, verbose=False, input_shapes=None): # If using with non-tensor parameters, all tensor params must appear before
theano.config.optimizer = "None" # We have to set_floatx before the interpreter encounters any of the test # functions, because it will execute the 'opTest' decorator as it processes # each test function, which will execute the value-generation functions, which # will use the value of floatx() to create test data. Changing floatx later # will have inconsistent effects. if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--fp16', action='store_true') parser.add_argument('-v', '--verbose', action='count', default=0) args, remainder = parser.parse_known_args() plaidml._internal_set_vlog(args.verbose) if args.fp16: set_floatx('float16') DEFAULT_TOL = 1e-2 DEFAULT_ATOL = 1e-5 else: set_floatx('float32') DEFAULT_TOL = 1e-3 DEFAULT_ATOL = 1e-8 def m(*args, **kwargs): dtype = kwargs.get('dtype', floatx()) """Makes a test matrix whose dimensions are the supplied arguments.""" total = functools.reduce(operator.mul, args, 1) arr = np.array(range(-2, total-2), dtype=dtype) arr = np.reshape(arr, args) return arr