def run(args): train, test = util.get_dataset(args.dataset) names = ['all-one (standard)', 'linear'] colors = [vz.colors.all_one_lg, vz.colors.linear_lg] models = [ BinaryNet.BinaryConvNet(10, cg.uniform, 'all'), BinaryNet.BinaryConvNet(10, cg.linear, 'slow_exp'), ] comp_ratios = np.linspace(0.1, 1.0, 20) acc_dict = {} ratios_dict = {} for name, model in zip(names, models): util.load_or_train_model(model, train, test, args) acc_dict[name] = util.sweep_idp(model, test, comp_ratios, args) ratios_dict[name] = [100. * cr for cr in comp_ratios] filename = "BinaryNet_{}".format(args.dataset) vz.plot(ratios_dict, acc_dict, names, filename, colors=colors, folder=args.figure_path, ext=args.ext, title='BinaryNet (MNIST)', xlabel='IDP (%)', ylabel='Classification Accuracy (%)', ylim=(90, 100))
def run(args): train, test = util.get_dataset(args.dataset) colors = [vz.colors.all_one_lg, vz.colors.linear_lg] names = ['all-one', 'harmonic', 'linear', 'half_one'] colors = [ vz.colors.all_one_lg, vz.colors.harmonic_lg, vz.colors.linear_lg, vz.colors.half_one_lg ] models = [ MLP.MLP(10, cg.uniform), MLP.MLP(10, cg.harmonic), MLP.MLP(10, cg.linear), MLP.MLP(10, cg.uniform_exp), ] comp_ratios = np.linspace(0.1, 1.0, 20) acc_dict = {} ratios_dict = {} for name, model in zip(names, models): util.load_or_train_model(model, train, test, args) acc_dict[name] = util.sweep_idp(model, test, comp_ratios, args) ratios_dict[name] = [100. * cr for cr in comp_ratios] filename = "MLP_coef_comparison_{}".format(args.dataset) vz.plot(ratios_dict, acc_dict, names, filename, colors=colors, folder=args.figure_path, ext=args.ext, xlabel='IDP (%)', ylabel='Classification Accuracy (%)', title='MLP (MNIST)', legend_loc='lower right', ylim=(85, 100))
comp_f='id', act='ternary', coeffs_generator=linear_seq), net.ApproxNet(nclass, *large_settings, m=2, comp_f='id', act='ternary', coeffs_generator=linear_seq), ] acc_dict = {} ratios_dict = {} for name, model in zip(names, models): acc_dict[name] = [] ratios_dict[name] = [] util.load_or_train_model(model, train, test, args) for cr in comp_ratios: acc = util.get_approx_acc(model, test, comp_ratio=cr) acc_dict[name].append(acc) ratios_dict[name].append(100. * cr) filename = "activ_comparison_{}".format(args.dataset) visualize.plot(ratios_dict, acc_dict, names, filename, colors=colors, folder=args.figure_path, ext=args.ext, xlabel='Dot Product Component (%)', ylabel='Classification Accuracy (%)')