Utilities/ReferenceImplementations/bidirectional_gru.py [10:38]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tf.random.set_seed(0)

def indented(s):
    return '\n'.join(['    ' + l for l in s.split('\n')])

def swift_tensor(name, tensor):
    if hasattr(tensor, 'numpy'):
        tensor = tensor.numpy()
    def format_float(x):
        formatted = numpy.format_float_positional(x, unique=True)
        if formatted[-1] == '.':
            return formatted + '0'
        return formatted
    formatter = {
        'float_kind': format_float
    }
    return 'let {} = Tensor<Float>(\n{}\n)'.format(
        name,
        indented(numpy.array2string(tensor, separator=',', formatter=formatter)))

parser = argparse.ArgumentParser()
parser.add_argument("--input-dim", default=3)
parser.add_argument("--input-length", default=4)
parser.add_argument("--units", default=4)
parser.add_argument("--merge-mode", default="concat")
args = parser.parse_args()

if args.merge_mode == "none":
    args.merge_mode = None
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



Utilities/ReferenceImplementations/bidirectional_lstm.py [9:37]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tf.random.set_seed(0)

def indented(s):
    return '\n'.join(['    ' + l for l in s.split('\n')])

def swift_tensor(name, tensor):
    if hasattr(tensor, 'numpy'):
        tensor = tensor.numpy()
    def format_float(x):
        formatted = numpy.format_float_positional(x, unique=True)
        if formatted[-1] == '.':
            return formatted + '0'
        return formatted
    formatter = {
        'float_kind': format_float
    }
    return 'let {} = Tensor<Float>(\n{}\n)'.format(
        name,
        indented(numpy.array2string(tensor, separator=',', formatter=formatter)))

parser = argparse.ArgumentParser()
parser.add_argument("--input-dim", default=3)
parser.add_argument("--input-length", default=4)
parser.add_argument("--units", default=4)
parser.add_argument("--merge-mode", default="concat")
args = parser.parse_args()

if args.merge_mode == "none":
    args.merge_mode = None
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



