{ "metadata": { "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.8.2" }, "orig_nbformat": 4, "kernelspec": { "name": "python3", "display_name": "Python 3.8.2 64-bit ('base': conda)" }, "interpreter": { "hash": "f4d5179fc222eb76bfd3dcff5bf88b43751287e77ddc0be170fe093e3076340e" } }, "nbformat": 4, "nbformat_minor": 2, "cells": [ { "source": [ "# Batch Prediction\n", "\n", "## 1. Download demo data\n", "\n", "```\n", "cd DeepDenoiser\n", "wget https://github.com/wayneweiqiang/PhaseNet/releases/download/test_data/test_data.zip\n", "unzip test_data.zip\n", "```\n", "\n", "## 2. Run batch prediction \n", "\n", "DeepDenoiser currently supports three data formats: numpy, and mseed\n", "\n", "- For numpy format:\n", "~~~bash\n", "python deepdenoiser/predict.py --model_dir=model/190614-104802 --data_list=test_data/npz.csv --data_dir=test_data/npz --format=numpy --save_signal --plot_figure\n", "~~~\n", "\n", "- For mseed format:\n", "~~~bash\n", "python deepdenoiser/predict.py --model_dir=model/190614-104802 --data_list=test_data/mseed.csv --data_dir=test_data/mseed --format=mseed --save_signal --plot_figure\n", "~~~\n", "\n", "\n", "Optional arguments:\n", "```\n", "usage: predict.py [-h] [--format FORMAT]\n", " [--batch_size BATCH_SIZE] [--output_dir OUTPUT_DIR]\n", " [--model_dir MODEL_DIR] [--sampling_rate SAMPLING_RATE]\n", " [--data_dir DATA_DIR] [--data_list DATA_LIST]\n", " [--plot_figure] [--save_signal] [--save_noise]\n", "\n", "optional arguments:\n", " -h, --help show this help message and exit\n", " --format FORMAT Input data format: numpy or mseed\n", " --batch_size BATCH_SIZE\n", " Batch size\n", " --output_dir OUTPUT_DIR\n", " Output directory (default: output)\n", " --model_dir MODEL_DIR\n", " Checkpoint directory (default: None)\n", " --sampling_rate SAMPLING_RATE\n", " sampling rate of pred data\n", " --data_dir DATA_DIR Input file directory\n", " --data_list DATA_LIST\n", " Input csv file\n", " --plot_figure If plot figure\n", " --save_signal If save denoised signal\n", " --save_noise If save denoised noise\n", "```" ], "cell_type": "markdown", "metadata": {} }, { "source": [ "## 3. Read denoised signals" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import os\n", "import glob\n", "PROJECT_ROOT = os.path.realpath(os.path.join(os.path.abspath(''), \"..\"))" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n 2021-07-18T21:09:27.874547\n image/svg+xml\n \n \n Matplotlib v3.3.2, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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tQ7ArWHttwL4GsEhn70AVgG4A0Bjp/0RAIuc+cUAnqliH0MRHD46OmybqQhecp0JYAGAXzptjwGYUen+5znrnhi+P6dtEYBHnPlkBI8kCp31swAsBHBlFX3+VaVllbfbBsAHzna2A7glrG1C2H5CU1j7AKc9fPrUaTsdwA/OdrMBLAPQN+y+PRE8witGcBhtbKU4P0fw/Fc+ghdp3FzDc/spgJGVnsv1NbTfDuCLSo/lHQgeLWUCeLBSW1Glx6CL269nTd6ejNSPDYpI/TmXhW8DcAwbdjGKSIiG9URExHNUnERExHM0rCciIp6jIycREfEcFScREfEcFScREfEcFScREfEcFScREfEcFScREfEcFScREfEcFScREfEcFScREfEcFScREfEcFScREfEcFScREfEcFScREfEcFScREfEcFScREfEcFScREfEcFScREfEcFScREfEc14qTmb1mZllmti5C21tsZrlm9u9q2qeaWWEk9iXiJcolSURuHjm9AeDKCG7vaQDDqmows74AWkVwXyJe8gaUS5JgXCtOJD8DsD98mZmd4nxq+9bMPjez/1eH7S0DUFB5uZk1QjDZHmxozCJepFySRHS02wFUMh3AKJJbzOw8AC8BuLSB27wbwHySu82swQGKxAnlksQ1zxQnM2sG4JcAZoe98Js4bf8DYGIVd8sg+esattkRwI0ABkQ0WBEPUy5JIvBMcUJwiDGX5NmVG0jOBTC3HtvsDaA7gB+dJG1qZj+S7N6QQEU8Trkkcc8zl5KTzAewzcxuBAALOquB21xAMolkMslkAMVKJkl0yiVJBG5eSv4vACsBnGpmO81sBIBbAYwwszUA1gO4tg7b+xzAbACXOdurdohCJJEolyQRGUm3YxAREanAM8N6IiIi5Vy5IKJdu3ZMTk52Y9cidfbtt9/uI3mC23FURbkk8aQuueRKcUpOTkZqaqobuxapMzP7ye0YqqNcknhSl1zSsJ6IiHiOilMMfPDBB5g1a5bbYYiIxA0VpxhYv3491q5d63YYIiJxQ8VJREQ8R8UpRkgiEAi4HYZIXNP/ZR45VJxiqFu3bm6HIBLXevTo4XYIEiMqTlHm9/vx8ccfw8zw00+evSJZJC6kp6fD7/frCOoIoOIUZcXFxfj8889DybRt2zaXIxKJb6NGjcK//13lL8hLAlFxirGhQ4e6HYJI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\n" }, "metadata": { "needs_background": "light" } }, { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n 2021-07-18T21:09:28.277177\n image/svg+xml\n \n \n Matplotlib v3.3.2, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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uy6OHcncIp0TattOPvlk3WeffZpEBttqboccckiT5V1QUFDntOvWrattPFpppGMHTaRL5thhBIn66lEyxsT+BfQSkZ4ikg2cCbwSk+YV4Bxx+DmwVVXTrivRW9w2lueeey7qeOjQof4KFrE8++yzSZervowePbpJ8r377rsbfO7BBx/s77/ySuzfA84+++waYd7bdry348bQvXt3wFlqy3srjyV2knxpaam/IksT0mJ0yTCai0YbMVWtAi4D3gSWAM+q6mIRuVhEvA9QvQZ8i+MWPBP4bWPLTRZz5szx970uq1dffTVquabWrVuz9957884773D66afTt29fcnNzG1ymN8epobz22mtRx54snuddYWEhubm5u1wJpL4cdthhvPjii1FhV199da3njBgxgpEjR0atiHLSSScBRH1/7IknnvD3H3roIQDeeOMNIPlGzFtHs1+/foTDYa6//voaaUSEoUOHMmnSJKDmKiBNQdB1yTBSQn2abc29NaQ7ceDAgXHD480n++tf/6qvv/66Ajp8+HA9//zzFZxVII477jg/TlW1uro6qvzIOUR//OMf/f1nnnmmRjkzZsxQwF/xoX///vXq8rrhhhv8/SuuuEKXLVsWFT9z5kxfzrPPPlsnTJigpaWlWllZGZXuxBNPbFTX28cff6xbtmyJCkt0L37/+9/78aqqS5curXHOE088USPspptuUlXVDh066FtvvaWA/uIXv0hqF+Lw4cMV0A8//FALCgqi6nDAAQcoOKuwnH/++f69rgvYih2G0Wjqq0eBXbEj0ZtxvLfqa665xvegikRVadeuHQMGDODxxx/nyiuvBKBdu3b+wLXX3RQ7IOmtM5idnR1VpnMPovE+1ujJXN9V1H/5y1/6+zfeeCO9e/eOmlt25JFH+qtdPPnkk1x33XXk5+cTCoXo1asXmZmZrFixImH+RUVFdZYl0XU/5JBDAGe9yJ07d3LjjTdGxXueaN4ajAMHDqR9+/b+PDGAkSNH+uetXbuWvn37Mnr0aL8ldsYZZwBQUFBAXl4egN9Sqg8dO3akY8eO9OnTx79fw4cPJyMjgzPOOIMxY8YwYcIEv/u0OVphhmE0jMBqZ2QXk/fhQ4A99tijRtqhQ4cm/DrxoEGD+OKLL+jUqRM5OTnss88+FBUVUVlZSVZWlu/2mojI+NGjR9cwYscdd1yNc9q0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\n" }, "metadata": { "needs_background": "light" } }, { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n 2021-07-18T21:09:28.681996\n image/svg+xml\n \n \n Matplotlib v3.3.2, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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N9XEiRODLcfaWpBe3U1VWlrKXXfdxV//+ldPjl+flq5LrdXw4cOZPHky69ev56qrruLEE09k2rRp5ObmBt+zBQUFjerpMC1MVZs1APHAVqAPkARkAWfWt83AgQO1PjNnztTc3Fx944039Le//a0CCujAgQN1x44dCug555yjv/jFL4LLBgwYoAcPHtQhQ4YooP369VNA58yZo1lZWQpo9+7dg+sXFxerqur27duDx83MzFRV1cLCwhrL1q1bp9nZ2TViraioCI7v2bNHf/jhB500aZKuW7dOMzMzg8driUFEdOjQoVXmDRkyRDMyMvS8887Tn3/+WdPT0zU7O1v37Nmj8+fP10AgoEVFRVpRUaGBQEBHjRqlRUVFOnbsWD169Kg+8MADmpycrJ9//rlu3bpVAR03bpwOGjRIBwwYoLfccosC2qFDh2DZc3Nzg+ca0LffflvLyspqxLtgwQLt3bu3zps3T1VVe/TooWPHjtWDBw/qjh07tKCgIHguV61apfn5+cHpoqKiOt8vixcv1jlz5gSnFy5cqMXFxTps2DAtLy/XQCCg48eP19WrV+vkyZO1S5cuVeKaOHFive9HIEObWU8aMrREXYol4agz1V97QO+55x5dvXq1nnPOOfrqq6/qhAkT9IUXXtD3339fP/nkk+B7yDRfY+qSaDM/vYrIxcB4VR3sTo8BUNWJdW2Tnp6uGRkZtS5bvHgx11xzTbNiao6UlBTy8vK46aabgk85/stf/sKECROC64waNYoZM2Z4FGH9Km+hjZQzzjiDTZs2NXq7jRs30r9//xrzr7vuOhYuXAhAampqjVbuiy++yLx58/j888+bFG9d6qsHIpKpqul1rhAm4a5LP/74I4FAgISEhOB7QkRqHcBpUcbHxxMIBKqcj7rOjYiQkOB8jz/0O0iV+wsEAiQmJpKYmEhpaSlxcXGUl5dTWFgYnB8IBKioqAget3379sTHx1NSUkJhYSHx8fFUVFTw4osvMn369EaczeYbNGgQS5YsoV+/fmzZsgWAtm3bctZZZ7F161YeeOABCgoKOOWUU1i1ahVnnnkmgwYN4rXXXqO4uJi///3vLFu2jNmzZzNo0CAeeeQRxo8fz5o1awC45pprSE1NJTExkTZt2nD06FGysrL45ptvGD58OJ999hnXX389OTk5rF+/nsGDBxMIBHj33Xe56KKL6NKlCz169GDbtm18/fXXdO3alX79+iEitGnThm7dulFWVsb27dtp164dO3fupH379pSVlXHuueeSkpLCunXr2LZtGz179mT//v1kZ2dz4YUXkpSUxL59+9i1axdXXnklu3fv5vzzz6eoqIj9+/dTVFTE7t276d+/P0uXLqVz587s3LmTxx9/PPieqE1j6lI4ktOvgKtV9Q53egRwkareX229u4C7AHr37j0wtBsu1CuvvMK9997brJhM7Lvxxhsb/B2yY5k0aRKjR4+uc3kEk1NY69L7779PQUEB5eXlxMU5Pfh1fUoFSEpKoqKigri4OOLi4oLzK7etrjKxqCoJCQlV1lNVRISysjIqKipITEykoqKChIQERIS2bdvy7bffkpKSEkxScXFxlJSUsH//fnr37s3Ro0cpLS0lKSmJCRMm+Ob7fz179mTXrl31rpOenk5GRkaVD2+XXHIJK1asYODAgXTs2JFPP/201m0TExMpKyvj9NNPp1OnTnTv3h1V5cMPP6Rr1648++yzvPXWW8F1RYTLL7+c8vJyysrK2LlzJ2lpaZSWlrJ79266dOmCqtKnTx9yc3Pp27cvxcXFfPzxx1x99dXk5+eTk5ND37592bVrF3v27CEpKYmSkhJ69uzJihUrOPvss8nJyWHFihW0a9eO8vJyBg8ezPz58xk5ciR79+7lnHPOYezYsSQnJ9d5XhpVlxraxKrnTf1r4I2Q6RHA1Pq2qa8rYs+ePcHm9mmnnaaAPv744/rcc8/p8OHDFdCDBw9q165da222V3Y7hQ633357lek+ffro2LFjNSsrS/Pz87W8vFynTJmixcXFWlZWpvn5+bphwwYNBAJaWloa7AJTVX3nnXd00aJFunr1at23b5/OmjVL8/PzdeLEifr888/r2rVrdcyYMVpYWKidO3fW2bNnt2jXXuXw2GOPKaAPPfSQXn/99QrolClTgt0WK1eu1IyMDP3iiy9027ZtCuisWbMU0BEjRuj06dN10qRJOnr0aB03bpzeeuutetppp2lBQYECescdd+gTTzxR5/HT0tIU0G7duum1116rvXv3rrFOYmJileni4mI9evSoqqqOHj06+B7YtGmTrl27Vr/++usq743i4mI9cuRIsEs2NzdXA4GAVlRU6MaNG/XVV1/VnJwcLSkp0Y4dO+qSJUv0pptuqjPm008/XR9+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\n" }, "metadata": { "needs_background": "light" } }, { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n 2021-07-18T21:09:29.054022\n image/svg+xml\n \n \n Matplotlib v3.3.2, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "plt.close(\"all\")\n", "for i, fp in enumerate(sorted(glob.glob(os.path.join(PROJECT_ROOT, \"output/results/*npz\")))):\n", " signal = np.load(fp)[\"data\"][5000:8000,-1,-1]\n", " raw_signal = np.load(os.path.join(PROJECT_ROOT, \"test_data/npz/\", fp.split(\"/\")[-1]))[\"data\"][5000:8000,-1]\n", " plt.figure(figsize=(6,2))\n", " plt.subplot(121)\n", " plt.plot(raw_signal, 'k', linewidth=0.5)\n", " ylim = plt.ylim()\n", " plt.subplot(122)\n", " plt.plot(signal, 'k', linewidth=0.5)\n", " plt.ylim(ylim)\n", " plt.suptitle(fp.split(\"/\")[-1])\n", " plt.tight_layout()\n", " plt.show()\n", " if i >= 3:\n", " break\n", " " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ] }