<p>Tensorflows <a href="https://www.tensorflow.org/api_docs/python/tf/train/AdamOptimizer" rel="nofollow noreferrer">Adam</a> implementation is just that: An implementation of <a href="https://arxiv.org/abs/1412.6980" rel="nofollow noreferrer">Adam</a>, exactly how it is defined and tested in the paper.</p>

<p>If you want to use Adam with L2 regularization for your problem you simply have to add an L2 regularization term to your loss with some regularization strength you can choose yourself.</p>

<p>I can't tell you if that is necessary or helpful or what regularization and regularization strength to use, because that highly depends on the problem and is rather subjective.</p>
Why tensorflow's implementation of AdamOptimizer does not support L2 normalization
<p>Tensorflow's implementation of <a href="https://www.tensorflow.org/api_docs/python/tf/train/Optimizer" rel="nofollow noreferrer">AdamOptimzer</a> do not have regularization params like that in <a href="https://www.tensorflow.org/api_docs/python/tf/train/ProximalAdagradOptimizer" rel="nofollow noreferrer">ProximalAdamOptimizer</a>, for example  <code>l2_regularization_strength</code>, is it necessary to add l2 norm in <a href="https://www.tensorflow.org/api_docs/python/tf/train/Optimizer" rel="nofollow noreferrer">AdamOptimzer</a>?</p>