def generate_filter_code_for_feature(feature, search_time=2): goal, scaling = generate_centre_goal_for_feature(feature) program, program_length, sol_stats = generate( goal, search_time, available_regs=['C', 'D', 'E'], out_format='CSIM', start_reg='A', target_reg='C', verbose=0, approx_depth=20, max_approx_coeffs=1) return program, scaling
################################################# # Generate the 3 convolutions (first and only layer) # with all registers as available (outputs during computations) ################################################# # Generate CSIM code, with all registers available start_register = ['A', 'A', 'A'] available_registers = [['B', 'C', 'D', 'E'], ['B', 'C', 'D', 'E'], ['B', 'C', 'D', 'E']] filename_prefix = '_out_conv_' for k in range(3): csimProgram, _, _ = generate(kernels[k], search_time, start_reg=start_register[k], target_reg=start_register[k], available_regs=[start_register[k]] + available_registers[k], verbose=0, out_format='CSIM', approx_depth=approx_depth, pair_props=pair_props) scamp5Program = csim_to_scamp5(csimProgram) # Output to files with open(filename_prefix + str(k + 1) + '.txt', 'w') as f: for l in scamp5Program: f.write(l + '\n') ################################################# # Generate the 3 convolutions with incrementally less registers ################################################# # Generate CSIM code, with all registers available
# [0.513, 0.131, 0.634] # ]) # filter = np.array([ # [0.25, 0.0, 0.5], # [0.75, 0.0, 0.5], # [0.5, 0.25, 0.75] # ]) start_reg = 'A' target_reg = 'A' available_regs = ['A', 'B', 'C'] search_time = 3 approx_depth = 4 # the format can be any of # APRON: A modified format for the APRON simulator. # CSIM: A C format for the cpa-sim simulator # set verbosity to 10 to output filter graph representations. Requires pygraphviz. program, program_length, sol_stats = generate(filter, search_time, start_reg=start_reg, target_reg=target_reg, available_regs=available_regs, verbose=9, out_format='APRON', approx_depth=approx_depth, pair_props=pair_props)