Почему форма слоя смещения не равна форме слоя веса в пользовательской модели, которая имеет пользовательский слой - PullRequest
0 голосов
/ 11 июля 2020

Я наткнулся на пользовательскую фиктивную модель линейной регрессии, где код выглядит примерно так:

class RegressionModel(tf.keras.Model): # every new model has to use Model
    '''
    A Model that performs Linear Regression 
    '''
    def __init__(self,in_units,out_units):
        '''
        args:
            in_units: number of input neurons
            out_units: number of output units
        '''
        super(RegressionModel,self).__init__() # constructor of Parent class 
        
        self.in_units = in_units
        self.out_units = out_units
        
        self.w = tf.Variable(tf.initializers.GlorotNormal()((self.in_units,self.out_units))) 
        # make weight which has initial weights according to glorot_normal distribution
        
        self.b = tf.Variable(tf.zeros(self.out_units)) # bias is mostly zeros
            
    
    def call(self,input_tensor):
        '''
        execurte forward pass
        args:
            input_tensor: input tensor which will be fed to the network
        '''
        return tf.matmul(input_tensor, self.w) + self.b

Я хочу спросить, почему weight имеет 2-мерную форму in,out, а смещение имеет только out и более конкретно, почему weight имеет 2D-форму?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...