Skip to content

Change imports from keras to tf.keras, enable TF2 testing #208

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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ env:

- KERAS_VERSION="2.2.5" TENSORFLOW_VERSION="1.13.1"
- KERAS_VERSION="2.2.5" TENSORFLOW_VERSION="1.14.0"
# - KERAS_VERSION="2.2.5" TENSORFLOW_VERSION="2.0.0"
- KERAS_VERSION="2.2.5" TENSORFLOW_VERSION="2.0.0"

- KERAS_VERSION="2.3.0" TENSORFLOW_VERSION="1.13.1"
- KERAS_VERSION="2.3.0" TENSORFLOW_VERSION="1.14.0"
# - KERAS_VERSION="2.3.0" TENSORFLOW_VERSION="2.0.0"
- KERAS_VERSION="2.3.0" TENSORFLOW_VERSION="2.0.0"

matrix:
fast_finish: true
Expand Down
8 changes: 4 additions & 4 deletions examples/keras_examples/experiment_example.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
from hyperparameter_hunter import Environment, CVExperiment
from hyperparameter_hunter.utils.learning_utils import get_breast_cancer_data
import os.path
from keras.callbacks import ModelCheckpoint, ReduceLROnPlateau
from keras.layers import Dense, Activation, Dropout
from keras.models import Sequential
from keras.wrappers.scikit_learn import KerasClassifier
from tensorflow.keras.callbacks import ModelCheckpoint, ReduceLROnPlateau
from tensorflow.keras.layers import Dense, Activation, Dropout
from tensorflow.keras.models import Sequential
from tensorflow.keras.wrappers.scikit_learn import KerasClassifier


def build_fn(input_shape=-1):
Expand Down
6 changes: 3 additions & 3 deletions examples/keras_examples/image_classification_example.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from hyperparameter_hunter import Environment, CVExperiment
import pandas as pd
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, Reshape
from keras.models import Sequential
from keras.wrappers.scikit_learn import KerasClassifier
from tensorflow.keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, Reshape
from tensorflow.keras.models import Sequential
from tensorflow.keras.wrappers.scikit_learn import KerasClassifier
from sklearn.datasets import load_digits


Expand Down
8 changes: 4 additions & 4 deletions examples/keras_examples/mnist_example.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
raise

import pandas as pd
from keras.datasets import mnist
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, Reshape
from keras.models import Sequential
from keras.wrappers.scikit_learn import KerasClassifier
from tensorflow.keras.datasets import mnist
from tensorflow.keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, Reshape
from tensorflow.keras.models import Sequential
from tensorflow.keras.wrappers.scikit_learn import KerasClassifier


##################################################
Expand Down
6 changes: 3 additions & 3 deletions examples/keras_examples/multi_classification_example.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from hyperparameter_hunter import Environment, CVExperiment
import pandas as pd
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, Reshape
from keras.models import Sequential
from keras.wrappers.scikit_learn import KerasClassifier
from tensorflow.keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, Reshape
from tensorflow.keras.models import Sequential
from tensorflow.keras.wrappers.scikit_learn import KerasClassifier
from sklearn.datasets import load_digits


Expand Down
8 changes: 4 additions & 4 deletions examples/keras_examples/optimization_example.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
from hyperparameter_hunter import Real, Integer, Categorical
from hyperparameter_hunter.utils.learning_utils import get_breast_cancer_data
import os.path
from keras.callbacks import ModelCheckpoint, ReduceLROnPlateau
from keras.layers import Dense, Activation, Dropout
from keras.models import Sequential
from keras.wrappers.scikit_learn import KerasClassifier
from tensorflow.keras.callbacks import ModelCheckpoint, ReduceLROnPlateau
from tensorflow.keras.layers import Dense, Activation, Dropout
from tensorflow.keras.models import Sequential
from tensorflow.keras.wrappers.scikit_learn import KerasClassifier


def _build_fn_experiment(input_shape):
Expand Down
4 changes: 2 additions & 2 deletions hyperparameter_hunter/compat/keras_optimization_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@
try:
stderr = sys.stderr
sys.stderr = open(os.devnull, "w")
from keras.callbacks import Callback as base_keras_callback
from keras.initializers import Initializer as BaseKerasInitializer
from tensorflow.keras.callbacks import Callback as base_keras_callback
from tensorflow.keras.initializers import Initializer as BaseKerasInitializer

