예제 #1
0
파일: test_utils.py 프로젝트: IDSIA/sacred
def test_get_package_version_comparison():
    package_version = get_package_version('pytest')
    current_version = parse_version('4.3.0')
    old_version = parse_version('4.2.1')
    new_version = parse_version('4.4.1')
    assert package_version == current_version
    assert not package_version < current_version
    assert not package_version > current_version
    assert package_version <= new_version
    assert package_version >= old_version
예제 #2
0
def test_get_package_version_comparison():
    package_version = get_package_version("pytest")
    current_version = parse_version("6.2.3")
    old_version = parse_version("6.2.0")
    new_version = parse_version("6.2.4")
    assert package_version == current_version
    assert not package_version < current_version
    assert not package_version > current_version
    assert package_version <= new_version
    assert package_version >= old_version
예제 #3
0
def test_get_package_version_comparison():
    package_version = get_package_version('pytest')
    current_version = parse_version('4.3.0')
    old_version = parse_version('4.2.1')
    new_version = parse_version('4.4.1')
    assert package_version == current_version
    assert not package_version < current_version
    assert not package_version > current_version
    assert package_version <= new_version
    assert package_version >= old_version
예제 #4
0
def get_tensorflow():
    # Ensures backward and forward compatibility with TensorFlow 1 and 2.
    if get_package_version("tensorflow") < parse_version("1.13.1"):
        import warnings

        warnings.warn(
            "Use of TensorFlow 1.12 and older is deprecated. "
            "Use Tensorflow 1.13 or newer instead.",
            DeprecationWarning,
        )
        import tensorflow as tf
    else:
        import tensorflow.compat.v1 as tf
    return tf
예제 #5
0
파일: randomness.py 프로젝트: IDSIA/sacred
def set_global_seed(seed):
    random.seed(seed)
    if opt.has_numpy:
        opt.np.random.seed(seed)
    if module_is_in_cache('tensorflow'):
        # Ensures backward and forward compatibility with TensorFlow 1 and 2.
        if get_package_version('tensorflow') < parse_version('1.13.1'):
            import warnings
            warnings.warn("Use of TensorFlow 1.12 and older is deprecated. "
                          "Use Tensorflow 1.13 or newer instead.",
                          DeprecationWarning)
            import tensorflow as tf
        else:
            import tensorflow.compat.v1 as tf
        tf.set_random_seed(seed)
    if module_is_in_cache('torch'):
        import torch
        torch.manual_seed(seed)
        if torch.cuda.is_available():
            torch.cuda.manual_seed_all(seed)
예제 #6
0
def set_global_seed(seed):
    random.seed(seed)
    if opt.has_numpy:
        opt.np.random.seed(seed)
    if module_is_in_cache('tensorflow'):
        # Ensures backward and forward compatibility with TensorFlow 1 and 2.
        if get_package_version('tensorflow') < parse_version('1.13.1'):
            import warnings
            warnings.warn(
                "Use of TensorFlow 1.12 and older is deprecated. "
                "Use Tensorflow 1.13 or newer instead.", DeprecationWarning)
            import tensorflow as tf
        else:
            import tensorflow.compat.v1 as tf
        tf.set_random_seed(seed)
    if module_is_in_cache('torch'):
        import torch
        torch.manual_seed(seed)
        if torch.cuda.is_available():
            torch.cuda.manual_seed_all(seed)
예제 #7
0
def tf():
    """
    Creates a simplified tensorflow interface if necessary,
    so `tensorflow` is not required during the tests.
    """
    from sacred.optional import has_tensorflow
    if has_tensorflow:
        # Ensures backward and forward compatibility with TensorFlow 1 and 2.
        if get_package_version('tensorflow') < parse_version('1.13.1'):
            import tensorflow as tf
        else:
            import tensorflow.compat.v1 as tf
        return tf
    else:
        # Let's define a mocked tensorflow
        class tensorflow:
            class summary:
                class FileWriter:
                    def __init__(self, logdir, graph):
                        self.logdir = logdir
                        self.graph = graph
                        print("Mocked FileWriter got logdir=%s, graph=%s" % (logdir, graph))

            class Session:
                def __init__(self):
                    self.graph = None

                def __enter__(self):
                    return self

                def __exit__(self, exc_type, exc_val, exc_tb):
                    pass

        # Set stflow to use the mock as the test
        import sacred.stflow.method_interception
        sacred.stflow.method_interception.tf = tensorflow
        return tensorflow
예제 #8
0
def test_get_package_version():
    package_version = get_package_version("pytest")
    assert str(package_version) == "6.2.3"
예제 #9
0
def test_get_package_version():
    package_version = get_package_version('pytest')
    assert str(package_version) == '4.3.0'
예제 #10
0
from .contextlibbackport import ContextDecorator
from .internal import ContextMethodDecorator
import sacred.optional as opt
from sacred.utils import get_package_version, parse_version
if opt.has_tensorflow:
    # Ensures backward and forward compatibility with TensorFlow 1 and 2.
    if get_package_version('tensorflow') < parse_version('1.13.1'):
        import warnings
        warnings.warn("Use of TensorFlow 1.12 and older is deprecated. "
                      "Use Tensorflow 1.13 or newer instead.",
                      DeprecationWarning)
        import tensorflow as tf
    else:
        import tensorflow.compat.v1 as tf
else:
    tf = None


class LogFileWriter(ContextDecorator, ContextMethodDecorator):
    """
    Intercept ``logdir`` each time a new ``FileWriter`` instance is created.

    :param experiment: Tensorflow experiment.

    The state of the experiment must be running when entering the annotated
    function / the context manager.

    When creating ``FileWriters`` in Tensorflow, you might want to
    store the path to the produced log files in the sacred database.

    In the scope of ``LogFileWriter``, the corresponding log directory path
예제 #11
0
파일: test_utils.py 프로젝트: IDSIA/sacred
def test_get_package_version():
    package_version = get_package_version('pytest')
    assert str(package_version) == '4.3.0'