Browse Source

bug fix

tags/v0.1.0rc1
Chi Wang (MSR) 5 years ago
parent
commit
a9b748024f
1 changed files with 31 additions and 0 deletions
  1. +31
    -0
      flaml/searcher/suggestion.py

+ 31
- 0
flaml/searcher/suggestion.py View File

@@ -19,6 +19,7 @@ import copy
import glob
import logging
import os
import time
from typing import Dict, Optional, Union, List, Tuple
logger = logging.getLogger(__name__)
@@ -43,6 +44,36 @@ UNDEFINED_METRIC_MODE = str(
"or pass them to `tune.run()`.")
_logged = set()
_disabled = False
_periodic_log = False
_last_logged = 0.0
def log_once(key):
"""Returns True if this is the "first" call for a given key.
Various logging settings can adjust the definition of "first".
Example:
>>> if log_once("some_key"):
... logger.info("Some verbose logging statement")
"""
global _last_logged
if _disabled:
return False
elif key not in _logged:
_logged.add(key)
_last_logged = time.time()
return True
elif _periodic_log and time.time() - _last_logged > 60.0:
_logged.clear()
_last_logged = time.time()
return False
else:
return False
class Searcher:
"""Abstract class for wrapping suggesting algorithms.
Custom algorithms can extend this class easily by overriding the


Loading…
Cancel
Save