1717 DEFAULT_TEST_PERCENTAGE ,
1818 DEFAULT_TARGET_FOLDER ,
1919 DEFAULT_CHECKPOINT ,
20+ DEFAULT_EARLY_STOP_PAIENCE ,
21+ DEFAULT_EARLY_STOP_THRESHOLD
2022)
2123from utils .datatypes import Dimensions , FilePath
2224
@@ -37,6 +39,8 @@ class Arguments:
3739 "_target_folder" ,
3840 "_checkpoint" ,
3941 "_new_image_dim" ,
42+ "_es_patience" ,
43+ "_es_threshold"
4044 ]
4145
4246 def __init__ (self ):
@@ -54,6 +58,8 @@ def __init__(self):
5458 self ._target_folder = DEFAULT_TARGET_FOLDER
5559 self ._checkpoint = DEFAULT_CHECKPOINT
5660 self ._new_image_dim = DEFAULT_NEW_DIM
61+ self ._es_patience = DEFAULT_EARLY_STOP_PATIENCE
62+ self ._es_threshold = DEFAULT_EARLY_STOP_THRESHOLD
5763
5864 def parse (self , args : argparse .Namespace ):
5965 """Parse arguments from argparse"""
@@ -69,6 +75,8 @@ def parse(self, args: argparse.Namespace):
6975 self ._target_folder = args .target_folder
7076 self ._checkpoint = args .checkpoint
7177 self ._new_image_dim = args .new_image_dim
78+ self ._es_patience = args .es_patience
79+ self ._es_threshold = args .es_threshold
7280
7381 @property
7482 def epochs (self ) -> int :
@@ -189,6 +197,26 @@ def new_image_dim(self) -> Dimensions:
189197 def new_image_dim (self , value : Dimensions ):
190198 """Set new_image_dim data"""
191199 self ._new_image_dim = value
200+
201+ @property
202+ def es_patience (self ) -> int :
203+ """Get es_patience data"""
204+ return self ._es_patience # type: ignore
205+
206+ @es_patience .setter
207+ def es_patience (self , value : int ):
208+ """Set es_patience data"""
209+ self ._es_patience = value
210+
211+ @property
212+ def es_threshold (self ) -> float :
213+ """Get es_threshold data"""
214+ return self ._es_threshold # type: ignore
215+
216+ @es_threshold .setter
217+ def es_threshold (self , value : float ):
218+ """Set es_threshold data"""
219+ self ._es_threshold = value
192220
193221 def __str__ (self ) -> str :
194222 string = f"epochs: { self ._epochs } \n "
@@ -202,34 +230,39 @@ def __str__(self) -> str:
202230 string += f"amount circuits: { self ._amount_circuits } \n "
203231 string += f"target_folder: { self ._target_folder } \n "
204232 string += f"checkpoint: { self ._checkpoint } \n "
205- string += f"new image dim: { self ._new_image_dim } \n "
206-
207- return string
208-
209-
210- def parse_args () -> Arguments :
211- """
212- Use argparse to parse CLI arguments for all scripts
213- """
214-
215- parser = argparse .ArgumentParser ()
216- parser .add_argument ("--epochs" , type = int , default = DEFAULT_EPOCHS )
217- parser .add_argument ("--batch-size" , type = int , default = DEFAULT_BATCH_SIZE )
218- parser .add_argument ("--train-size" , type = float , default = DEFAULT_TRAIN_PERCENTAGE )
219- parser .add_argument ("--test-size" , type = float , default = DEFAULT_TEST_PERCENTAGE )
220- parser .add_argument ("--checkpoint" , type = str , default = DEFAULT_CHECKPOINT )
221-
222- parser .add_argument ("--threads" , type = int , default = DEFAULT_THREADS )
223-
224- parser .add_argument ("--shots" , type = int , default = DEFAULT_SHOTS )
225- parser .add_argument ("--n-qubits" , type = int , default = DEFAULT_NUM_QUBITS )
226- parser .add_argument ("--max-gates" , type = int , default = DEFAULT_MAX_TOTAL_GATES )
227-
228- parser .add_argument (
229- "--amount-circuits" , type = int , default = DEFAULT_AMOUNT_OF_CIRCUITS
230- )
231- parser .add_argument ("--target-folder" , type = str , default = DEFAULT_TARGET_FOLDER )
232- parser .add_argument ("--new-image-dim" , type = int , nargs = 2 , default = DEFAULT_NEW_DIM )
233+ string += f"new image dim: { self ._new_image_dim } \n "
234+ string += f"early stop patience: { self ._es_patience } \n "
235+ string += f"early stop threshold: { self ._es_threshold } \n "
236+
237+ return string
238+
239+
240+ def parse_args () -> Arguments :
241+ """
242+ Use argparse to parse CLI arguments for all scripts
243+ """
244+
245+ parser = argparse .ArgumentParser ()
246+ parser .add_argument ("--epochs" , type = int , default = DEFAULT_EPOCHS )
247+ parser .add_argument ("--batch-size" , type = int , default = DEFAULT_BATCH_SIZE )
248+ parser .add_argument ("--train-size" , type = float , default = DEFAULT_TRAIN_PERCENTAGE )
249+ parser .add_argument ("--test-size" , type = float , default = DEFAULT_TEST_PERCENTAGE )
250+ parser .add_argument ("--checkpoint" , type = str , default = DEFAULT_CHECKPOINT )
251+
252+ parser .add_argument ("--threads" , type = int , default = DEFAULT_THREADS )
253+
254+ parser .add_argument ("--shots" , type = int , default = DEFAULT_SHOTS )
255+ parser .add_argument ("--n-qubits" , type = int , default = DEFAULT_NUM_QUBITS )
256+ parser .add_argument ("--max-gates" , type = int , default = DEFAULT_MAX_TOTAL_GATES )
257+
258+ parser .add_argument (
259+ "--amount-circuits" , type = int , default = DEFAULT_AMOUNT_OF_CIRCUITS
260+ )
261+ parser .add_argument ("--target-folder" , type = str , default = DEFAULT_TARGET_FOLDER )
262+ parser .add_argument ("--new-image-dim" , type = int , nargs = 2 , default = DEFAULT_NEW_DIM )
263+
264+ parser .add_argument ("--es-patience" , type = int , default = DEFAULT_EARLY_STOP_PATIENCE )
265+ parser .add_argument ("--es-threshold" , type = float , default = DEFAULT_EARLY_STOP_THRESHOLD )
233266
234267 args = parser .parse_args (sys .argv [1 :])
235268
0 commit comments