|
12 | 12 | import tensorflow as tf
|
13 | 13 | from tensorflow.python.keras import backend as K
|
14 | 14 | from tensorflow.python.keras.backend import batch_dot
|
15 |
| -from tensorflow.python.keras.initializers import (Zeros, glorot_normal, |
16 |
| - glorot_uniform, TruncatedNormal) |
17 |
| -from tensorflow.python.keras.layers import Layer |
| 15 | + |
| 16 | +try: |
| 17 | + from tensorflow.python.ops.init_ops import Zeros, Ones, Constant, TruncatedNormal, \ |
| 18 | + glorot_normal_initializer as glorot_normal, \ |
| 19 | + glorot_uniform_initializer as glorot_uniform |
| 20 | +except ImportError: |
| 21 | + from tensorflow.python.ops.init_ops_v2 import Zeros, Ones, Constant, TruncatedNormal, glorot_normal, glorot_uniform |
| 22 | + |
| 23 | +from tensorflow.python.keras.layers import Layer, MaxPooling2D, Conv2D, Dropout, Lambda, Dense, Flatten |
18 | 24 | from tensorflow.python.keras.regularizers import l2
|
19 | 25 | from tensorflow.python.layers import utils
|
20 | 26 |
|
@@ -90,10 +96,10 @@ def build(self, input_shape):
|
90 | 96 | initializer=glorot_normal(seed=self.seed), name="projection_h")
|
91 | 97 | self.projection_p = self.add_weight(shape=(
|
92 | 98 | embedding_size, 1), initializer=glorot_normal(seed=self.seed), name="projection_p")
|
93 |
| - self.dropout = tf.keras.layers.Dropout( |
| 99 | + self.dropout = Dropout( |
94 | 100 | self.dropout_rate, seed=self.seed)
|
95 | 101 |
|
96 |
| - self.tensordot = tf.keras.layers.Lambda( |
| 102 | + self.tensordot = Lambda( |
97 | 103 | lambda x: tf.tensordot(x[0], x[1], axes=(-1, 0)))
|
98 | 104 |
|
99 | 105 | # Be sure to call this somewhere!
|
@@ -244,7 +250,7 @@ def build(self, input_shape):
|
244 | 250 | regularizer=l2(self.l2_reg)))
|
245 | 251 |
|
246 | 252 | self.bias.append(self.add_weight(name='bias' + str(i), shape=[size], dtype=tf.float32,
|
247 |
| - initializer=tf.keras.initializers.Zeros())) |
| 253 | + initializer=Zeros())) |
248 | 254 |
|
249 | 255 | if self.split_half:
|
250 | 256 | if i != len(self.layer_size) - 1 and size % 2 > 0:
|
@@ -485,7 +491,7 @@ def build(self, input_shape):
|
485 | 491 | regularizer=l2(self.l2_reg),
|
486 | 492 | trainable=True) for i in range(self.layer_num)]
|
487 | 493 |
|
488 |
| - self.gating = [tf.keras.layers.Dense(1, use_bias=False) for i in range(self.num_experts)] |
| 494 | + self.gating = [Dense(1, use_bias=False) for i in range(self.num_experts)] |
489 | 495 |
|
490 | 496 | self.bias = [self.add_weight(name='bias' + str(i),
|
491 | 497 | shape=(dim, 1),
|
@@ -717,17 +723,17 @@ def build(self, input_shape):
|
717 | 723 | embedding_size = int(input_shape[-1])
|
718 | 724 | self.W_Query = self.add_weight(name='query', shape=[embedding_size, self.att_embedding_size * self.head_num],
|
719 | 725 | dtype=tf.float32,
|
720 |
| - initializer=tf.keras.initializers.TruncatedNormal(seed=self.seed)) |
| 726 | + initializer=TruncatedNormal(seed=self.seed)) |
721 | 727 | self.W_key = self.add_weight(name='key', shape=[embedding_size, self.att_embedding_size * self.head_num],
|
722 | 728 | dtype=tf.float32,
|
723 |
| - initializer=tf.keras.initializers.TruncatedNormal(seed=self.seed + 1)) |
| 729 | + initializer=TruncatedNormal(seed=self.seed + 1)) |
724 | 730 | self.W_Value = self.add_weight(name='value', shape=[embedding_size, self.att_embedding_size * self.head_num],
|
725 | 731 | dtype=tf.float32,
|
726 |
| - initializer=tf.keras.initializers.TruncatedNormal(seed=self.seed + 2)) |
| 732 | + initializer=TruncatedNormal(seed=self.seed + 2)) |
727 | 733 | if self.use_res:
|
728 | 734 | self.W_Res = self.add_weight(name='res', shape=[embedding_size, self.att_embedding_size * self.head_num],
|
729 | 735 | dtype=tf.float32,
|
730 |
| - initializer=tf.keras.initializers.TruncatedNormal(seed=self.seed)) |
| 736 | + initializer=TruncatedNormal(seed=self.seed)) |
731 | 737 |
|
732 | 738 | # Be sure to call this somewhere!
|
733 | 739 | super(InteractingLayer, self).build(input_shape)
|
@@ -964,15 +970,15 @@ def build(self, input_shape):
|
964 | 970 | pooling_shape, (width, 1))
|
965 | 971 | pooling_shape = self._pooling_output_shape(
|
966 | 972 | conv_output_shape, (pooling_width, 1))
|
967 |
| - self.conv_layers.append(tf.keras.layers.Conv2D(filters=filters, kernel_size=(width, 1), strides=(1, 1), |
968 |
| - padding='same', |
969 |
| - activation='tanh', use_bias=True, )) |
| 973 | + self.conv_layers.append(Conv2D(filters=filters, kernel_size=(width, 1), strides=(1, 1), |
| 974 | + padding='same', |
| 975 | + activation='tanh', use_bias=True, )) |
970 | 976 | self.pooling_layers.append(
|
971 |
| - tf.keras.layers.MaxPooling2D(pool_size=(pooling_width, 1))) |
972 |
| - self.dense_layers.append(tf.keras.layers.Dense(pooling_shape[1] * embedding_size * new_filters, |
973 |
| - activation='tanh', use_bias=True)) |
| 977 | + MaxPooling2D(pool_size=(pooling_width, 1))) |
| 978 | + self.dense_layers.append(Dense(pooling_shape[1] * embedding_size * new_filters, |
| 979 | + activation='tanh', use_bias=True)) |
974 | 980 |
|
975 |
| - self.flatten = tf.keras.layers.Flatten() |
| 981 | + self.flatten = Flatten() |
976 | 982 |
|
977 | 983 | super(FGCNNLayer, self).build(
|
978 | 984 | input_shape) # Be sure to call this somewhere!
|
@@ -1090,7 +1096,7 @@ def build(self, input_shape):
|
1090 | 1096 | self.W_2 = self.add_weight(shape=(
|
1091 | 1097 | reduction_size, self.filed_size), initializer=glorot_normal(seed=self.seed), name="W_2")
|
1092 | 1098 |
|
1093 |
| - self.tensordot = tf.keras.layers.Lambda( |
| 1099 | + self.tensordot = Lambda( |
1094 | 1100 | lambda x: tf.tensordot(x[0], x[1], axes=(-1, 0)))
|
1095 | 1101 |
|
1096 | 1102 | # Be sure to call this somewhere!
|
@@ -1245,14 +1251,14 @@ def build(self, input_shape):
|
1245 | 1251 | self.kernel_mf = self.add_weight(
|
1246 | 1252 | name='kernel_mf',
|
1247 | 1253 | shape=(int(self.num_fields * (self.num_fields - 1) / 2), 1),
|
1248 |
| - initializer=tf.keras.initializers.Ones(), |
| 1254 | + initializer=Ones(), |
1249 | 1255 | regularizer=None,
|
1250 | 1256 | trainable=True)
|
1251 | 1257 |
|
1252 | 1258 | self.kernel_fm = self.add_weight(
|
1253 | 1259 | name='kernel_fm',
|
1254 | 1260 | shape=(self.num_fields, 1),
|
1255 |
| - initializer=tf.keras.initializers.Constant(value=0.5), |
| 1261 | + initializer=Constant(value=0.5), |
1256 | 1262 | regularizer=None,
|
1257 | 1263 | trainable=True)
|
1258 | 1264 | if self.use_bias:
|
|
0 commit comments