def _print_warnings()

in Synthesis_incorporation/value_search/function_operation.py [0:0]


    def _print_warnings(self, arg_values, result_value):
        if isinstance(result_value, torch.Tensor):
            num_elements = tf_coder_utils.num_tensor_elements(result_value)
        else:
            return
        if num_elements > 10 * limits.MAX_TENSOR_ELEMENTS:
            print(
                "Warning: {} produced much-too-large tensor of shape {} and {} "
                "elements.".format(
                    self.name, result_value.shape.as_list(), num_elements
                )
            )
            for i, arg_value in enumerate(arg_values):
                if isinstance(arg_value.value, torch.Tensor):
                    print(
                        "  argument {} has shape {} and {} elements".format(
                            i, arg_value.shape, arg_value.num_elements()
                        )
                    )
                    if arg_value.num_elements() <= 20:
                        print("  argument {} is: {}".format(i, arg_value.value))
                elif arg_value.is_primitive:
                    print("  argument {} is: {}".format(i, arg_value.value))
                else:
                    print("  argument {} has type {}".format(i, type(arg_value.value)))
                print(
                    "  argument {} has reconstruction: {}".format(
                        i, arg_value.reconstruct_expression()
                    )
                )