@@ -389,14 +389,13 @@ def convert_data(data, dtype, data_order, data_format):
389389 # Secondly, change format of data
390390 if data_format == 'numpy' :
391391 return data
392- elif data_format == 'pandas' :
392+ if data_format == 'pandas' :
393393 import pandas as pd
394394
395395 if data .ndim == 1 :
396396 return pd .Series (data )
397- else :
398- return pd .DataFrame (data )
399- elif data_format == 'cudf' :
397+ return pd .DataFrame (data )
398+ if data_format == 'cudf' :
400399 import cudf
401400 import pandas as pd
402401
@@ -439,16 +438,24 @@ def load_data(params, generated_data=[], add_dtype=False, label_2d=False,
439438 for element in full_data :
440439 file_arg = f'file_{ element } '
441440 # load and convert data from npy/csv file if path is specified
441+ new_dtype = int_dtype if 'y' in element and int_label else params .dtype
442442 if param_vars [file_arg ] is not None :
443443 if param_vars [file_arg ].name .endswith ('.npy' ):
444444 data = np .load (param_vars [file_arg ].name , allow_pickle = True )
445445 else :
446446 data = read_csv (param_vars [file_arg ].name , params )
447447 full_data [element ] = convert_data (
448448 data ,
449- int_dtype if 'y' in element and int_label else params . dtype ,
449+ new_dtype ,
450450 params .data_order , params .data_format
451451 )
452+ if full_data [element ] is None :
453+ # generate and convert data if it's marked and path isn't specified
454+ if element in generated_data :
455+ full_data [element ] = convert_data (
456+ np .random .rand (* params .shape ),
457+ new_dtype ,
458+ params .data_order , params .data_format )
452459 # generate and convert data if it's marked and path isn't specified
453460 if full_data [element ] is None and element in generated_data :
454461 full_data [element ] = convert_data (
@@ -522,13 +529,12 @@ def print_output(library, algorithm, stages, params, functions,
522529 result = gen_basic_dict (library , algorithm , stage , params ,
523530 data [i ], alg_instance , alg_params )
524531 result .update ({'time[s]' : times [i ]})
525- if metric_type is not None :
526- if isinstance (metric_type , str ):
527- result .update ({f'{ metric_type } ' : metrics [i ]})
528- elif isinstance (metric_type , list ):
529- for ind , val in enumerate (metric_type ):
530- if metrics [ind ][i ] is not None :
531- result .update ({f'{ val } ' : metrics [ind ][i ]})
532+ if isinstance (metric_type , str ):
533+ result .update ({f'{ metric_type } ' : metrics [i ]})
534+ elif isinstance (metric_type , list ):
535+ for ind , val in enumerate (metric_type ):
536+ if metrics [ind ][i ] is not None :
537+ result .update ({f'{ val } ' : metrics [ind ][i ]})
532538 if hasattr (params , 'n_classes' ):
533539 result ['input_data' ].update ({'classes' : params .n_classes })
534540 if hasattr (params , 'n_clusters' ):
@@ -542,8 +548,7 @@ def print_output(library, algorithm, stages, params, functions,
542548 if 'init' in result ['algorithm_parameters' ].keys ():
543549 if not isinstance (result ['algorithm_parameters' ]['init' ], str ):
544550 result ['algorithm_parameters' ]['init' ] = 'random'
545- if 'handle' in result ['algorithm_parameters' ].keys ():
546- del result ['algorithm_parameters' ]['handle' ]
551+ result ['algorithm_parameters' ].pop ('handle' , None )
547552 output .append (result )
548553 print (json .dumps (output , indent = 4 ))
549554
0 commit comments