As a graph showing the development of deep learning, I often see a graph showing the change in accuracy and the transition of the number of layers in ILSVRC, so I made it.
import matplotlib.pyplot as plt
def plot_res():
plt.rcParams["font.family"] = "Arial"
plt.rcParams["font.size"] = 18
fig = plt.figure()
c = ["skyblue", "blue"] * 5
depths = [8, 8, 22, 152, 205]
years = list(range(2012, 2017))
errors = [16.4, 11.7, 7.3, 6.7, 2.9]
a = 0.2
ax1 = fig.add_subplot(111)
depth_bars = ax1.bar(years, depths, color=c[0], tick_label=years)
for year, depth in zip(years, depths):
ax1.text(year, depth, depth if depth < 200 else "200>", ha="center", va="bottom", color="black", fontsize=14)
ax1.set_ylim(0, 230)
ax1.set_ylabel("Depth of Neural Networks")
ax2 = ax1.twinx()
error_line = ax2.plot(years, errors, color=c[1], linewidth=2)
for year, error in zip(years, errors):
ax2.text(year - a, error + 1, error, color="black", fontsize=14)
ax2.set_ylim(0, 20)
ax2.set_ylabel("Error Rate")
plt.title("Winner in ILSVRC")
plt.tight_layout()
plt.show()
plot_res()