


<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    
    
    <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
    <title>Coverage for marvin_image_classification_engine/model_serializer.py: 45%</title>
    <link rel="stylesheet" href="style.css" type="text/css">
    
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript" src="jquery.hotkeys.js"></script>
    <script type="text/javascript" src="jquery.isonscreen.js"></script>
    <script type="text/javascript" src="coverage_html.js"></script>
    <script type="text/javascript">
        jQuery(document).ready(coverage.pyfile_ready);
    </script>
</head>
<body class="pyfile">

<div id="header">
    <div class="content">
        <h1>Coverage for <b>marvin_image_classification_engine/model_serializer.py</b> :
            <span class="pc_cov">45%</span>
        </h1>

        <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />

        <h2 class="stats">
            11 statements &nbsp;
            <span class="run hide_run shortkey_r button_toggle_run">5 run</span>
            <span class="mis shortkey_m button_toggle_mis">6 missing</span>
            <span class="exc shortkey_x button_toggle_exc">0 excluded</span>

            
        </h2>
    </div>
</div>

<div class="help_panel">
    <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
    <p class="legend">Hot-keys on this page</p>
    <div>
    <p class="keyhelp">
        <span class="key">r</span>
        <span class="key">m</span>
        <span class="key">x</span>
        <span class="key">p</span> &nbsp; toggle line displays
    </p>
    <p class="keyhelp">
        <span class="key">j</span>
        <span class="key">k</span> &nbsp; next/prev highlighted chunk
    </p>
    <p class="keyhelp">
        <span class="key">0</span> &nbsp; (zero) top of page
    </p>
    <p class="keyhelp">
        <span class="key">1</span> &nbsp; (one) first highlighted chunk
    </p>
    </div>
</div>

<div id="source">
    <table>
        <tr>
            <td class="linenos">
<p id="n1" class="stm run hide_run"><a href="#n1">1</a></p>
<p id="n2" class="stm run hide_run"><a href="#n2">2</a></p>
<p id="n3" class="pln"><a href="#n3">3</a></p>
<p id="n4" class="pln"><a href="#n4">4</a></p>
<p id="n5" class="stm run hide_run"><a href="#n5">5</a></p>
<p id="n6" class="pln"><a href="#n6">6</a></p>
<p id="n7" class="stm run hide_run"><a href="#n7">7</a></p>
<p id="n8" class="stm mis"><a href="#n8">8</a></p>
<p id="n9" class="stm mis"><a href="#n9">9</a></p>
<p id="n10" class="pln"><a href="#n10">10</a></p>
<p id="n11" class="stm mis"><a href="#n11">11</a></p>
<p id="n12" class="pln"><a href="#n12">12</a></p>
<p id="n13" class="stm run hide_run"><a href="#n13">13</a></p>
<p id="n14" class="stm mis"><a href="#n14">14</a></p>
<p id="n15" class="stm mis"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="stm mis"><a href="#n17">17</a></p>

            </td>
            <td class="text">
<p id="t1" class="stm run hide_run"><span class="key">import</span> <span class="nam">os</span><span class="strut">&nbsp;</span></p>
<p id="t2" class="stm run hide_run"><span class="key">from</span> <span class="nam">keras</span><span class="op">.</span><span class="nam">models</span> <span class="key">import</span> <span class="nam">load_model</span><span class="strut">&nbsp;</span></p>
<p id="t3" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t4" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t5" class="stm run hide_run"><span class="key">class</span> <span class="nam">ModelSerializer</span><span class="op">(</span><span class="nam">object</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t6" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t7" class="stm run hide_run">    <span class="key">def</span> <span class="nam">_serializer_load</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">object_file_path</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t8" class="stm mis">        <span class="key">if</span> <span class="nam">object_file_path</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">sep</span><span class="op">)</span><span class="op">[</span><span class="op">-</span><span class="num">1</span><span class="op">]</span> <span class="op">==</span> <span class="str">'model'</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t9" class="stm mis">            <span class="key">return</span> <span class="nam">load_model</span><span class="op">(</span><span class="nam">object_file_path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t10" class="pln">        <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t11" class="stm mis">            <span class="key">return</span> <span class="nam">super</span><span class="op">(</span><span class="nam">ModelSerializer</span><span class="op">,</span> <span class="nam">self</span><span class="op">)</span><span class="op">.</span><span class="nam">_serializer_load</span><span class="op">(</span><span class="nam">object_file_path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t12" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t13" class="stm run hide_run">    <span class="key">def</span> <span class="nam">_serializer_dump</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">obj</span><span class="op">,</span> <span class="nam">object_file_path</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t14" class="stm mis">        <span class="key">if</span> <span class="nam">object_file_path</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">sep</span><span class="op">)</span><span class="op">[</span><span class="op">-</span><span class="num">1</span><span class="op">]</span> <span class="op">==</span> <span class="str">'model'</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t15" class="stm mis">            <span class="nam">obj</span><span class="op">.</span><span class="nam">save</span><span class="op">(</span><span class="nam">object_file_path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln">        <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="stm mis">            <span class="nam">super</span><span class="op">(</span><span class="nam">ModelSerializer</span><span class="op">,</span> <span class="nam">self</span><span class="op">)</span><span class="op">.</span><span class="nam">_serializer_dump</span><span class="op">(</span><span class="nam">obj</span><span class="op">,</span> <span class="nam">object_file_path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>

            </td>
        </tr>
    </table>
</div>

<div id="footer">
    <div class="content">
        <p>
            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.1</a>,
            created at 2018-06-27 11:32
        </p>
    </div>
</div>

</body>
</html>
