Skip to content

Instantly share code, notes, and snippets.

@prl900
Created December 13, 2019 09:14
Show Gist options
  • Save prl900/967d8f91f2a13f57c72c424180714283 to your computer and use it in GitHub Desktop.
Save prl900/967d8f91f2a13f57c72c424180714283 to your computer and use it in GitHub Desktop.
Reviewer#1
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Reviewer#1",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/prl900/967d8f91f2a13f57c72c424180714283/reviewer-1.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "V47x694A8xtU",
"colab_type": "code",
"outputId": "14072a3f-2c2e-46c6-b960-02e134af9883",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 81
}
},
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import tensorflow as tf\n",
"import tensorflow.keras.backend as K\n",
"\n",
"tf.enable_eager_execution()\n",
"\n",
"tf.__version__"
],
"execution_count": 1,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/html": [
"<p style=\"color: red;\">\n",
"The default version of TensorFlow in Colab will soon switch to TensorFlow 2.x.<br>\n",
"We recommend you <a href=\"https://www.tensorflow.org/guide/migrate\" target=\"_blank\">upgrade</a> now \n",
"or ensure your notebook will continue to use TensorFlow 1.x via the <code>%tensorflow_version 1.x</code> magic:\n",
"<a href=\"https://colab.research.google.com/notebooks/tensorflow_version.ipynb\" target=\"_blank\">more info</a>.</p>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"'1.15.0'"
]
},
"metadata": {
"tags": []
},
"execution_count": 1
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "dpcmVYtv9FxI",
"colab_type": "code",
"colab": {}
},
"source": [
"def get_pod_loss(threshold):\n",
" def pod(y_true, y_pred):\n",
" # Probability of detection = Hits / (Hits + Misses)\n",
" hits = K.sum(K.cast(tf.math.logical_and(K.greater(y_true, threshold), K.greater(y_pred, threshold)), dtype='float32'))\n",
" misses = K.sum(K.cast(tf.math.logical_and(K.greater(y_true, threshold), K.less(y_pred, threshold)), dtype='float32'))\n",
" return hits / (hits + misses)\n",
" return pod"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "6No0tsGu9WLS",
"colab_type": "code",
"colab": {}
},
"source": [
"# ! Comment out MAE, so this should be purely the differentiable POD loss\n",
"\n",
"def get_diff_pod_mae_loss(threshold):\n",
" def pod_mae(y_true, y_pred):\n",
" # Probability of detection = Misses / (Hits + Misses)\n",
" hits = K.sum(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32'))\n",
" misses = K.sum(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1 * y_pred) - threshold), dtype='float32'))\n",
" pod = hits / (hits + misses)\n",
" #mae = K.mean(K.abs(y_pred - y_true), axis=-1)\n",
" return pod #+ mae\n",
" return pod_mae\n",
"\n",
"def get_diff_pom_mae_loss(threshold):\n",
" def pom_mae(y_true, y_pred):\n",
" # Probability of detection = Misses / (Hits + Misses)\n",
" hits = K.sum(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32'))\n",
" misses = K.sum(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1 * y_pred) - threshold), dtype='float32'))\n",
" pom = misses / (hits + misses)\n",
" #mae = K.mean(K.abs(y_pred - y_true), axis=-1)\n",
" return pom #+ mae\n",
" return pom_mae\n",
"\n",
"def get_diff_pod_mae_loss2(threshold):\n",
" def pod_mae(y_true, y_pred):\n",
" # Probability of detection = Misses / (Hits + Misses)\n",
" hits = K.sum(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32'))\n",
" misses = K.sum(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(-1 * (y_pred - threshold)), dtype='float32'))\n",
" pod = hits / (hits + misses)\n",
" #mae = K.mean(K.abs(y_pred - y_true), axis=-1)\n",
" return pod #+ mae\n",
" return pod_mae\n",
"\n",
"def get_diff_pom_mae_loss2(threshold):\n",
" def pom_mae(y_true, y_pred):\n",
" # Probability of detection = Misses / (Hits + Misses)\n",
" hits = K.sum(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32'))\n",
" misses = K.sum(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(-1 * (y_pred - threshold)), dtype='float32'))\n",
" pom = misses / (hits + misses)\n",
" #mae = K.mean(K.abs(y_pred - y_true), axis=-1)\n",
" return pom #+ mae\n",
" return pom_mae\n",
"\n",
"def get_diff_pod(threshold):\n",
" def pod_mae(y_true, y_pred):\n",
" # Probability of detection = Misses / (Hits + Misses)\n",
" hits = K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32')\n",
" misses = K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1 * y_pred) - threshold), dtype='float32')\n",
" pod = hits / (hits + misses)\n",
" #mae = K.mean(K.abs(y_pred - y_true), axis=-1)\n",
" return pod #+ mae\n",
" return pod_mae\n",
"\n",
"def get_diff_pom(threshold):\n",
" def pom_mae(y_true, y_pred):\n",
" # Probability of detection = Misses / (Hits + Misses)\n",
" hits = K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32')\n",
" misses = K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1 * y_pred) - threshold), dtype='float32')\n",
" pom = misses / (hits + misses)\n",
" #mae = K.mean(K.abs(y_pred - y_true), axis=-1)\n",
" return pom #+ mae\n",
" return pom_mae\n",
"\n",
"def get_diff_pod2(threshold):\n",
" def pod_mae(y_true, y_pred):\n",
" # Probability of detection = Misses / (Hits + Misses)\n",
" hits = K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32')\n",
" misses = K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(-1 * (y_pred - threshold)), dtype='float32')\n",
" pod = hits / (hits + misses)\n",
" #mae = K.mean(K.abs(y_pred - y_true), axis=-1)\n",
" return pod #+ mae\n",
" return pod_mae\n",
"\n",
"def get_diff_pom2(threshold):\n",
" def pom_mae(y_true, y_pred):\n",
" # Probability of detection = Misses / (Hits + Misses)\n",
" hits = K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32')\n",
" misses = K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(-1 * (y_pred - threshold)), dtype='float32')\n",
" pom = misses / (hits + misses)\n",
" #mae = K.mean(K.abs(y_pred - y_true), axis=-1)\n",
" return pom #+ mae\n",
" return pom_mae\n",
"\n",
"def get_diff_pod3(threshold):\n",
" def pod_mae(y_true, y_pred):\n",
" # Probability of detection = Misses / (Hits + Misses)\n",
" hits = K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32')\n",
" misses = K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(-1 * (K.square(y_pred) - threshold)), dtype='float32')\n",
" pod = hits / (hits + misses)\n",
" #mae = K.mean(K.abs(y_pred - y_true), axis=-1)\n",
" return pod #+ mae\n",
" return pod_mae\n",
"\n",
"def get_diff_pom3(threshold):\n",
" def pom_mae(y_true, y_pred):\n",
" # Probability of detection = Misses / (Hits + Misses)\n",
" hits = K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32')\n",
" misses = K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(-1 * (K.square(y_pred) - threshold)), dtype='float32')\n",
" pom = misses / (hits + misses)\n",
" #mae = K.mean(K.abs(y_pred - y_true), axis=-1)\n",
" return pom #+ mae\n",
" return pom_mae"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "LINA9Wfe93V6",
"colab_type": "code",
"colab": {}
},
"source": [
"threshold = 1.5"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "EPerahq893wK",
"colab_type": "code",
"colab": {}
},
"source": [
"pod_loss = get_pod_loss(threshold=threshold)\n",
"diff_pod_loss = get_diff_pod(threshold=threshold)\n",
"diff_pom_loss = get_diff_pom(threshold=threshold)\n",
"diff_pod_loss2 = get_diff_pod2(threshold=threshold)\n",
"diff_pom_loss2 = get_diff_pom2(threshold=threshold)\n",
"diff_pod_loss3 = get_diff_pod3(threshold=threshold)\n",
"diff_pom_loss3 = get_diff_pom3(threshold=threshold)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "cXSAZmnB97hh",
"colab_type": "code",
"colab": {}
},
"source": [
"y_pred = tf.constant(np.linspace(0,3,num=301,endpoint=True, dtype=np.float32)[:,None])\n",
"y_true = tf.constant(np.ones((301,1), dtype=np.float32)*2)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "ZpxYdkMVjSCe",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"outputId": "ecd39f93-f49f-42c7-fdb0-9c9e8b01c5b5"
},
"source": [
"#Hits\n",
"plt.plot(K.cast(tf.math.logical_and(K.greater(y_true, threshold), K.greater(y_pred, threshold)), dtype='float32').numpy().flatten())\n",
"plt.plot(K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32').numpy().flatten())\n",
"plt.plot(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32').numpy().flatten())"
],
"execution_count": 23,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7eff825cef60>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 23
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nEZEo8f8BsRXzA0E3/3cAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "LjyZJaeOihru",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"outputId": "f2fe9c5b-fd9c-4f9c-b653-e5e7efb15944"
},
"source": [
"#Misses\n",
"plt.plot(K.cast(tf.math.logical_and(K.greater(y_true, threshold), K.less(y_pred, threshold)), dtype='float32').numpy().flatten())\n",
"plt.plot(K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(-1*(K.square(y_pred) - threshold)), dtype='float32').numpy().flatten())\n",
"plt.plot(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1*y_pred) - threshold), dtype='float32').numpy().flatten())"
],
"execution_count": 22,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7eff82790048>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 22
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nte3QnKGUDynnkKJDKB9SzvgiH/jlReUU5+g/Vlj1yeBcB8sMjr7I34z65X+H1+bB27+C8/4djroI\nIqHrvCYZMigDvStmxsj8kYzMH8lJY07aa93u5G7W71rPul3rWLdzHet2raNqZxWvf/D6PmFfnFO8\nV9CXF5UztnAs4wrHUZpXSjQS7cvdkgPQloX99gg9VV4JnP/fcOxl8Nwt8IsbYNGPfbBP+Gi2q5Ms\nUKCnKS+WR8XQCiqGVuyzriHZwIbaDby38z2qdlW1B/7SD5ayYM2CvY72YpEYYwvGtgd82zS2cCxl\nRWUMzx2udvssajsp2mdjuWTCuOPh+pdh2ePw8r/BfefDoTPgnK/ByMOzXZ30IQV6BuTGcplcMpnJ\nJZP3WdfU0sTG2o1srN3I+tr1bKzdyIbaDWys3cjCqoVsa9i21/Y50RzGFvrALyssY0zBGEYXjGZ0\nwWhG5Y9iVP4o4uqH3Gt69Y5FvSkSgWPnwpEXwqKf+GEDfnwyHPUpOO3L6uY4SCjQe1kimmBC8QQm\nFE/odH19cz3v173PhtoN7UHfNv/WlreoaazZa3vDGJ43nNH5QcgXjGqfbwv90vxSYhF9tD3R70+K\ndieeB6fdAsdfDa/+0N88462nfQ+Z07+iHjEDnP7XZ1l+PL/Lo3vwgb+pbhOb6jbxQf0Hfr7eP19T\ns4Y/b/wz9cn6vX4mYhFG5I1oD/iR+SMZkTei/bE0r5SR+SMZkhii5p0O9vw2wprogYLhvsnlI5/3\nR+yL7/bdHCecBif/Axw63Q/dKwOKAr2fy4/nM6lkEpNKJnW63jlHbXNte+i3hf0HdR+wqX4Tq7av\n4s8b/7xXd8w2iUjCB3x+KaV5pXuHfrCsNL+UkpwSIjY4ek70uytFD1b+MN+l8ZSb4C/3w+J58Nhl\nMHSC7+74obk+/GVAUKCHnJlRlCiiKFHU6QnbNvXN9WzZvYXq3dVU11f7x5T5tTVrWbxpMbua9r1j\nTsQiDM0ZyrC8YQzL9dPw3OHt88Nyh7WvG547nLxYXmiP/PvF4Fy9Ia8ETv0CnHwTvPusP2L/v9v8\niI6Hz4TjroTJZ+moPeQU6INEfjyf8XF/UdT+NCQb2LJ7C1t2b2Fz/Waqd1ezrWGbn3b7x+VblrOt\nYRu1zbWdvkZuNHefoB+aM5TinGJKckooySnZM59bQnGiuN+c6O03g3P1lmjMnzg98kL4YDksfRiW\n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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "qJB8SiH5kQYm",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"outputId": "13da1e4c-9a48-41aa-e00a-e69d77993427"
},
"source": [
"#Hits + Misses\n",
"plt.plot(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32').numpy().flatten() +\n",
" K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1*y_pred) - threshold), dtype='float32').numpy().flatten())"
],
"execution_count": 24,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7eff8253f5f8>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 24
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nYY2u3AAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "rUWQ_jA8ktmo",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"outputId": "cdce0255-4fcb-40ac-8fc4-613fbf44183b"
},
"source": [
"#POD Different thresholds\n",
"threshold=.5\n",
"plt.plot(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32').numpy().flatten() / \n",
" (K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32').numpy().flatten() +\n",
" K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1*y_pred) - threshold), dtype='float32').numpy().flatten()))\n",
"\n",
"threshold=1.\n",
"plt.plot(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32').numpy().flatten() / \n",
" (K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32').numpy().flatten() +\n",
" K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1*y_pred) - threshold), dtype='float32').numpy().flatten()))\n",
"\n",
"threshold=1.5\n",
"plt.plot(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32').numpy().flatten() / \n",
" (K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32').numpy().flatten() +\n",
" K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1*y_pred) - threshold), dtype='float32').numpy().flatten()))\n",
"\n",
"threshold=2.\n",
"plt.plot(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32').numpy().flatten() / \n",
" (K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32').numpy().flatten() +\n",
" K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1*y_pred) - threshold), dtype='float32').numpy().flatten()))"
],
"execution_count": 28,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7eff82375470>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 28
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "r7OeSKLQl-BC",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"outputId": "27bad24d-3a7d-4e1d-c6ee-521586001054"
},
"source": [
"threshold=.5\n",
"plt.plot(K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32').numpy().flatten() /\n",
" (K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32').numpy().flatten() +\n",
" K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(-1*(K.square(y_pred) - threshold)), dtype='float32').numpy().flatten()))\n",
"\n",
"threshold=1.\n",
"plt.plot(K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32').numpy().flatten() /\n",
" (K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32').numpy().flatten() +\n",
" K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(-1*(K.square(y_pred) - threshold)), dtype='float32').numpy().flatten()))\n",
"\n",
"threshold=1.5\n",
"plt.plot(K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32').numpy().flatten() /\n",
" (K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32').numpy().flatten() +\n",
" K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(-1*(K.square(y_pred) - threshold)), dtype='float32').numpy().flatten()))\n",
"\n",
"threshold=2.\n",
"plt.plot(K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32').numpy().flatten() /\n",
" (K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32').numpy().flatten() +\n",
" K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(-1*(K.square(y_pred) - threshold)), dtype='float32').numpy().flatten()))"
],
"execution_count": 32,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7eff822c1e10>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 32
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n0I0xJkf8DxrrQyJL+h4uAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "CFjLLFLUk-90",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"outputId": "c39882c6-7c56-446d-9c4c-2c6fa86e733c"
},
"source": [
"#POM\n",
"plt.plot(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1*y_pred) - threshold), dtype='float32').numpy().flatten() / \n",
" (K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32').numpy().flatten() +\n",
" K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1*y_pred) - threshold), dtype='float32').numpy().flatten()))"
],
"execution_count": 26,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7eff82483940>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 26
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "pjlrIVjdGn6p",
"colab_type": "code",
"outputId": "3daa0847-bb63-48e8-c1db-2d531ab88127",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
}
},
"source": [
"plt.plot(diff_pod_loss3(y_true, y_pred).numpy().flatten())"
],
"execution_count": 16,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7eff82b00080>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 16
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "GcyL-DTXJdlL",
"colab_type": "code",
"outputId": "5d4a7429-f884-4035-c563-c0b9635ae675",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 312
}
},
"source": [
"threshold = 1.5\n",
"y_pred = tf.constant([[1.], [2.]])\n",
"y_true = tf.constant([[2.], [2.]])\n",
"\n",
"diff_pods = []\n",
"pods = []\n",
"for threshold in np.arange(-.1, 2.2, 0.1):\n",
" pod_loss = get_pod_loss(threshold=threshold)\n",
" diff_pod_loss = get_diff_pod_mae_loss(threshold=threshold)\n",
" diff_pods.append(diff_pod_loss(y_true, y_pred).numpy())\n",
" pods.append(pod_loss(y_true, y_pred).numpy())\n",
"\n",
"plt.plot(np.arange(-.1, 2.2, 0.1), diff_pods, label='differentiable')\n",
"plt.plot(np.arange(-.1, 2.2, 0.1), pods, label='non-differentiable')\n",
"\n",
"plt.xlabel('Threshold')\n",
"plt.ylabel('POD')\n",
"plt.title('y_pred = [[1.], [2.]], y_true = [[2.], [2.]]')\n",
"plt.legend()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f75a1832978>"
]
},
"metadata": {
"tags": []
},
"execution_count": 17
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nuP8PrJotpU2Y+pEAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "efLZXd7j9-Wa",
"colab_type": "code",
"outputId": "f5b1e165-9066-43d2-a19f-1d56311b965a",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
}
},
"source": [
"pod_loss(y_true, y_pred)\n",
"diff_pod_loss(y_true, y_pred)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<tf.Tensor: id=6416, shape=(), dtype=float32, numpy=0.55521077>"
]
},
"metadata": {
"tags": []
},
"execution_count": 43
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "zLvYJ8Xt-Dby",
"colab_type": "code",
"outputId": "95d1b8ad-1df4-4ca5-d072-a17b4af99bfd",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"#hits = K.sum(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32'))\n",
"#misses = K.sum(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1 * y_pred) - threshold), dtype='float32'))\n",
"\n",
"hits = K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32')\n",
"misses = K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(-1 * (y_pred - threshold)), dtype='float32')\n",
"\n",
"hits, misses"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(<tf.Tensor: id=6423, shape=(301, 1), dtype=float32, numpy=\n",
" array([[0.05182325],\n",
" [0.05228677],\n",
" [0.05275391],\n",
" [0.05322468],\n",
" [0.05369911],\n",
" [0.05417726],\n",
" [0.05465908],\n",
" [0.05514466],\n",
" [0.05563396],\n",
" [0.05612703],\n",
" [0.05662388],\n",
" [0.0571245 ],\n",
" [0.05762899],\n",
" [0.05813728],\n",
" [0.05864944],\n",
" [0.05916542],\n",
" [0.05968536],\n",
" [0.06020916],\n",
" [0.0607369 ],\n",
" [0.0612686 ],\n",
" [0.06180425],\n",
" [0.06234386],\n",
" [0.06288747],\n",
" [0.06343509],\n",
" [0.06398675],\n",
" [0.06454244],\n",
" [0.0651022 ],\n",
" [0.06566603],\n",
" [0.066234 ],\n",
" [0.06680605],\n",
" [0.06738221],\n",
" [0.06796253],\n",
" [0.068547 ],\n",
" [0.06913565],\n",
" [0.06972846],\n",
" [0.07032552],\n",
" [0.07092674],\n",
" [0.07153226],\n",
" [0.07214197],\n",
" [0.07275595],\n",
" [0.07337423],\n",
" [0.07399677],\n",
" [0.07462361],\n",
" [0.07525479],\n",
" [0.07589029],\n",
" [0.07653013],\n",
" [0.07717429],\n",
" [0.07782283],\n",
" [0.07847577],\n",
" [0.07913307],\n",
" [0.07979477],\n",
" [0.08046088],\n",
" [0.08113141],\n",
" [0.08180637],\n",
" [0.08248577],\n",
" [0.08316962],\n",
" [0.08385795],\n",
" [0.08455071],\n",
" [0.08524797],\n",
" [0.0859497 ],\n",
" [0.08665594],\n",
" [0.08736665],\n",
" [0.08808189],\n",
" [0.08880163],\n",
" [0.08952592],\n",
" [0.09025471],\n",
" [0.09098804],\n",
" [0.09172592],\n",
" [0.09246832],\n",
" [0.09321526],\n",
" [0.09396678],\n",
" [0.09472285],\n",
" [0.09548347],\n",
" [0.09624866],\n",
" [0.09701842],\n",
" [0.09779274],\n",
" [0.0985716 ],\n",
" [0.09935507],\n",
" [0.10014307],\n",
" [0.10093567],\n",
" [0.10173286],\n",
" [0.10253458],\n",
" [0.1033409 ],\n",
" [0.10415178],\n",
" [0.10496719],\n",
" [0.10578721],\n",
" [0.10661178],\n",
" [0.10744088],\n",
" [0.10827457],\n",
" [0.10911279],\n",
" [0.10995556],\n",
" [0.11080287],\n",
" [0.11165472],\n",
" [0.11251107],\n",
" [0.11337195],\n",
" [0.11423733],\n",
" [0.11510723],\n",
" [0.11598162],\n",
" [0.1168605 ],\n",
" [0.11774386],\n",
" [0.11863166],\n",
" [0.11952394],\n",
" [0.12042066],\n",
" [0.12132179],\n",
" [0.12222736],\n",
" [0.12313733],\n",
" [0.12405169],\n",
" [0.12497046],\n",
" [0.12589353],\n",
" [0.126821 ],\n",
" [0.12775278],\n",
" [0.1286889 ],\n",
" [0.1296293 ],\n",
" [0.13057397],\n",
" [0.13152292],\n",
" [0.1324761 ],\n",
" [0.13343352],\n",
" [0.13439514],\n",
" [0.13536094],\n",
" [0.13633092],\n",
" [0.13730504],\n",
" [0.13828325],\n",
" [0.13926557],\n",
" [0.14025196],\n",
" [0.1412424 ],\n",
" [0.14223684],\n",
" [0.14323533],\n",
" [0.14423774],\n",
" [0.1452441 ],\n",
" [0.14625442],\n",
" [0.14726861],\n",
" [0.14828663],\n",
" [0.1493085 ],\n",
" [0.15033418],\n",
" [0.15136364],\n",
" [0.15239681],\n",
" [0.15343371],\n",
" [0.15447429],\n",
" [0.1555185 ],\n",
" [0.15656632],\n",
" [0.15761773],\n",
" [0.15867268],\n",
" [0.15973113],\n",
" [0.16079307],\n",
" [0.16185844],\n",
" [0.1629272 ],\n",
" [0.16399932],\n",
" [0.16507477],\n",
" [0.1661535 ],\n",
" [0.16723548],\n",
" [0.16832064],\n",
" [0.16940899],\n",
" [0.17050047],\n",
" [0.17159504],\n",
" [0.17269263],\n",
" [0.17379323],\n",
" [0.17489678],\n",
" [0.17600326],\n",
" [0.1771126 ],\n",
" [0.17822476],\n",
" [0.17933969],\n",
" [0.18045737],\n",
" [0.18157774],\n",
" [0.18270074],\n",
" [0.18382633],\n",
" [0.18495448],\n",
" [0.18608512],\n",
" [0.18721823],\n",
" [0.18835372],\n",
" [0.18949158],\n",
" [0.19063173],\n",
" [0.19177414],\n",
" [0.19291876],\n",
" [0.19406551],\n",
" [0.19521438],\n",
" [0.19636528],\n",
" [0.19751818],\n",
" [0.19867302],\n",
" [0.19982974],\n",
" [0.20098834],\n",
" [0.20214868],\n",
" [0.20331077],\n",
" [0.20447454],\n",
" [0.2056399 ],\n",
" [0.20680684],\n",
" [0.2079753 ],\n",
" [0.2091452 ],\n",
" [0.21031651],\n",
" [0.21148916],\n",
" [0.21266308],\n",
" [0.21383823],\n",
" [0.21501458],\n",
" [0.21619202],\n",
" [0.21737053],\n",
" [0.21855003],\n",
" [0.21973047],\n",
" [0.22091182],\n",
" [0.22209395],\n",
" [0.22327687],\n",
" [0.2244605 ],\n",
" [0.22564478],\n",
" [0.22682966],\n",
" [0.22801508],\n",
" [0.22920096],\n",
" [0.23038724],\n",
" [0.2315739 ],\n",
" [0.23276085],\n",
" [0.23394802],\n",
" [0.23513539],\n",
" [0.23632288],\n",
" [0.23751041],\n",
" [0.23869796],\n",
" [0.23988543],\n",
" [0.24107283],\n",
" [0.24226002],\n",
" [0.24344695],\n",
" [0.24463363],\n",
" [0.2458199 ],\n",
" [0.24700578],\n",
" [0.24819118],\n",
" [0.24937607],\n",
" [0.25056034],\n",
" [0.25174397],\n",
" [0.2529269 ],\n",
" [0.25410905],\n",
" [0.2552904 ],\n",
" [0.25647083],\n",
" [0.25765035],\n",
" [0.25882882],\n",
" [0.26000628],\n",
" [0.2611826 ],\n",
" [0.26235777],\n",
" [0.26353168],\n",
" [0.26470435],\n",
" [0.26587564],\n",
" [0.26704553],\n",
" [0.268214 ],\n",
" [0.26938093],\n",
" [0.27054635],\n",
" [0.2717101 ],\n",
" [0.27287218],\n",
" [0.27403253],\n",
" [0.2751911 ],\n",
" [0.27634782],\n",
" [0.2775027 ],\n",
" [0.27865556],\n",
" [0.2798065 ],\n",
" [0.28095534],\n",
" [0.2821021 ],\n",
" [0.2832467 ],\n",
" [0.2843891 ],\n",
" [0.28552926],\n",
" [0.2866671 ],\n",
" [0.28780264],\n",
" [0.2889357 ],\n",
" [0.29006633],\n",
" [0.2911945 ],\n",
" [0.2923201 ],\n",
" [0.2934431 ],\n",
" [0.29456344],\n",
" [0.29568112],\n",
" [0.29679608],\n",
" [0.29790825],\n",
" [0.2990176 ],\n",
" [0.30012408],\n",
" [0.30122763],\n",
" [0.30232823],\n",
" [0.30342582],\n",
" [0.3045204 ],\n",
" [0.30561185],\n",
" [0.3067002 ],\n",
" [0.3077854 ],\n",
" [0.30886737],\n",
" [0.30994606],\n",
" [0.31102154],\n",
" [0.31209368],\n",
" [0.31316242],\n",
" [0.31422776],\n",
" [0.3152897 ],\n",
" [0.31634817],\n",
" [0.31740308],\n",
" [0.3184545 ],\n",
" [0.31950232],\n",
" [0.32054657],\n",
" [0.32158712],\n",
" [0.32262403],\n",
" [0.32365718],\n",
" [0.32468665],\n",
" [0.32571235],\n",
" [0.32673424],\n",
" [0.32775226],\n",
" [0.32876644],\n",
" [0.32977673],\n",
" [0.33078313],\n",
" [0.33178553],\n",
" [0.332784 ],\n",
" [0.33377847],\n",
" [0.33476892],\n",
" [0.3357553 ],\n",
" [0.33673763],\n",
" [0.33771586]], dtype=float32)>,\n",
" <tf.Tensor: id=6432, shape=(301, 1), dtype=float32, numpy=\n",
" array([[0.4231976 ],\n",
" [0.42273405],\n",
" [0.42226693],\n",
" [0.42179614],\n",
" [0.42132172],\n",
" [0.42084354],\n",
" [0.42036176],\n",
" [0.41987616],\n",
" [0.4193869 ],\n",
" [0.41889378],\n",
" [0.41839692],\n",
" [0.41789633],\n",
" [0.41739184],\n",
" [0.41688356],\n",
" [0.41637138],\n",
" [0.4158554 ],\n",
" [0.41533545],\n",
" [0.41481167],\n",
" [0.41428393],\n",
" [0.41375223],\n",
" [0.4132166 ],\n",
" [0.41267696],\n",
" [0.41213337],\n",
" [0.41158575],\n",
" [0.41103408],\n",
" [0.41047838],\n",
" [0.40991864],\n",
" [0.4093548 ],\n",
" [0.40878683],\n",
" [0.4082148 ],\n",
" [0.4076386 ],\n",
" [0.4070583 ],\n",
" [0.40647382],\n",
" [0.40588516],\n",
" [0.40529236],\n",
" [0.40469533],\n",
" [0.40409407],\n",
" [0.40348858],\n",
" [0.40287885],\n",
" [0.4022649 ],\n",
" [0.40164658],\n",
" [0.40102404],\n",
" [0.4003972 ],\n",
" [0.39976603],\n",
" [0.39913052],\n",
" [0.3984907 ],\n",
" [0.39784652],\n",
" [0.39719796],\n",
" [0.39654505],\n",
" [0.39588773],\n",
" [0.39522606],\n",
" [0.39455995],\n",
" [0.39388943],\n",
" [0.39321443],\n",
" [0.39253506],\n",
" [0.39185122],\n",
" [0.39116287],\n",
" [0.39047015],\n",
" [0.38977286],\n",
" [0.3890711 ],\n",
" [0.38836488],\n",
" [0.3876542 ],\n",
" [0.38693893],\n",
" [0.3862192 ],\n",
" [0.3854949 ],\n",
" [0.3847661 ],\n",
" [0.3840328 ],\n",
" [0.3832949 ],\n",
" [0.3825525 ],\n",
" [0.38180557],\n",
" [0.38105404],\n",
" [0.38029796],\n",
" [0.37953734],\n",
" [0.37877214],\n",
" [0.3780024 ],\n",
" [0.3772281 ],\n",
" [0.37644923],\n",
" [0.37566575],\n",
" [0.37487775],\n",
" [0.37408513],\n",
" [0.37328795],\n",
" [0.37248623],\n",
" [0.3716799 ],\n",
" [0.37086904],\n",
" [0.37005365],\n",
" [0.36923364],\n",
" [0.36840904],\n",
" [0.36757997],\n",
" [0.36674625],\n",
" [0.36590806],\n",
" [0.36506528],\n",
" [0.36421797],\n",
" [0.36336613],\n",
" [0.36250976],\n",
" [0.3616489 ],\n",
" [0.3607835 ],\n",
" [0.3599136 ],\n",
" [0.35903922],\n",
" [0.35816032],\n",
" [0.35727698],\n",
" [0.35638916],\n",
" [0.35549688],\n",
" [0.35460016],\n",
" [0.35369903],\n",
" [0.35279348],\n",
" [0.3518835 ],\n",
" [0.35096914],\n",
" [0.35005036],\n",
" [0.3491273 ],\n",
" [0.3481998 ],\n",
" [0.34726804],\n",
" [0.34633192],\n",
" [0.34539154],\n",
" [0.34444684],\n",
" [0.3434979 ],\n",
" [0.34254473],\n",
" [0.3415873 ],\n",
" [0.34062567],\n",
" [0.3396599 ],\n",
" [0.3386899 ],\n",
" [0.33771577],\n",
" [0.33673757],\n",
" [0.33575526],\n",
" [0.33476886],\n",
" [0.33377844],\n",
" [0.33278397],\n",
" [0.3317855 ],\n",
" [0.33078307],\n",
" [0.3297767 ],\n",
" [0.3287664 ],\n",
" [0.32775223],\n",
" [0.3267342 ],\n",
" [0.32571232],\n",
" [0.32468665],\n",
" [0.32365718],\n",
" [0.322624 ],\n",
" [0.32158712],\n",
" [0.32054654],\n",
" [0.3195023 ],\n",
" [0.31845447],\n",
" [0.31740308],\n",
" [0.31634814],\n",
" [0.31528968],\n",
" [0.31422776],\n",
" [0.3131624 ],\n",
" [0.31209365],\n",
" [0.31102154],\n",
" [0.30994606],\n",
" [0.30886734],\n",
" [0.30778536],\n",
" [0.30670017],\n",
" [0.30561185],\n",
" [0.30452037],\n",
" [0.3034258 ],\n",
" [0.30232823],\n",
" [0.30122763],\n",
" [0.30012405],\n",
" [0.29901758],\n",
" [0.29790825],\n",
" [0.29679605],\n",
" [0.29568112],\n",
" [0.29456344],\n",
" [0.29344308],\n",
" [0.2923201 ],\n",
" [0.2911945 ],\n",
" [0.29006633],\n",
" [0.2889357 ],\n",
" [0.2878026 ],\n",
" [0.2866671 ],\n",
" [0.28552923],\n",
" [0.28438908],\n",
" [0.2832467 ],\n",
" [0.28210205],\n",
" [0.2809553 ],\n",
" [0.27980646],\n",
" [0.27865553],\n",
" [0.27750266],\n",
" [0.2763478 ],\n",
" [0.27519107],\n",
" [0.2740325 ],\n",
" [0.27287215],\n",
" [0.27171007],\n",
" [0.2705463 ],\n",
" [0.26938093],\n",
" [0.26821396],\n",
" [0.26704553],\n",
" [0.2658756 ],\n",
" [0.26470432],\n",
" [0.26353168],\n",
" [0.26235777],\n",
" [0.26118258],\n",
" [0.26000628],\n",
" [0.25882882],\n",
" [0.25765032],\n",
" [0.2564708 ],\n",
" [0.25529036],\n",
" [0.25410903],\n",
" [0.25292686],\n",
" [0.25174394],\n",
" [0.2505603 ],\n",
" [0.24937604],\n",
" [0.24819115],\n",
" [0.24700575],\n",
" [0.24581987],\n",
" [0.24463357],\n",
" [0.24344692],\n",
" [0.24226 ],\n",
" [0.2410728 ],\n",
" [0.23988543],\n",
" [0.23869796],\n",
" [0.23751041],\n",
" [0.23632288],\n",
" [0.23513539],\n",
" [0.233948 ],\n",
" [0.23276082],\n",
" [0.23157386],\n",
" [0.23038721],\n",
" [0.22920093],\n",
" [0.22801505],\n",
" [0.22682963],\n",
" [0.22564475],\n",
" [0.22446048],\n",
" [0.22327685],\n",
" [0.22209392],\n",
" [0.22091179],\n",
" [0.21973045],\n",
" [0.21855 ],\n",
" [0.21737051],\n",
" [0.216192 ],\n",
" [0.21501456],\n",
" [0.21383822],\n",
" [0.21266307],\n",
" [0.21148914],\n",
" [0.2103165 ],\n",
" [0.20914519],\n",
" [0.20797528],\n",
" [0.20680682],\n",
" [0.20563988],\n",
" [0.20447448],\n",
" [0.20331074],\n",
" [0.20214865],\n",
" [0.20098831],\n",
" [0.19982971],\n",
" [0.198673 ],\n",
" [0.19751815],\n",
" [0.19636525],\n",
" [0.19521435],\n",
" [0.19406548],\n",
" [0.19291873],\n",
" [0.19177411],\n",
" [0.19063172],\n",
" [0.18949156],\n",
" [0.1883537 ],\n",
" [0.18721822],\n",
" [0.18608512],\n",
" [0.18495446],\n",
" [0.18382633],\n",
" [0.18270074],\n",
" [0.18157773],\n",
" [0.18045735],\n",
" [0.17933969],\n",
" [0.17822474],\n",
" [0.1771126 ],\n",
" [0.17600322],\n",
" [0.17489675],\n",
" [0.1737932 ],\n",
" [0.1726926 ],\n",
" [0.171595 ],\n",
" [0.17050044],\n",
" [0.16940898],\n",
" [0.16832061],\n",
" [0.16723545],\n",
" [0.16615348],\n",
" [0.16507475],\n",
" [0.1639993 ],\n",
" [0.16292715],\n",
" [0.16185841],\n",
" [0.16079307],\n",
" [0.15973112],\n",
" [0.15867266],\n",
" [0.15761772],\n",
" [0.15656632],\n",
" [0.15551849],\n",
" [0.15447426],\n",
" [0.15343371],\n",
" [0.15239681],\n",
" [0.15136363],\n",
" [0.15033418],\n",
" [0.14930847],\n",
" [0.1482866 ],\n",
" [0.14726858],\n",
" [0.14625439],\n",
" [0.14524409],\n",
" [0.14423771],\n",
" [0.1432353 ],\n",
" [0.14223683],\n",
" [0.14124238],\n",
" [0.14025195],\n",
" [0.13926555],\n",
" [0.13828322],\n",
" [0.137305 ]], dtype=float32)>)"
]
},
"metadata": {
"tags": []
},
"execution_count": 44
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "x-tA86i-l6-k",
"colab_type": "code",
"outputId": "26b17c9b-6c69-4ee4-b224-52d5fc55cf6d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
}
},
"source": [
"plt.plot(K.sigmoid(K.square(y_pred) - threshold).numpy().flatten())"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ffb1a99b630>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 45
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "rmDy4EU8meJX",
"colab_type": "code",
"outputId": "c9aa2889-bf5f-4040-dfa5-e6284cf95fe4",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 314
}
},
"source": [
"# Misses Non-diff vs Diff\n",
"\n",
"plt.plot(K.cast(tf.math.logical_and(K.greater(y_true, threshold), K.less(y_pred, threshold)), dtype='float32').numpy().flatten(), label='non-diff')\n",
"plt.plot(K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(-1*(K.square(y_pred) - threshold)), dtype='float32').numpy().flatten(), label='diff')\n",
"\n",
"plt.xlabel('y_pred [/10]')\n",
"plt.ylabel('Misses')\n",
"plt.title('Non-diff vs Diff Misses (threshold=1.5)')\n",
"plt.legend()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7ffb1a88f320>"
]
},
"metadata": {
"tags": []
},
"execution_count": 48
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "T6HMZ3yHwyCQ",
"colab_type": "code",
"outputId": "fc4be03d-6fe9-485f-cd98-9255412b5996",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 314
}
},
"source": [
"# Hits Non-diff vs Diff\n",
"\n",
"plt.plot(K.cast(tf.math.logical_and(K.greater(y_true, threshold), K.greater(y_pred, threshold)), dtype='float32').numpy().flatten(), label='non-diff')\n",
"plt.plot(K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32').numpy().flatten(), label='diff')\n",
"plt.xlabel('y_pred [/10]')\n",
"plt.ylabel('Misses')\n",
"plt.title('Non-diff vs Diff Misses (threshold=1.5)')\n",
"plt.legend()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7ffb292ceda0>"
]
},
"metadata": {
"tags": []
},
"execution_count": 16
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nEYiI5Lj/D1H9cKmi2iGYAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "cupRhVS81Yr0",
"colab_type": "code",
"outputId": "34ebc78a-4675-4027-fedf-f3b239d7955a",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 318
}
},
"source": [
"#POM\n",
"hits = K.cast(tf.math.logical_and(K.greater(y_true, threshold), K.greater(y_pred, threshold)), dtype='float32')\n",
"misses = K.cast(tf.math.logical_and(K.greater(y_true, threshold), K.less(y_pred, threshold)), dtype='float32')\n",
"plt.plot(misses.numpy().flatten() / (hits + misses).numpy().flatten())\n",
"\n",
"dhits = K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32')\n",
"dmisses = K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(-1*(K.square(y_pred) - threshold)), dtype='float32')\n",
"plt.plot(dmisses.numpy().flatten() / (dhits + dmisses).numpy().flatten())"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:3: RuntimeWarning: invalid value encountered in true_divide\n",
" This is separate from the ipykernel package so we can avoid doing imports until\n"
],
"name": "stderr"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ffb2f535d30>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 17
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "mgCUAKAw-BF-",
"colab_type": "code",
"outputId": "f3503a4f-1501-4053-f88b-cbe3a0ef8929",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 318
}
},
"source": [
"#POD\n",
"hits = K.cast(tf.math.logical_and(K.greater(y_true, threshold), K.greater(y_pred, threshold)), dtype='float32')\n",
"misses = K.cast(tf.math.logical_and(K.greater(y_true, threshold), K.less(y_pred, threshold)), dtype='float32')\n",
"plt.plot(hits.numpy().flatten() / (hits + misses).numpy().flatten())\n",
"\n",
"dhits = K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(K.square(y_pred) - threshold), dtype='float32')\n",
"dmisses = K.cast(K.sigmoid(K.square(y_true) - threshold) * K.sigmoid(-1*(K.square(y_pred) - threshold)), dtype='float32')\n",
"plt.plot(dhits.numpy().flatten() / (dhits + dmisses).numpy().flatten())"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:3: RuntimeWarning: invalid value encountered in true_divide\n",
" This is separate from the ipykernel package so we can avoid doing imports until\n"
],
"name": "stderr"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ffb29482630>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 18
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "4RmHxSfh1_49",
"colab_type": "code",
"outputId": "d005764a-196f-483c-efaf-48d75f7a50e2",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
}
},
"source": [
"#POFD\n",
"\n",
"f_alarms = K.cast(tf.math.logical_and(K.less(y_true, threshold), K.greater(y_pred, threshold)), dtype='float32')\n",
"true_neg = K.cast(tf.math.logical_and(K.less(y_true, threshold), K.less(y_pred, threshold)), dtype='float32')\n",
"#plt.plot(f_alarms.numpy().flatten() / (f_alarms + true_neg).numpy().flatten())\n",
"#plt.plot(f_alarms)\n",
"\n",
"\n",
"\n",
"\"\"\"\n",
"dtrue_neg = K.cast(K.sigmoid((-1 * y_true) - threshold) * K.sigmoid((-1 * y_pred) - threshold), dtype='float32')\n",
"df_alarms = K.cast(K.sigmoid((-1 * y_true) - threshold) * K.sigmoid(y_pred - threshold), dtype='float32')\n",
"plt.plot(df_alarms.numpy().flatten() / (df_alarms + dtrue_neg).numpy().flatten())\n",
"\"\"\"\n",
"plt.plot(true_neg.numpy().flatten())"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7ffb29164e80>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 19
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Yr4qFXLCqk1i",
"colab_type": "code",
"outputId": "8055b2d4-84f3-4533-9c0f-96b63db33864",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
}
},
"source": [
"plt.plot(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1 * y_pred) - threshold), dtype='float32').numpy().flatten())"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fe4c2ffa080>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 39
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nRK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Sh8jcg3rrhQP",
"colab_type": "code",
"outputId": "83082f31-f0ac-44a9-cff3-441fe01d4fd0",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
}
},
"source": [
"plt.plot(K.cast(K.less(y_pred, threshold), dtype='float32').numpy().flatten())"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f7e6fe0a550>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 53
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "71jn7kANmqX9",
"colab_type": "code",
"outputId": "eed7ded8-3f1d-4697-8d88-5882f6816533",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 284
}
},
"source": [
"plt.plot(np.square(K.cast(K.sigmoid(y_true - threshold), dtype='float32').numpy().flatten()))"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f7e7039fba8>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 41
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "jAplCQ622UUi",
"colab_type": "code",
"colab": {}
},
"source": [
"# ! Comment out MAE, so this should be purely the differentiable POD loss\n",
"def get_diff_pod_mae_loss_old(threshold):\n",
" def pod_mae(y_true, y_pred):\n",
" # Probability of detection = Misses / (Hits + Misses)\n",
" hits = K.sum(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32'))\n",
" misses = K.sum(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1 * y_pred) - threshold), dtype='float32'))\n",
" pod = hits / (hits + misses)\n",
" #mae = K.mean(K.abs(y_pred - y_true), axis=-1)\n",
" return pod #+ mae\n",
" return pod_mae\n",
"\n",
"def get_diff_pom_mae_loss_old(threshold):\n",
" def pom_mae(y_true, y_pred):\n",
" # Probability of missing = Misses / (Hits + Misses)\n",
" hits = K.sum(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid(y_pred - threshold), dtype='float32'))\n",
" misses = K.sum(K.cast(K.sigmoid(y_true - threshold) * K.sigmoid((-1 * y_pred) - threshold), dtype='float32'))\n",
" pom = misses / (hits + misses)\n",
" #mae = K.mean(K.abs(y_pred - y_true), axis=-1)\n",
" return pom #+ mae\n",
" return pom_mae"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "uRjI13hZ-v3g",
"colab_type": "code",
"colab": {}
},
"source": [
"threshold = 1.5\n",
"y_pred = tf.constant([[1.], [2.]])\n",
"y_true = tf.constant([[2.], [2.]])\n",
"\n",
"diff_pods = []\n",
"diff_poms = []\n",
"pods = []\n",
"for threshold in np.arange(-.1, 2.2, 0.1):\n",
" pod_loss = get_pod_loss(threshold=threshold)\n",
" diff_pod_loss = get_diff_pod_mae_loss_old(threshold=threshold)\n",
" diff_pom_loss = get_diff_pom_mae_loss_old(threshold=threshold)\n",
" diff_pods.append(diff_pod_loss(y_true, y_pred).numpy())\n",
" diff_poms.append(diff_pom_loss(y_true, y_pred).numpy())\n",
" pods.append(pod_loss(y_true, y_pred).numpy())"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "cSCxk5KU-_7T",
"colab_type": "code",
"outputId": "78329ff3-afe4-4687-f05d-3fee98df5e1d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 312
}
},
"source": [
"plt.plot(np.arange(-.1, 2.2, 0.1), diff_pods, label='pod differentiable')\n",
"plt.plot(np.arange(-.1, 2.2, 0.1), diff_poms, label='pom differentiable')\n",
"plt.plot(np.arange(-.1, 2.2, 0.1), pods, label='non-differentiable')\n",
"\n",
"plt.xlabel('Threshold')\n",
"plt.ylabel('POD')\n",
"plt.title('y_pred = [[1.], [2.]], y_true = [[2.], [2.]]')\n",
"plt.legend()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7ffb1a824e10>"
]
},
"metadata": {
"tags": []
},
"execution_count": 50
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "R5Zse6fa_G6T",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment