Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Save detection inference logs to file #12042

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

AlexPasqua
Copy link

I added the possibility to save the detection logs to file.

The code was almost all there already, just some arguments weren't passed the right way in order to save the detection logs to file.

In case, we could also implement this feature for the other scripts in tools/infer/.

Copy link

paddle-bot bot commented May 2, 2024

Thanks for your contribution!

@CLAassistant
Copy link

CLAassistant commented May 2, 2024

CLA assistant check
All committers have signed the CLA.

log_file = args.save_log_path
if os.path.isdir(args.save_log_path) or (not os.path.exists(args.save_log_path) and args.save_log_path.endswith("/")):
log_file = os.path.join(log_file, "benchmark_detection.log")
logger = get_logger(log_file=log_file)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems this logger should be prepared and passed into AutoLog as a arg in https://github.com/PaddlePaddle/PaddleOCR/blob/main/tools/infer/predict_det.py#L168

I am worrying about maintenance of AutoLog module, it's been implemented in https://github.com/LDOUBLEV/AutoLog, and published to a server as documented here:

${python_name} -m pip install https://paddleocr.bj.bcebos.com/libs/auto_log-1.2.0-py3-none-any.whl
.

I think this is only been used by a terminated tipc plan, we should redesign this feature, or deprecate this feature.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am worrying about maintenance of AutoLog module, it's been implemented in https://github.com/LDOUBLEV/AutoLog, and published to a server as documented here:

In this case PaddleOCR could implement its own logger, instead of using AutoLog.

I think that it's a little bit of a pity to have a feature to run benchmarks without the option to save the results to a file (and only seeing them on screen instead), therefore I think this feature would be very useful.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agree


class TextDetector(object):
def __init__(self, args):
def __init__(self, args, logger):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logger arg needs a default value None, the default behavior should be using logger from logger = get_logger().

otherwise, it will break this:

self.text_detector = predict_det.TextDetector(args)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants