| 41 | display = solver.param.display |
| 42 | |
| 43 | def show_time(): |
| 44 | if solver.iter % display == 0: |
| 45 | s = '\n' |
| 46 | for i in range(len(solver.net.layers)): |
| 47 | s += 'forw %3d %8s ' % (i, solver.net._layer_names[i]) |
| 48 | s += ': %.2f\n' % fprop[i].ms |
| 49 | for i in range(len(solver.net.layers) - 1, -1, -1): |
| 50 | s += 'back %3d %8s ' % (i, solver.net._layer_names[i]) |
| 51 | s += ': %.2f\n' % bprop[i].ms |
| 52 | s += 'solver total: %.2f\n' % total.ms |
| 53 | s += 'allreduce: %.2f\n' % allrd.ms |
| 54 | caffe.log(s) |
| 55 | |
| 56 | solver.net.before_forward(lambda layer: fprop[layer].start()) |
| 57 | solver.net.after_forward(lambda layer: fprop[layer].stop()) |