allanpichardo / vae_synth

Creative Commons Zero v1.0 Universal
8 stars 2 forks source link

Error on autoencoder #1

Open fred-dev opened 1 year ago

fred-dev commented 1 year ago

Hi, I was trying to follwo your tutorial and run this code. I get an error on:

autoencoder.fit(sequence, epochs=epochs, callbacks=[
        SpectrogramCallback(sequence, sr=sr, logdir=logdir),
        tf.keras.callbacks.TensorBoard(log_dir=logdir, embeddings_freq=1)
    ])

Reading:


`[/content/vae_synth/callbacks.py](https://localhost:8080/#) in on_train_begin(self, logs)
     22     def on_train_begin(self, logs=None):
     23         print("Initializing normalize layer...")
---> 24 
     25         should_reset = True
     26         for x, y in self.soundequence:

TypeError: adapt() got an unexpected keyword argument 'reset_state'`

Any idea how I can fix this?

concrete-mixer commented 1 year ago

I removed reset_state=should_reset from callbacks.py and it ran through one epoch and then threw the following error:

InvalidArgumentError                      Traceback (most recent call last)
Cell In[12], line 3
      1 autoencoder.compile(optimizer=tf.keras.optimizers.Adam())
----> 3 autoencoder.fit(sequence, epochs=epochs, callbacks=[
      4         SpectrogramCallback(sequence, sr=sr, logdir=logdir),
      5         tf.keras.callbacks.TensorBoard(log_dir=logdir, embeddings_freq=1)
      6     ])

File ~/.local/lib/python3.10/site-packages/keras/utils/traceback_utils.py:70, in filter_traceback.<locals>.error_handler(*args, **kwargs)
     67     filtered_tb = _process_traceback_frames(e.__traceback__)
     68     # To get the full stack trace, call:
     69     # `tf.debugging.disable_traceback_filtering()`
---> 70     raise e.with_traceback(filtered_tb) from None
     71 finally:
     72     del filtered_tb

File ~/soundwork/vae_synth/vae_synth/callbacks.py:39, in SpectrogramCallback.on_epoch_end(self, epoch, logs)
     37 u, v, embedding = self.model.encoder(spec_x)
     38 spec_y = self.model.decoder(embedding)
---> 39 audio_y = kapre.InverseSTFT(n_fft=self.n_fft)(mag_phase_to_complex(spec_y))
     41 mag_x = kapre.MagnitudeToDecibel()(kapre.Magnitude()(mag_phase_to_complex(spec_x)))
     42 mag_y = kapre.MagnitudeToDecibel()(kapre.Magnitude()(mag_phase_to_complex(spec_y)))

File ~/soundwork/vae_synth/utils.py:5, in mag_phase_to_complex(x, mean, var)
...
----> 5     x = (x * tf.sqrt(var)) + mean
      6     m, p, mels = tf.split(x, 3, axis=3)
      7     real = m * tf.cos(p)

InvalidArgumentError: {{function_node __wrapped__Mul_device_/job:localhost/replica:0/task:0/device:CPU:0}} Incompatible shapes: [4,80,1025,2] vs. [3] [Op:Mul]