Parcourir la source

Fix issue into basic checkpoint

Jérôme BUISINE il y a 3 ans
Parent
commit
9f3aca158a

+ 1 - 1
.github/workflows/python-app.yml

@@ -15,7 +15,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        python-version: [3.5, 3.6, 3.7, 3.8]
+        python-version: [3.6, 3.7, 3.8]
 
     steps:
     - uses: actions/checkout@v2

BIN
docs/build/doctrees/environment.pickle


+ 10 - 18
docs/build/html/_modules/macop/callbacks/BasicCheckpoint.html

@@ -188,9 +188,9 @@
             <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Checkpoint is done into &quot;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span><span class="p">)</span>
 
             <span class="n">solutionData</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-            <span class="n">solutionSize</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">solution</span><span class="o">.</span><span class="n">data</span><span class="p">)</span>
+            <span class="n">solutionSize</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">solution</span><span class="o">.</span><span class="n">_data</span><span class="p">)</span>
 
-            <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">val</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">solution</span><span class="o">.</span><span class="n">data</span><span class="p">):</span>
+            <span class="k">for</span> <span class="n">index</span><span class="p">,</span> <span class="n">val</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">solution</span><span class="o">.</span><span class="n">_data</span><span class="p">):</span>
                 <span class="n">solutionData</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
 
                 <span class="k">if</span> <span class="n">index</span> <span class="o">&lt;</span> <span class="n">solutionSize</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>
@@ -224,7 +224,7 @@
                 <span class="n">globalEvaluation</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
 
                 <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">getParent</span><span class="p">()</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">getParent</span><span class="p">()</span><span class="o">.</span><span class="n">numberOfEvaluations</span> <span class="o">=</span> <span class="n">globalEvaluation</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">getParent</span><span class="p">()</span><span class="o">.</span><span class="n">_numberOfEvaluations</span> <span class="o">=</span> <span class="n">globalEvaluation</span>
                 <span class="k">else</span><span class="p">:</span>
                     <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_numberOfEvaluations</span> <span class="o">=</span> <span class="n">globalEvaluation</span>
 
@@ -232,27 +232,19 @@
                 <span class="n">solutionData</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="nb">int</span><span class="p">,</span> <span class="n">data</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39; &#39;</span><span class="p">)))</span>
 
                 <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_bestSolution</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_bestSolution</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">initializer</span><span class="p">()</span>
+                    <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_bestSolution</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_initializer</span><span class="p">()</span>
 
-                <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_bestSolution</span><span class="o">.</span><span class="n">data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">solutionData</span><span class="p">)</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_bestSolution</span><span class="o">.</span><span class="n">score</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_bestSolution</span><span class="o">.</span><span class="n">_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">solutionData</span><span class="p">)</span>
+                <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_bestSolution</span><span class="o">.</span><span class="n">_score</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
 
             <span class="nb">print</span><span class="p">(</span><span class="n">macop_line</span><span class="p">())</span>
-            <span class="nb">print</span><span class="p">(</span>
-                <span class="n">macop_text</span><span class="p">(</span><span class="s1">&#39;Checkpoint found from `</span><span class="si">{}</span><span class="s1">` file.&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span><span class="p">)))</span>
+            <span class="nb">print</span><span class="p">(</span><span class="n">macop_text</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;Checkpoint found from `</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_filepath</span><span class="si">}</span><span class="s1">` file.&#39;</span><span class="p">))</span>
 
-            <span class="nb">print</span><span class="p">(</span>
-                <span class="n">macop_text</span><span class="p">(</span><span class="s1">&#39;Restart algorithm from evaluation </span><span class="si">{}</span><span class="s1">.&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
-                    <span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_numberOfEvaluations</span><span class="p">)))</span>
+            <span class="nb">print</span><span class="p">(</span><span class="n">macop_text</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;Restart algorithm from evaluation </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_algo</span><span class="o">.</span><span class="n">_numberOfEvaluations</span><span class="si">}</span><span class="s1">.&#39;</span><span class="p">))</span>
 
         <span class="k">else</span><span class="p">:</span>
-            <span class="nb">print</span><span class="p">(</span>
-                <span class="n">macop_text</span><span class="p">(</span>
-                    <span class="s1">&#39;No backup found... Start running algorithm from evaluation 0.&#39;</span>
-                <span class="p">))</span>
-            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span>
-                <span class="s2">&quot;Can&#39;t load backup... Backup filepath not valid in Checkpoint&quot;</span><span class="p">)</span>
+            <span class="nb">print</span><span class="p">(</span><span class="n">macop_text</span><span class="p">(</span><span class="s1">&#39;No backup found... Start running algorithm from evaluation 0.&#39;</span><span class="p">))</span>
+            <span class="n">logging</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;Can&#39;t load backup... Backup filepath not valid in Checkpoint&quot;</span><span class="p">)</span>
 
         <span class="nb">print</span><span class="p">(</span><span class="n">macop_line</span><span class="p">())</span></div></div>
 </pre></div>

+ 10 - 18
macop/callbacks/BasicCheckpoint.py

@@ -35,9 +35,9 @@ class BasicCheckpoint(Callback):
             logging.info("Checkpoint is done into " + self._filepath)
 
             solutionData = ""
-            solutionSize = len(solution.data)
+            solutionSize = len(solution._data)
 
-            for index, val in enumerate(solution.data):
+            for index, val in enumerate(solution._data):
                 solutionData += str(val)
 
                 if index < solutionSize - 1:
@@ -71,7 +71,7 @@ class BasicCheckpoint(Callback):
                 globalEvaluation = int(data[0])
 
                 if self._algo.getParent() is not None:
-                    self._algo.getParent().numberOfEvaluations = globalEvaluation
+                    self._algo.getParent()._numberOfEvaluations = globalEvaluation
                 else:
                     self._algo._numberOfEvaluations = globalEvaluation
 
@@ -79,26 +79,18 @@ class BasicCheckpoint(Callback):
                 solutionData = list(map(int, data[1].split(' ')))
 
                 if self._algo._bestSolution is None:
-                    self._algo._bestSolution = self._algo.initializer()
+                    self._algo._bestSolution = self._algo._initializer()
 
-                self._algo._bestSolution.data = np.array(solutionData)
-                self._algo._bestSolution.score = float(data[2])
+                self._algo._bestSolution._data = np.array(solutionData)
+                self._algo._bestSolution._score = float(data[2])
 
             print(macop_line())
-            print(
-                macop_text('Checkpoint found from `{}` file.'.format(
-                    self._filepath)))
+            print(macop_text(f'Checkpoint found from `{self._filepath}` file.'))
 
-            print(
-                macop_text('Restart algorithm from evaluation {}.'.format(
-                    self._algo._numberOfEvaluations)))
+            print(macop_text(f'Restart algorithm from evaluation {self._algo._numberOfEvaluations}.'))
 
         else:
-            print(
-                macop_text(
-                    'No backup found... Start running algorithm from evaluation 0.'
-                ))
-            logging.info(
-                "Can't load backup... Backup filepath not valid in Checkpoint")
+            print(macop_text('No backup found... Start running algorithm from evaluation 0.'))
+            logging.info("Can't load backup... Backup filepath not valid in Checkpoint")
 
         print(macop_line())