Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
{
"cells": [
{
"cell_type": "code",
"execution_count": 5,
"id": "signed-litigation",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(1, 50, 256)\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import tensorflow as tf\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def get_angles(pos, i, d_model):\n",
" angle_rates = 1 / np.power(10000, (2 * (i//2)) / np.float32(d_model))\n",
" return pos * angle_rates\n",
"\n",
"def positional_encoding(position, d_model):\n",
" angle_rads = get_angles(np.arange(position)[:, np.newaxis],\n",
" np.arange(d_model)[np.newaxis, :],\n",
" d_model)\n",
"\n",
" # apply sin to even indices in the array; 2i\n",
" angle_rads[:, 0::2] = np.sin(angle_rads[:, 0::2])\n",
"\n",
" # apply cos to odd indices in the array; 2i+1\n",
" angle_rads[:, 1::2] = np.cos(angle_rads[:, 1::2])\n",
"\n",
" pos_encoding = angle_rads[np.newaxis, ...]\n",
"\n",
" return tf.cast(pos_encoding, dtype=tf.float32)\n",
"\n",
"n, d = 50, 256\n",
"pos_encoding = positional_encoding(n, d)\n",
"print(pos_encoding.shape)\n",
"pos_encoding = pos_encoding[0]\n",
"\n",
"# Juggle the dimensions for the plot\n",
"pos_encoding = tf.reshape(pos_encoding, (n, d//2, 2))\n",
"pos_encoding = tf.transpose(pos_encoding, (2,1,0))\n",
"pos_encoding = tf.reshape(pos_encoding, (d, n))\n",
"\n",
"plt.pcolormesh(pos_encoding, cmap='RdBu')\n",
"plt.ylabel('Depth')\n",
"plt.xlabel('Position')\n",
"plt.colorbar()\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "greater-rebound",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment