astorfi / 3D-convolutional-speaker-recognition

:speaker: Deep Learning & 3D Convolutional Neural Networks for Speaker Verification
Apache License 2.0
778 stars 275 forks source link

prediction difference between batch=1 and batch=16 #16

Closed alanbekker closed 6 years ago

alanbekker commented 6 years ago

Any ideas why I'm receiving different prediction values when running with batch_size=1,16? find code below: Thanks!

def predict(self,speech_input): labels = np.empty(0, int) labels = np.append(labels, range(speechinput.shape[0]), axis=0) feature,logits, = self.session.run( [self.features,self.logits,self.end_points_speech], feed_dict={self.is_training: False, self.batch_dynamic: labels.shape[0], self.margin_imp_tensor: 50, self.batch_speech: speech_input})

self.batch_labels: labels.reshape([labels.shape[0], 1])})

    # Extracting the associated numpy array.
    #print (feature[0])

    return  feature,logits
astorfi commented 6 years ago

Are you running on your own dataset?

alanbekker commented 6 years ago

Yes

On Sun, May 13, 2018, 20:00 Amirsina Torfi notifications@github.com wrote:

Are you running on your own dataset?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/astorfi/3D-convolutional-speaker-recognition/issues/16#issuecomment-388641016, or mute the thread https://github.com/notifications/unsubscribe-auth/AE_DSc68BlIm6FqR0HSmh25ZDkJCOEB9ks5tyGa3gaJpZM4T02CP .

astorfi commented 6 years ago

I do not get your question actually. Why are you expecting to get the same prediction values?

alanbekker commented 6 years ago

Because I'm in inference stage after I finished the training stage

look this pseudo code:

for i in batch16: yi=model.predict(xi)

and I compare it to: y=model.predict(batch16)

and this 16 length vector y look different...

and the results look different

On Sun, May 13, 2018, 20:09 Amirsina Torfi notifications@github.com wrote:

I do not get your question actually. Why are you expecting to get the same prediction values?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/astorfi/3D-convolutional-speaker-recognition/issues/16#issuecomment-388641585, or mute the thread https://github.com/notifications/unsubscribe-auth/AE_DSUtaa0xtwPCiiTDfms0D4OrUTynJks5tyGjcgaJpZM4T02CP .

astorfi commented 6 years ago

What do you mean by batch16?

alanbekker commented 6 years ago

Batch16 is a (16,80,40,20) tensor a opposed to yi which is (1,80,40,20) signle example

On Mon, May 14, 2018, 04:23 Amirsina Torfi notifications@github.com wrote:

What do you mean by batch16?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/astorfi/3D-convolutional-speaker-recognition/issues/16#issuecomment-388672100, or mute the thread https://github.com/notifications/unsubscribe-auth/AE_DSTwBRBfnPg8gVq0csGjtDKI5tuUyks5tyNybgaJpZM4T02CP .

astorfi commented 6 years ago

I think you should debug the values more carefully. It's weird. It's hard for me to have an idea about the details and the values that you are getting. Please see if the averaging is performing correctly. This might be due to the drastic changes happened in new TensorFlow versions.

astorfi commented 6 years ago

Please open this issue if the problem has not been resolved! Thanks