Files
MP-SPDZ/Programs/Source/tf.mpc
2024-05-31 11:27:50 +10:00

40 lines
825 B
Plaintext

import ml
import util
import math
import subprocess
if 'trunc_pr' in program.args:
program.use_trunc_pr = True
if 'split' in program.args:
program.use_split(3)
try:
n_threads = int(program.args[2])
except:
n_threads = None
ml.Layer.n_threads = n_threads
ml.FixConv2d.use_conv2ds = True
sfix.set_precision(12, 31)
layers = []
named = {}
exec(subprocess.check_output(['Scripts/process-tf.py', program.args[1]]))
opt = ml.Optimizer()
opt.set_layers_with_inputs(layers)
layers[0].X.input_from(0, binary=True)
for layer in layers:
layer.input_from(0, binary=True)
sint(0).reveal().store_in_mem(0)
opt.time_layers = 'time_layers' in program.args
start_timer(1)
opt.forward(1, keep_intermediate=False)
stop_timer(1)
if isinstance(layers[-1].Y, Array):
print_ln('guess %s', layers[-1].Y[0].reveal())