Skip to content

Commit 90ec678

Browse files
authored
Update NARRE with tensorflow 2.21.0 (#695)
1 parent 274c666 commit 90ec678

3 files changed

Lines changed: 11 additions & 7 deletions

File tree

cornac/models/narre/narre.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,13 @@
1313
# limitations under the License.
1414
# ============================================================================
1515

16+
import os
17+
import random
1618
import numpy as np
1719
import tensorflow as tf
1820
from tensorflow import keras
1921
from tensorflow.keras import layers, initializers, Input
20-
from tensorflow.python.keras.preprocessing.sequence import pad_sequences
22+
from tensorflow.keras.utils import pad_sequences
2123

2224
from ...utils import get_rng
2325
from ...utils.init_utils import uniform
@@ -56,7 +58,7 @@ def get_data(batch_ids, train_set, max_text_length, by='user', max_num_review=No
5658
review_group = train_set.review_text.user_review if by == 'user' else train_set.review_text.item_review
5759
for idx in batch_ids:
5860
ids, review_ids = [], []
59-
for inc, (jdx, review_idx) in enumerate(review_group[idx].items()):
61+
for inc, (jdx, review_idx) in enumerate(review_group.get(idx, {}).items()):
6062
if max_num_review is not None and inc == max_num_review:
6163
break
6264
ids.append(jdx)
@@ -76,9 +78,9 @@ class AddGlobalBias(keras.layers.Layer):
7678
def __init__(self, init_value=0.0, name="global_bias"):
7779
super(AddGlobalBias, self).__init__(name=name)
7880
self.init_value = init_value
79-
81+
8082
def build(self, input_shape):
81-
self.global_bias = self.add_weight(shape=1,
83+
self.global_bias = self.add_weight(shape=(1,),
8284
initializer=tf.keras.initializers.Constant(self.init_value),
8385
trainable=True, name="add_weight")
8486

@@ -138,7 +140,6 @@ def call(self, inputs, training=None):
138140
self.item_bias(i_item_id)
139141
])
140142
)
141-
# import pdb; pdb.set_trace()
142143
return r
143144

144145
class NARREModel:
@@ -159,7 +160,10 @@ def __init__(self, n_users, n_items, vocab, global_mean, n_factors=32, embedding
159160
self.verbose = verbose
160161
if seed is not None:
161162
self.rng = get_rng(seed)
163+
os.environ['PYTHONHASHSEED']=str(seed)
162164
tf.random.set_seed(seed)
165+
np.random.seed(seed)
166+
random.seed(seed)
163167

164168
embedding_matrix = uniform(shape=(self.n_vocab, self.embedding_size), low=-0.5, high=0.5, random_state=self.rng)
165169
embedding_matrix[:4, :] = np.zeros((4, self.embedding_size))

cornac/models/narre/recom_narre.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ def _fit_tf(self, train_set, val_set):
226226
bar_format="{l_bar}{bar:10}{r_bar}{bar:-10b}",
227227
)
228228
for i_epoch, _ in enumerate(loop):
229-
train_loss.reset_states()
229+
train_loss.reset_state()
230230
for i, (batch_users, batch_items, batch_ratings) in enumerate(
231231
train_set.uir_iter(self.batch_size, shuffle=True)
232232
):
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
tensorflow==2.6.0
1+
tensorflow[and-cuda]==2.21.0

0 commit comments

Comments
 (0)