1313# limitations under the License.
1414# ============================================================================
1515
16+ import os
17+ import random
1618import numpy as np
1719import tensorflow as tf
1820from tensorflow import keras
1921from 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
2224from ...utils import get_rng
2325from ...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
144145class 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 ))
0 commit comments