@@ -140,10 +140,8 @@ def get_parser_arguments(parser):
140140 default = [],
141141 )
142142 parser .add_argument (
143- "--debug" ,
144- help = "If given, allow debugging" ,
145- default = False ,
146- action = "store_true" )
143+ "--debug" , help = "If given, allow debugging" , default = False , action = "store_true"
144+ )
147145 parser .add_argument (
148146 "--quiet" ,
149147 help = "If given, don't display update info" ,
@@ -248,16 +246,15 @@ def copy(self, source, destination, symlink, ignore, debug, quiet, sync):
248246 workspaces = self .api .get_workspaces ()
249247 if workspace_dst not in workspaces :
250248 raise Exception (
251- f"{ workspace_dst } does not exist; use the Comet UI to create it" )
249+ f"{ workspace_dst } does not exist; use the Comet UI to create it"
250+ )
252251
253252 if project_src == "panels" :
254253 # experiment_src may be "*" or filename
255254 for filename in glob .glob (
256255 os .path .join (workspace_src , project_src , experiment_src )
257256 ):
258- print (
259- "Uploading panel zip: %r to %r..." %
260- (filename , workspace_dst ))
257+ print ("Uploading panel zip: %r to %r..." % (filename , workspace_dst ))
261258 self .api .upload_panel_zip (workspace_dst , filename )
262259 return
263260
@@ -298,12 +295,13 @@ def copy(self, source, destination, symlink, ignore, debug, quiet, sync):
298295
299296 if symlink :
300297 print (
301- f"Creating symlink from { workspace_src } /{ project_src } /{ experiment_src } to { workspace_dst } /{ temp_project_dst } " )
298+ f"Creating symlink from { workspace_src } /{ project_src } /{ experiment_src } to { workspace_dst } /{ temp_project_dst } "
299+ )
302300 experiment = APIExperiment (previous_experiment = experiment_src )
303301 experiment .create_symlink (temp_project_dst )
304302 print (
305- f" New symlink created: {
306- self . api . _get_url_server () } / { workspace_dst } / { temp_project_dst } / { experiment_src } " )
303+ f" New symlink created: { self . api . _get_url_server () } / { workspace_dst } / { temp_project_dst } / { experiment_src } "
304+ )
307305 elif "experiments" not in self .ignore :
308306 self .copy_experiment_to (
309307 experiment_folder , workspace_dst , temp_project_dst
@@ -362,25 +360,16 @@ def filtered_method(message):
362360 )
363361 return experiment
364362
365- def get_experiment_folders (
366- self ,
367- workspace_src ,
368- project_src ,
369- experiment_src ):
370- for path in glob .iglob (
371- f"{ workspace_src } /{ project_src } /{ experiment_src } " ):
372- if any ([path .endswith ("~" ),
373- path .endswith (".json" ),
374- path .endswith (".jsonl" )]):
363+ def get_experiment_folders (self , workspace_src , project_src , experiment_src ):
364+ for path in glob .iglob (f"{ workspace_src } /{ project_src } /{ experiment_src } " ):
365+ if any (
366+ [path .endswith ("~" ), path .endswith (".json" ), path .endswith (".jsonl" )]
367+ ):
375368 continue
376369 else :
377370 yield path
378371
379- def copy_experiment_to (
380- self ,
381- experiment_folder ,
382- workspace_dst ,
383- project_dst ):
372+ def copy_experiment_to (self , experiment_folder , workspace_dst , project_dst ):
384373 title = experiment_folder
385374 experiment_name = None
386375 # See if there is a name:
@@ -393,8 +382,8 @@ def copy_experiment_to(
393382 if others_json ["name" ] == "Name" :
394383 experiment_name = others_json ["valueCurrent" ]
395384 title = (
396- f"{ experiment_folder } (\" {
397- others_json [ 'valueCurrent' ] } \" )" )
385+ f"{ experiment_folder } (\" { others_json [ 'valueCurrent' ] } \" )"
386+ )
398387 break
399388 line = fp .readline ()
400389 print (f"Copying from { title } to { workspace_dst } /{ project_dst } ..." )
@@ -440,9 +429,8 @@ def copy_experiment_to(
440429 experiment .end ()
441430
442431 print (
443- f"Uploading {
444- experiment .offline_directory } /{
445- experiment ._get_offline_archive_file_name ()} " )
432+ f"Uploading { experiment .offline_directory } /{ experiment ._get_offline_archive_file_name ()} "
433+ )
446434 url = upload_single_offline_experiment (
447435 offline_archive_path = os .path .join (
448436 experiment .offline_directory ,
@@ -576,13 +564,8 @@ def update_datagrid_contents(
576564 asset_map [old_asset_id ] = result ["assetId" ]
577565
578566 def _log_asset (
579- self ,
580- experiment ,
581- path ,
582- asset_type ,
583- log_filename ,
584- assets_metadata ,
585- asset_map ):
567+ self , experiment , path , asset_type , log_filename , assets_metadata , asset_map
568+ ):
586569 log_as_filename = assets_metadata [log_filename ].get (
587570 "logAsFileName" ,
588571 None ,
@@ -738,12 +721,8 @@ def log_assets(self, experiment, path, assets_metadata):
738721 asset_map = {}
739722 # Process all of the non-nested assets first:
740723 for log_filename in assets_metadata :
741- asset_type = assets_metadata [log_filename ].get (
742- "type" , "asset" ) or "asset"
743- if asset_type not in [
744- "confusion-matrix" ,
745- "embeddings" ,
746- "datagrid" ]:
724+ asset_type = assets_metadata [log_filename ].get ("type" , "asset" ) or "asset"
725+ if asset_type not in ["confusion-matrix" , "embeddings" , "datagrid" ]:
747726 if (
748727 "remote" in assets_metadata [log_filename ]
749728 and assets_metadata [log_filename ]["remote" ]
@@ -766,8 +745,7 @@ def log_assets(self, experiment, path, assets_metadata):
766745 )
767746 # Process all nested assets:
768747 for log_filename in assets_metadata :
769- asset_type = assets_metadata [log_filename ].get (
770- "type" , "asset" ) or "asset"
748+ asset_type = assets_metadata [log_filename ].get ("type" , "asset" ) or "asset"
771749 if asset_type in ["confusion-matrix" , "embeddings" , "datagrid" ]:
772750 self ._log_asset (
773751 experiment ,
@@ -797,8 +775,7 @@ def log_requirements(self, experiment, filename):
797775 with experiment .context_manager ("ignore" ):
798776 print ("log_requirements..." )
799777 if os .path .exists (filename ):
800- installed_packages_list = [package .strip ()
801- for package in open (filename )]
778+ installed_packages_list = [package .strip () for package in open (filename )]
802779 if installed_packages_list is None :
803780 return
804781 message = InstalledPackagesMessage (
@@ -843,9 +820,11 @@ def log_metrics_split(self, experiment, folder):
843820 for line in open (summary_filename ):
844821 metric_summary = json .loads (line )
845822 self .log_metrics (
846- experiment , os .path .join (
847- folder , "metrics" , "metric_%05d.jsonl" %
848- metric_summary ["count" ]), )
823+ experiment ,
824+ os .path .join (
825+ folder , "metrics" , "metric_%05d.jsonl" % metric_summary ["count" ]
826+ ),
827+ )
849828
850829 def _prepare_parameter_value (self , value ):
851830 if isinstance (value , list ):
@@ -866,8 +845,7 @@ def log_parameters(self, experiment, filename):
866845 )
867846 for parameter in parameters
868847 }
869- experiment .log_parameters (
870- parameter_dictionary , nested_support = True )
848+ experiment .log_parameters (parameter_dictionary , nested_support = True )
871849
872850 def log_others (self , experiment , filename ):
873851 """ """
@@ -966,11 +944,7 @@ def log_all(self, experiment, experiment_folder):
966944 )
967945
968946 if "others" not in self .ignore :
969- self .log_others (
970- experiment ,
971- os .path .join (
972- experiment_folder ,
973- "others.jsonl" ))
947+ self .log_others (experiment , os .path .join (experiment_folder , "others.jsonl" ))
974948
975949 if "assets" not in self .ignore :
976950 assets_metadata_filename = os .path .join (
@@ -995,22 +969,17 @@ def log_all(self, experiment, experiment_folder):
995969
996970 if "requirements" not in self .ignore :
997971 self .log_requirements (
998- experiment ,
999- os .path .join (
1000- experiment_folder ,
1001- "run/requirements.txt" ))
972+ experiment , os .path .join (experiment_folder , "run/requirements.txt" )
973+ )
1002974
1003975 if "model-graph" not in self .ignore :
1004976 self .log_graph (
1005- experiment ,
1006- os .path .join (
1007- experiment_folder ,
1008- "run/graph_definition.txt" ))
977+ experiment , os .path .join (experiment_folder , "run/graph_definition.txt" )
978+ )
1009979
1010980 if "html" not in self .ignore :
1011981 # NOTE: also logged as html asset
1012- html_filenames = os .path .join (
1013- experiment_folder , "assets" , "html" , "*" )
982+ html_filenames = os .path .join (experiment_folder , "assets" , "html" , "*" )
1014983 for html_filename in glob .glob (html_filenames ):
1015984 self .log_html (experiment , html_filename )
1016985 # Deprecated:
@@ -1021,22 +990,16 @@ def log_all(self, experiment, experiment_folder):
1021990
1022991 if "system-details" not in self .ignore :
1023992 self .log_system_details (
1024- experiment , os .path .join (
1025- experiment_folder , "system_details.json" ) )
993+ experiment , os .path .join (experiment_folder , "system_details.json" )
994+ )
1026995
1027996 if "git" not in self .ignore :
1028997 self .log_git_metadata (
1029- experiment ,
1030- os .path .join (
1031- experiment_folder ,
1032- "run" ,
1033- "git_metadata.json" ))
998+ experiment , os .path .join (experiment_folder , "run" , "git_metadata.json" )
999+ )
10341000 self .log_git_patch (
1035- experiment ,
1036- os .path .join (
1037- experiment_folder ,
1038- "run" ,
1039- "git_diff.patch" ))
1001+ experiment , os .path .join (experiment_folder , "run" , "git_diff.patch" )
1002+ )
10401003
10411004 if "code" not in self .ignore :
10421005 code_folder = os .path .join (experiment_folder , "run" , "code" )
@@ -1049,8 +1012,8 @@ def log_all(self, experiment, experiment_folder):
10491012
10501013def main (args ):
10511014 parser = argparse .ArgumentParser (
1052- description = __doc__ ,
1053- formatter_class = argparse . RawDescriptionHelpFormatter )
1015+ description = __doc__ , formatter_class = argparse . RawDescriptionHelpFormatter
1016+ )
10541017 get_parser_arguments (parser )
10551018 parsed_args = parser .parse_args (args )
10561019 copy (parsed_args )
0 commit comments