Created by: tpatejko
This PR implements Adam operator optimized with Eigen. This is important for CPU execution.
Two benchmarks were taken into account: mnist and machine_translation. The results of profiling on default parameters, on Skylake CPU:
-
machine translation
- plain: Adam op 25.5546ms, total time 315.52181 sec, 198.64237 examples/sed
- Eigen: Adam op 4.82581, total time: 273.15408, 229.09049 examples/sed
-
mnist:
- plain: Adam op 0.0897811, total time: 1.44365, 2659.92448 examples/sed
- Eigen: Adam op 0.0146323, total time: 1.40162, 2739.67732 examples/sed