from tensorflow.python.keras.optimizer_v2 import nadam from tensorflow.python.keras.optimizer_v2 import optimizer_v2 from tensorflow.python.keras.optimizer_v2 import rmsprop from tensorflow.python.keras.utils import np_utils from tensorflow.python.ops import array_ops from tensorflow.python.ops import clip_ops from tensorflow.python.ops import state_ops from tensorflow.python.ops import variables from tensorflow.python.platform import test from tensorflow.python.training import momentum from tensorflow.python.training import training_util _DATA_TYPES = [dtypes.half, dtypes.float32, dtypes.float64] # TODO(b/141710709): complex support in NVCC and ROCM. if (not test_util.IsBuiltWithNvcc() and not test.is_built_with_rocm()): _DATA_TYPES += [dtypes.complex64, dtypes.complex128] class OptimizerTest(test.TestCase, parameterized.TestCase): @combinations.generate(combinations.combine(mode=['graph', 'eager'])) def testBasic(self): for dtype in _DATA_TYPES: with test_util.use_gpu(): var0 = variables.Variable([1.0, 2.0], dtype=dtype) var1 = variables.Variable([3.0, 4.0], dtype=dtype) loss = lambda: 5 * var0 + 3 * var1 # pylint: disable=cell-var-from-loop sgd = gradient_descent.SGD(3.0) self.evaluate(variables.global_variables_initializer())
from tensorflow.python.eager import context from tensorflow.python.framework import constant_op from tensorflow.python.framework import dtypes from tensorflow.python.framework import ops from tensorflow.python.framework import test_util from tensorflow.python.keras.optimizer_v2 import learning_rate_schedule from tensorflow.python.keras.optimizer_v2 import rmsprop from tensorflow.python.ops import embedding_ops from tensorflow.python.ops import math_ops from tensorflow.python.ops import resource_variable_ops from tensorflow.python.ops import variables from tensorflow.python.platform import test _DATA_TYPES = [dtypes.half, dtypes.float32, dtypes.float64] # TODO(b/143684500): Eigen to support complex sqrt if not test_util.IsBuiltWithNvcc() and platform.system() != "Windows" \ and not test.is_built_with_rocm(): _DATA_TYPES += [dtypes.complex64, dtypes.complex128] _TEST_PARAM_VALUES = [ # learning_rate, rho, momentum, epsilon, centered [0.05, 0.9, 0.0, 1e-3, True], [0.05, 0.9, 0.0, 1e-3, False], [0.1, 0.9, 0.0, 1e-3, True], [0.01, 0.9, 0.0, 1e-5, True], [0.01, 0.9, 0.9, 1e-5, True], ] _TESTPARAMS = [ [data_type] + values for data_type, values in itertools.product(_DATA_TYPES, _TEST_PARAM_VALUES)
import copy import itertools import math from absl.testing import parameterized import numpy as np from tensorflow.python.framework import test_util from keras import combinations from keras import testing_utils from keras.optimizer_v2 import learning_rate_schedule from keras.optimizer_v2 import rmsprop _DATA_TYPES = [tf.half, tf.float32, tf.float64] # TODO(b/143684500): Eigen to support complex sqrt if not test_util.IsBuiltWithNvcc(): _DATA_TYPES += [tf.complex64, tf.complex128] _TEST_PARAM_VALUES = [ # learning_rate, rho, momentum, epsilon, centered [0.05, 0.9, 0.0, 1e-3, True], [0.05, 0.9, 0.0, 1e-3, False], [0.1, 0.9, 0.0, 1e-3, True], [0.01, 0.9, 0.0, 1e-5, True], [0.01, 0.9, 0.9, 1e-5, True], ] _TESTPARAMS = [ [data_type] + values for data_type, values in itertools.product(_DATA_TYPES, _TEST_PARAM_VALUES) ]