sys.stderr = stderr
except ModuleNotFoundError:
Expand Down
6 changes: 3 additions & 3 deletions hyperparameter_hunter/i_o/result_reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -734,7 +734,7 @@ def does_match_init_params_guidelines_multi(self, exp_id, params, score, locatio
_model_params = deepcopy(self.model_params["model_init_params"])

if location == ("compile_params", "optimizer"):
from keras.optimizers import get as k_opt_get
from tensorflow.keras.optimizers import get as k_opt_get

update_location = ("compile_params", "optimizer_params")
# `update_location` = Path to hyperparameter whose default value depends on `location`
Expand Down Expand Up @@ -900,8 +900,8 @@ def __init__(
sort=sort,
)

from keras.callbacks import Callback as BaseKerasCallback
from keras.initializers import Initializer as BaseKerasInitializer
from tensorflow.keras.callbacks import Callback as BaseKerasCallback
from tensorflow.keras.initializers import Initializer as BaseKerasInitializer

# noinspection PyUnusedLocal
def _visit(path, key, value):
Expand Down
4 changes: 2 additions & 2 deletions hyperparameter_hunter/keys/makers.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@
# Import Learning Assets
##################################################
try:
from keras.callbacks import Callback as BaseKerasCallback
from keras.initializers import Initializer as BaseKerasInitializer
from tensorflow.keras.callbacks import Callback as BaseKerasCallback
from tensorflow.keras.initializers import Initializer as BaseKerasInitializer
except ModuleNotFoundError:
BaseKerasCallback = type("BaseKerasCallback", tuple(), {})
BaseKerasInitializer = type("BaseKerasInitializer", tuple(), {})
Expand Down
4 changes: 2 additions & 2 deletions hyperparameter_hunter/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import sklearn.utils as sklearn_utils

try:
from keras import backend as K
from tensorflow.keras import backend as K
except ImportError:
K = None

Expand Down Expand Up @@ -383,7 +383,7 @@ class probabilities in the first column, `do_predict_proba=0`. To use the second
)

global load_model
from keras.models import load_model
from tensorflow.keras.models import load_model

def initialize_model(self):
"""Create an instance of a model using :attr:`model_initializer`, with
Expand Down
6 changes: 3 additions & 3 deletions hyperparameter_hunter/optimization/protocol_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
from skopt.utils import eval_callbacks

try:
from keras import backend as K
from tensorflow.keras import backend as K
except ImportError:
K = None

Expand Down Expand Up @@ -423,8 +423,8 @@ def set_dimensions(self):

#################### Remap Extra Objects ####################
if self.module_name == "keras":
from keras.initializers import Initializer as KerasInitializer
from keras.callbacks import Callback as KerasCB
from tensorflow.keras.initializers import Initializer as KerasInitializer
from tensorflow.keras.callbacks import Callback as KerasCB

self.init_iter_attrs.append(lambda _p, _k, _v: isinstance(_v, KerasInitializer))
self.extra_iter_attrs.append(lambda _p, _k, _v: isinstance(_v, KerasCB))
Expand Down
3 changes: 2 additions & 1 deletion hyperparameter_hunter/tracers.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,10 @@
##################################################
# noinspection PyProtectedMember
from inspect import signature, _empty, currentframe, getframeinfo
import abc


class ArgumentTracer(type):
class ArgumentTracer(abc.ABCMeta):
"""Metaclass to trace the default arguments and explicitly provided arguments of its
descendants. It also has special provisions for instantiating dummy models if directed to"""

Expand Down
6 changes: 3 additions & 3 deletions tests/integration_tests/test_optimization_space.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@
##################################################
# Import Learning Assets
##################################################
from keras.layers import Dense, Dropout
from keras.models import Sequential
from keras.wrappers.scikit_learn import KerasClassifier
from tensorflow.keras.layers import Dense, Dropout
from tensorflow.keras.models import Sequential
from tensorflow.keras.wrappers.scikit_learn import KerasClassifier

##################################################
# Global Settings
Expand Down
10 changes: 5 additions & 5 deletions tests/smoke_tests/test_keras.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@
##################################################
# Import Learning Assets
##################################################
from keras.callbacks import ReduceLROnPlateau
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, Reshape
from keras.models import Sequential
from keras.wrappers.scikit_learn import KerasClassifier, KerasRegressor
from keras.initializers import glorot_normal, orthogonal, Orthogonal
from tensorflow.keras.callbacks import ReduceLROnPlateau
from tensorflow.keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D, Reshape
from tensorflow.keras.models import Sequential
from tensorflow.keras.wrappers.scikit_learn import KerasClassifier, KerasRegressor
from tensorflow.keras.initializers import glorot_normal, orthogonal, Orthogonal
from sklearn.datasets import load_digits

##################################################
Expand Down
12 changes: 6 additions & 6 deletions tests/test_keras_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@
##################################################
# Import Learning Assets
##################################################
from keras import initializers
from keras import callbacks
from keras.layers import Dense, Dropout, Embedding, Flatten, SpatialDropout1D
from keras.losses import binary_crossentropy, mean_absolute_error
from keras.models import Sequential
from keras.optimizers import Adam, RMSprop
from tensorflow.keras import initializers
from tensorflow.keras import callbacks
from tensorflow.keras.layers import Dense, Dropout, Embedding, Flatten, SpatialDropout1D
from tensorflow.keras.losses import binary_crossentropy, mean_absolute_error
from tensorflow.keras.models import Sequential
from tensorflow.keras.optimizers import Adam, RMSprop

##################################################
# Parametrization Helper Dicts
Expand Down
2 changes: 1 addition & 1 deletion tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# Import Learning Assets
##################################################
try:
from keras.wrappers.scikit_learn import KerasClassifier, KerasRegressor
from tensorflow.keras.wrappers.scikit_learn import KerasClassifier, KerasRegressor
except (ModuleNotFoundError, ImportError):
KerasClassifier, KerasRegressor = None, None

Expand Down