aimclub / FEDOT

Automated modeling and machine learning framework FEDOT
https://fedot.readthedocs.io
BSD 3-Clause "New" or "Revised" License
632 stars 86 forks source link

Make logging output not so scary for end-user #800

Closed gkirgizov closed 1 year ago

gkirgizov commented 2 years ago

During Graph verification (GraphVerifier) & Pipeline evaluation (PipelineObjectiveEvaluate with EvaluationDispatcher) usually happen a lot of errors. By default these errors are output to the logger and to the console. They bloat the console and create the impression that something goes terribly wrong. Fedot shouldn't create such impression and shouldn't by default output to the user information that's unhelpful,

I propose that

Regarding message log levels:

gkirgizov commented 2 years ago

Уровни логгинга для сообщений обсуждаемы

staeros commented 2 years ago

Пример логов, с большими графами из NAS. 2022-08-24 06:03:14,069 - GraphVerifier - Graph verification failed with error <Invalid graph configuration: Graph has wrong skip connections> for rule=<function has_no_flatten_skip at 0x7f3b0e4254c0> on graph=((((((((((((((((/n_conv2d_{'layer_type': 'conv2d', 'activation': 'tanh', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'drop': 0.2};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'linear', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'drop': 0.5};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'linear', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'momentum': 0.4406813782534731, 'epsilon': 0.309761865074756};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'softplus', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 32, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'average_pool2d', 'n_jobs': 1};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'softmax', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 32, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'average_pool2d', 'n_jobs': 1, 'drop': 0.1};;(((/n_conv2d_{'layer_type': 'conv2d', 'activation': 'tanh', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'drop': 0.2};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'linear', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'drop': 0.5};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'linear', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'momentum': 0.4406813782534731, 'epsilon': 0.309761865074756};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'softplus', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 32, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'average_pool2d', 'n_jobs': 1};;/n_conv2d_{'layer_type': 'conv2d', 'activation': 'tanh', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'drop': 0.2};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'elu', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 32, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'average_pool2d', 'n_jobs': 1, 'momentum': 0.9734382274129786, 'epsilon': 0.23573675617687395};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'softplus', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'momentum': 0.04621794831314552, 'epsilon': 0.797442711928691, 'drop': 0.3};;(/n_conv2d_{'layer_type': 'conv2d', 'activation': 'tanh', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'drop': 0.2};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'linear', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'drop': 0.5};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'linear', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'linear', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 32, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'average_pool2d', 'n_jobs': 1, 'momentum': 0.03546964032188504, 'epsilon': 0.060851756668864554, 'drop': 0.1};;(((/n_conv2d_{'layer_type': 'conv2d', 'activation': 'tanh', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'drop': 0.2};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'linear', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'drop': 0.5};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'linear', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'momentum': 0.4406813782534731, 'epsilon': 0.309761865074756};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'softplus', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 32, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'average_pool2d', 'n_jobs': 1};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'elu', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 32, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'momentum': 0.6867713765586763, 'epsilon': 0.8456227719182262, 'drop': 0.4};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'relu', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 32, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'average_pool2d', 'n_jobs': 1, 'drop': 0.5};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'tanh', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 32, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'average_pool2d', 'n_jobs': 1, 'momentum': 0.41113993431584583, 'epsilon': 0.6850324313658979};)/n_conv2d_{'layer_type': 'conv2d', 'activation': 'relu', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'momentum': 0.4225978111457399, 'epsilon': 0.3551773135885514, 'drop': 0.1};)/n_flatten_{'n_jobs': 1};;/n_conv2d_{'layer_type': 'conv2d', 'activation': 'tanh', 'kernel_size': 3, 'conv_strides': 1, 'num_of_filters': 64, 'pool_size': 2, 'pool_strides': 2, 'pool_type': 'max_pool2d', 'n_jobs': 1, 'drop': 0.2};)/n_dense_{'layer_type': 'dense', 'neurons': 64, 'activation': 'selu', 'n_jobs': 1, 'momentum': 0.40192372825721256, 'epsilon': 0.6889082362934618, 'drop': 0.2};)/n_dense_{'layer_type': 'dense', 'neurons': 64, 'activation': 'sigmoid', 'n_jobs': 1};)/n_dense_{'layer_type': 'dense', 'neurons': 32, 'activation': 'elu', 'n_jobs': 1, 'momentum': 0.9103397840499711, 'epsilon': 0.6587849510327589}.