@@ -77,7 +77,7 @@ class ExperimentInProgressWindow(QMainWindow):
7777 new_generation = pyqtSignal ()
7878 simulation_finished = pyqtSignal ()
7979
80- def __init__ (self , parent , parent_signal , chart_params ):
80+ def __init__ (self , parent , parent_signal , chart_params , from_gen , to_gen ):
8181 QMainWindow .__init__ (self , parent )
8282 self ._autogenerated_object = Ui_ExperimentInProgressWindow ()
8383 self ._autogenerated_object .setupUi (self )
@@ -96,9 +96,13 @@ def __init__(self, parent, parent_signal, chart_params):
9696 # Signal to be emited when the experiment finished
9797 self ._parent_signal = parent_signal
9898
99+ # Original from and to generation
100+ self ._from_gen = from_gen + 1
101+ self ._to_gen = to_gen
102+
99103 # Individuals Graph data
100104 self ._chart_params = chart_params
101- self ._current_generation = 1
105+ self ._current_generation = from_gen
102106
103107 # Condition variable used to check when the experiment has been stopped or cancelled
104108 self ._experiment_condition = ExperimentCondition ()
@@ -138,8 +142,8 @@ def _update_dialog(self, indivs_per_gen_counter, total_indivs_counter, gen_count
138142 gen_progress_bar .setValue (int (float (total_indivs_counter ) / self ._total_indivs * 100 ))
139143 gen_progress_bar .valueChanged .emit (int (float (total_indivs_counter ) / self ._total_indivs * 100 ))
140144
141- self ._current_generation = gen_counter + 1
142- gen_label .setText ("<b>Generation {0}/{1}</b>" .format (gen_counter + 1 , self ._amount_gens ))
145+ self ._current_generation = self . _from_gen + gen_counter
146+ gen_label .setText ("<b>Generation {0}/{1}</b>" .format (self . _current_generation , self ._to_gen ))
143147 indiv_label .setText ("<b>Individual {0}/{1}</b>" .format (indivs_per_gen_counter , self ._indivs_per_gen ))
144148 self ._update_current_gen_experiment (indivs_per_gen_counter , cost )
145149
@@ -162,7 +166,7 @@ def _create_new_chart(self):
162166 # Insert the widget into the widget
163167 picture_layout = self ._autogenerated_object .picture_layout
164168
165- chart_title = 'Generation {0} - Cost Per Individual' .format (self ._current_generation )
169+ chart_title = 'Generation {0} - Cost Per Individual' .format (self ._current_generation + 1 )
166170 chart_font = QFont ()
167171 chart_font .setWeight (QFont .ExtraBold )
168172 indiv_chart = QtChartWrapper (show_legend = True )
@@ -212,7 +216,12 @@ def __init__(self, mlc_local, experiment_name,
212216 self ._experiment_name = experiment_name
213217 self ._experiment_info = self ._mlc_local .get_experiment_info (experiment_name )
214218 self ._to_gen = to_gen
215- self ._from_gen = from_gen - 1
219+
220+ # If the experiment was not evaluated yet, use from_gen as 0
221+ self ._from_gen = 0
222+ if self ._experiment_info ["generations" ] != 0 :
223+ self ._from_gen = from_gen
224+
216225 self ._log_prefix = '[EXPERIMENT_IN_PROGRESS]'
217226 self ._callbacks = {MLC_CALLBACKS .ON_START : self .simulation_started ,
218227 MLC_CALLBACKS .ON_NEW_GENERATION : self .new_generation_created ,
@@ -223,13 +232,16 @@ def __init__(self, mlc_local, experiment_name,
223232 self ._indiv_per_gen_counter = 0
224233 self ._total_indivs_counter = 0
225234 self ._gen_counter = 0
226- self ._amount_gens = to_gen - from_gen + 1
235+ self ._amount_gens = to_gen - from_gen
227236 self ._indivs_per_gen = int (self ._experiment_info ["individuals_per_generation" ])
228237 self ._experiment_signal = None
229238
230239 self ._dialog = ExperimentInProgressWindow (parent = parent ,
231240 parent_signal = parent_signal ,
232- chart_params = chart_params )
241+ chart_params = chart_params ,
242+ from_gen = from_gen ,
243+ to_gen = to_gen )
244+
233245 self ._experiment_condition = self ._dialog .get_experiment_condition_variable ()
234246 self ._dialog .add_experiment_data (self ._amount_gens , self ._indivs_per_gen )
235247 self ._dialog .show ()
0 commit comments