{
 "cells": [
  {
   "cell_type": "markdown",
   "source": [
    "# test the already trained model"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%% md\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "from keras.models import load_model\n",
    "from keras import backend as K\n",
    "from keras_contrib.layers.normalization.instancenormalization import InstanceNormalization\n",
    "import numpy as np\n",
    "K.clear_session()\n",
    "\n",
    "# load the already trained model\n",
    "test_model=load_model(r\"model_path\",\n",
    "                      custom_objects={'InstanceNormalization': InstanceNormalization})"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "import data_utils\n",
    "\n",
    "# 64ms, 128ms, 256ms\n",
    "choonse_time_bin=\"64ms\"\n",
    "data_set_dir=r\"\"\n",
    "\n",
    "# load and pre-process data (train and validate)\n",
    "(test_x, test_y, test_info)=data_utils.get_test_data(data_set_dir,choonse_time_bin)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "# use the model to predict\n",
    "test_predict_y=test_model.predict(test_x)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "import model_utils\n",
    "\n",
    "predict_class=np.argmax(test_predict_y,axis=1)\n",
    "real_class=np.argmax(test_y,axis=1)\n",
    "\n",
    "# output the: accuracy；precision；recall；f1_score\n",
    "model_utils.printMetrics(real_class, predict_class)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  }
 ],
 "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.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}