Example #1
0
                                            batchsize=TEST_BATCHSIZE)
g_basediff = (g_basediff / float(len(Y_test))) * 1000.

print("g_baseacc:", g_baseacc)
print("g_basediff:", g_basediff)
# 退出点阈值设置
thresholds = [
    0.0001, 0.0005, 0.001, 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5,
    0.75, 1., 2., 3., 5., 10.
]

# 根据退出点阈值来获取代入单个退出点阈值的网络测试准确率、测试时间以及退出点样本数(带分支网络),最大信息熵
g_ts, g_accs, g_diffs, g_exits, g_entropies = utils.screen_branchy(
    branchyNet,
    X_test,
    Y_test,
    thresholds,
    batchsize=TEST_BATCHSIZE,
    verbose=True)

g_diffs *= 1000.

# 显示原始网络与带有分支的网络测试精度与运行时间的关系图
visualize.plot_line_tradeoff(g_accs,
                             g_diffs,
                             g_ts,
                             g_exits,
                             g_baseacc,
                             g_basediff,
                             all_samples=False,
                             inc_amt=0.0001,
# In[ ]:

# Specify thresholds
thresholds = [
    0.0001, 0.0005, 0.001, 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5,
    0.75, 1., 2., 3., 5., 10.
]

# In[ ]:

#GPU
branchyNet.to_gpu()
g_ts, g_accs, g_diffs, g_exits = utils.screen_branchy(branchyNet,
                                                      x_test,
                                                      y_test,
                                                      thresholds,
                                                      batchsize=TEST_BATCHSIZE,
                                                      verbose=True)
# g_ts, g_accs, g_diffs, g_exits = utils.screen_leaky(leakyNet, x_test, y_test, thresholds, inc_amt=-0.1,
#                                                     batchsize=TEST_BATCHSIZE, verbose=True)

#convert to ms
g_diffs *= 1000.

# In[ ]:

visualize.plot_line_tradeoff(g_accs,
                             g_diffs,
                             g_ts,
                             g_exits,
                             g_baseacc,