Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

("Reference beats are empty.") mir_eval warning #5

Closed
biabcaval opened this issue Nov 8, 2024 · 11 comments
Closed

("Reference beats are empty.") mir_eval warning #5

biabcaval opened this issue Nov 8, 2024 · 11 comments

Comments

@biabcaval
Copy link

I'm executing the first train example using only the harmonix dataset, but i've encoutered the following error:

RuntimeError: aten::copy() Expected a value of type 'Tensor' for argument 'src' but instead found type 'int'.
Position: 1
Value: 32
Declaration: aten::copy(Tensor self, Tensor src, bool non_blocking=False) -> Tensor
Cast error details: Unable to cast 32 to Tensor

investigating it, i found that changing this line(315) on the rottary_embedding_torch.py file the problem was "solved":

from the original:
self.cached_freqs_seq_len.copy_(seq_len)
to this:
self.cached_freqs_seq_len.copy_(torch.tensor(seq_len, dtype=torch.long, device=self.cached_freqs_seq_len.device))

But actually, it only allowed the train to continue running, but with the wrong tensor value.

I used the beat annotations on the beat_this repository and generated the spectrograms by the pre-processs script, it all seemed to work well in the pre-process step.

When i used the "fix" for the rottary_embedding_torch.py, i've encountered the following warning: ("Reference beats are empty.") mir_eval warning and investigating more deep into it, i found that in fact sometimes the estimated beats/ reference beats become empty at some point of the run

@fosfrancesco
Copy link
Member

Hello,

Can you copy the complete console log, or at least a reference to the point of the code that is causing the problem RuntimeError: aten::copy() Expected a value of type 'Tensor' for argument 'src' but instead found type 'int'.?

I will in any case still try to guess where your problem is coming from.
If I understand your question correctly, you are trying to train, but you downloaded only the Harmonix dataset instead of all the datasets. Is this correct?
The code does not support this option automatically.
But there may be an easy fix: if you see here
the available datasets are selected by looking at the annotation folders. If you remove all annotations folders except the harmonix folder (and the gtzan that is used for testing), the training will only consider the harmonix dataset.

Let me know if this works! I would in any case not change something on the rotary encoding file, as I think this is just masking the issue instead of solving it.

@biabcaval
Copy link
Author

biabcaval commented Nov 11, 2024

Full console log:

''' Seed set to 0
Starting a new run with the following parameters:
Namespace(name='', gpu=0, force_flash_attention=False, compile=['frontend', 'transformer_blocks', 'task_heads'], n_layers=6, transformer_dim=512, frontend_dropout=0.1, transformer_dropout=0.2, lr=0.0008, weight_decay=0.01, logger='none', num_workers=8, n_heads=16, fps=50, loss='shift_tolerant_weighted_bce', warmup_steps=1000, max_epochs=100, batch_size=8, accumulate_grad_batches=8, train_length=1500, dbn=False, eval_trim_beats=5, val_frequency=5, tempo_augmentation=True, pitch_augmentation=True, mask_augmentation=True, sum_head=True, partial_transformers=True, length_based_oversampling_factor=0.65, val=False, hung_data=False, fold=None, seed=0)
Validation set: 137 items from: harmonix
Training set oversampled from 911 to 4424 excerpts.
Training set: 4424 items from: harmonix
Using positive weights: {'beat': 19, 'downbeat': 98}
Will compile model frontend
Will compile model transformer_blocks
Will compile model task_heads
Using 16bit Automatic Mixed Precision (AMP)
GPU available: True (cuda), used: True
TPU available: False, using: 0 TPU cores
HPU available: False, using: 0 HPUs
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
Loading train_dataloader to estimate number of stepping batches.
20.3 M Trainable params
16 Non-trainable params
20.3 M Total params
81.007 Total estimated model params size (MB)
236 Modules in train mode
0 Modules in eval mode
Sanity Checking DataLoader 0: 0%| | 0/1 [00:00<?, ?it/s]W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] Graph break from Tensor.item(), consider setting:
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] torch._dynamo.config.capture_scalar_outputs = True
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] or:
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] env TORCHDYNAMO_CAPTURE_SCALAR_OUTPUTS=1
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] to include these operations in the captured graph.
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0]
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] Graph break: from user code at:
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/external_utils.py", line 40, in inner
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] return fn(*args, **kwargs)
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] input = module(input)
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] input = module(input)
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] input = module(input)
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/beat_tracker.py", line 293, in forward
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] x = x + self.attnF(x)
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/roformer.py", line 122, in forward
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] q = self.rotary_embed.rotate_queries_or_keys(q)
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 183, in rotate_queries_or_keys
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] freqs = self.forward(seq, seq_len = seq_len, offset = offset)
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/amp/autocast_mode.py", line 44, in decorate_autocast
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] return func(*args, **kwargs)
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 307, in forward
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] (offset + seq_len) <= self.cached_freqs_seq_len.item()
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0]
W1111 17:55:15.914000 20523 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0]
Traceback (most recent call last):
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1446, in call_user_compiler
compiled_fn = compiler_fn(gm, self.example_inputs())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/dynamo/repro/after_dynamo.py", line 129, in call
compiled_gm = compiler_fn(gm, example_inputs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/init.py", line 2234, in call
return compile_fx(model
, inputs
, config_patches=self.config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_inductor/compile_fx.py", line 1521, in compile_fx
return aot_autograd(
^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/backends/common.py", line 72, in call
cg = aot_module_simplified(gm, example_inputs, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/aot_autograd.py", line 1071, in aot_module_simplified
compiled_fn = dispatch_and_compile()
^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/aot_autograd.py", line 1056, in dispatch_and_compile
compiled_fn, _ = create_aot_dispatcher_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/aot_autograd.py", line 522, in create_aot_dispatcher_function
return _create_aot_dispatcher_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/aot_autograd.py", line 623, in _create_aot_dispatcher_function
fw_metadata = run_functionalized_fw_and_collect_metadata(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/_aot_autograd/collect_metadata_analysis.py", line 173, in inner
flat_f_outs = f(*flat_f_args)
^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/_aot_autograd/traced_function_transforms.py", line 859, in functional_call
out = PropagateUnbackedSymInts(mod).run(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/fx/interpreter.py", line 146, in run
self.env[node] = self.run_node(node)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/fx/experimental/symbolic_shapes.py", line 5498, in run_node
result = super().run_node(n)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/fx/interpreter.py", line 203, in run_node
return getattr(self, n.op)(n.target, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/fx/interpreter.py", line 297, in call_method
return getattr(self_obj, target)(*args_tail, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/functional_tensor.py", line 534, in torch_dispatch
outs_unwrapped = func._op_dk(
^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/utils/_stats.py", line 21, in wrapper
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_tensor.py", line 1238, in torch_dispatch
return self.dispatch(func, types, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_tensor.py", line 1692, in dispatch
return self._cached_dispatch_impl(func, types, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_tensor.py", line 1339, in _cached_dispatch_impl
output = self._dispatch_impl(func, types, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_tensor.py", line 1983, in _dispatch_impl
op_impl_out = op_impl(self, func, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_impls.py", line 147, in dispatch_to_op_implementations_dict
return op_implementations_dict[func](fake_mode, func, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_impls.py", line 593, in multi_device_op_default
return run_and_return_new_tensor_of_input_device(fake_mode, func, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_impls.py", line 503, in run_and_return_new_tensor_of_input_device
out = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_ops.py", line 716, in call
return self._op(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: aten::copy() Expected a value of type 'Tensor' for argument 'src' but instead found type 'int'.
Position: 1
Value: 32
Declaration: aten::copy(Tensor self, Tensor src, bool non_blocking=False) -> Tensor
Cast error details: Unable to cast 32 to Tensor

While executing %copy_ : [num_users=0] = call_method[target=copy_](args = (%l_self_buffers_cached_freqs_seq_len_, 32), kwargs = {})
Original traceback:
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 318, in torch_dynamo_resume_in_forward_at_307
self.cached_freqs_seq_len.copy_(seq_len)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/biabc/beatthis/repo_bt/beat_this/launch_scripts/train.py", line 277, in
main(args)
File "/home/biabc/beatthis/repo_bt/beat_this/launch_scripts/train.py", line 127, in main
trainer.fit(pl_model, datamodule)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 538, in fit
call._call_and_handle_interrupt(
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/call.py", line 47, in _call_and_handle_interrupt
return trainer_fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 574, in _fit_impl
self._run(model, ckpt_path=ckpt_path)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 981, in _run
results = self._run_stage()
^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 1023, in _run_stage
self._run_sanity_check()
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 1052, in _run_sanity_check
val_loop.run()
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/loops/utilities.py", line 178, in _decorator
return loop_run(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/loops/evaluation_loop.py", line 135, in run
self._evaluation_step(batch, batch_idx, dataloader_idx, dataloader_iter)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/loops/evaluation_loop.py", line 396, in _evaluation_step
output = call._call_strategy_hook(trainer, hook_name, *step_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/call.py", line 319, in _call_strategy_hook
output = fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/strategies/strategy.py", line 411, in validation_step
return self.lightning_module.validation_step(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/pl_module.py", line 209, in validation_step
model_prediction = self.model(batch["spect"])
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/beat_tracker.py", line 188, in forward
x = self.frontend(x)
^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/eval_frame.py", line 465, in _fn
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/external_utils.py", line 40, in inner
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
input = module(input)
^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
input = module(input)
^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
input = module(input)
^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/beat_tracker.py", line 289, in forward
def forward(self, x):
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/roformer.py", line 114, in forward
def forward(self, x):
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 174, in rotate_queries_or_keys
def rotate_queries_or_keys(self, t, seq_dim = None, offset = 0, scale = None):
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/amp/autocast_mode.py", line 44, in decorate_autocast
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 289, in forward
@autocast('cuda', enabled = False)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1269, in call
return self._torchdynamo_orig_callable(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1064, in call
result = self._inner_convert(
^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 526, in call
return _compile(
^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 924, in _compile
guarded_code = compile_inner(code, one_graph, hooks, transform)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 666, in compile_inner
return _compile_inner(code, one_graph, hooks, transform)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_utils_internal.py", line 87, in wrapper_function
return function(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 699, in _compile_inner
out_code = transform_code_object(code, transform)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/bytecode_transformation.py", line 1322, in transform_code_object
transformations(instructions, code_options)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 219, in _fn
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 634, in transform
tracer.run()
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 2796, in run
super().run()
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 983, in run
while self.step():
^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 895, in step
self.dispatch_table[inst.opcode](self, inst)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 2987, in RETURN_VALUE
self._return(inst)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 2972, in _return
self.output.compile_subgraph(
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1117, in compile_subgraph
self.compile_and_call_fx_graph(tx, list(reversed(stack_values)), root)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1369, in compile_and_call_fx_graph
compiled_fn = self.call_user_compiler(gm)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1416, in call_user_compiler
return self._call_user_compiler(gm)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1465, in _call_user_compiler
raise BackendCompilerFailed(self.compiler_fn, e) from e
torch._dynamo.exc.BackendCompilerFailed: backend='inductor' raised:
RuntimeError: aten::copy() Expected a value of type 'Tensor' for argument 'src' but instead found type 'int'.
Position: 1
Value: 32
Declaration: aten::copy(Tensor self, Tensor src, bool non_blocking=False) -> Tensor
Cast error details: Unable to cast 32 to Tensor

While executing %copy_ : [num_users=0] = call_method[target=copy_](args = (%l_self_buffers_cached_freqs_seq_len_, 32), kwargs = {})
Original traceback:
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 318, in torch_dynamo_resume_in_forward_at_307
self.cached_freqs_seq_len.copy_(seq_len)

Set TORCH_LOGS="+dynamo" and TORCHDYNAMO_VERBOSE=1 for more information

You can suppress this exception and fall back to eager by setting:
import torch._dynamo
torch._dynamo.config.suppress_errors = True

Seed set to 1
Starting a new run with the following parameters:
Namespace(name='', gpu=0, force_flash_attention=False, compile=['frontend', 'transformer_blocks', 'task_heads'], n_layers=6, transformer_dim=512, frontend_dropout=0.1, transformer_dropout=0.2, lr=0.0008, weight_decay=0.01, logger='none', num_workers=8, n_heads=16, fps=50, loss='shift_tolerant_weighted_bce', warmup_steps=1000, max_epochs=100, batch_size=8, accumulate_grad_batches=8, train_length=1500, dbn=False, eval_trim_beats=5, val_frequency=5, tempo_augmentation=True, pitch_augmentation=True, mask_augmentation=True, sum_head=True, partial_transformers=True, length_based_oversampling_factor=0.65, val=False, hung_data=False, fold=None, seed=1)
Validation set: 137 items from: harmonix
Training set oversampled from 911 to 4424 excerpts.
Training set: 4424 items from: harmonix
Using positive weights: {'beat': 19, 'downbeat': 98}
Will compile model frontend
Will compile model transformer_blocks
Will compile model task_heads
Using 16bit Automatic Mixed Precision (AMP)
GPU available: True (cuda), used: True
TPU available: False, using: 0 TPU cores
HPU available: False, using: 0 HPUs
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
Loading train_dataloader to estimate number of stepping batches.
20.3 M Trainable params
16 Non-trainable params
20.3 M Total params
81.007 Total estimated model params size (MB)
236 Modules in train mode
0 Modules in eval mode
Sanity Checking DataLoader 0: 0%| | 0/1 [00:00<?, ?it/s]W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] Graph break from Tensor.item(), consider setting:
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] torch._dynamo.config.capture_scalar_outputs = True
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] or:
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] env TORCHDYNAMO_CAPTURE_SCALAR_OUTPUTS=1
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] to include these operations in the captured graph.
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0]
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] Graph break: from user code at:
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/external_utils.py", line 40, in inner
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] return fn(*args, **kwargs)
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] input = module(input)
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] input = module(input)
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] input = module(input)
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/beat_tracker.py", line 293, in forward
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] x = x + self.attnF(x)
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/roformer.py", line 122, in forward
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] q = self.rotary_embed.rotate_queries_or_keys(q)
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 183, in rotate_queries_or_keys
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] freqs = self.forward(seq, seq_len = seq_len, offset = offset)
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/amp/autocast_mode.py", line 44, in decorate_autocast
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] return func(*args, **kwargs)
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 307, in forward
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] (offset + seq_len) <= self.cached_freqs_seq_len.item()
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0]
W1111 17:55:29.797000 20795 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0]
Traceback (most recent call last):
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1446, in call_user_compiler
compiled_fn = compiler_fn(gm, self.example_inputs())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/dynamo/repro/after_dynamo.py", line 129, in call
compiled_gm = compiler_fn(gm, example_inputs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/init.py", line 2234, in call
return compile_fx(model
, inputs
, config_patches=self.config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_inductor/compile_fx.py", line 1521, in compile_fx
return aot_autograd(
^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/backends/common.py", line 72, in call
cg = aot_module_simplified(gm, example_inputs, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/aot_autograd.py", line 1071, in aot_module_simplified
compiled_fn = dispatch_and_compile()
^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/aot_autograd.py", line 1056, in dispatch_and_compile
compiled_fn, _ = create_aot_dispatcher_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/aot_autograd.py", line 522, in create_aot_dispatcher_function
return _create_aot_dispatcher_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/aot_autograd.py", line 623, in _create_aot_dispatcher_function
fw_metadata = run_functionalized_fw_and_collect_metadata(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/_aot_autograd/collect_metadata_analysis.py", line 173, in inner
flat_f_outs = f(*flat_f_args)
^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/_aot_autograd/traced_function_transforms.py", line 859, in functional_call
out = PropagateUnbackedSymInts(mod).run(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/fx/interpreter.py", line 146, in run
self.env[node] = self.run_node(node)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/fx/experimental/symbolic_shapes.py", line 5498, in run_node
result = super().run_node(n)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/fx/interpreter.py", line 203, in run_node
return getattr(self, n.op)(n.target, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/fx/interpreter.py", line 297, in call_method
return getattr(self_obj, target)(*args_tail, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/functional_tensor.py", line 534, in torch_dispatch
outs_unwrapped = func._op_dk(
^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/utils/_stats.py", line 21, in wrapper
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_tensor.py", line 1238, in torch_dispatch
return self.dispatch(func, types, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_tensor.py", line 1692, in dispatch
return self._cached_dispatch_impl(func, types, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_tensor.py", line 1339, in _cached_dispatch_impl
output = self._dispatch_impl(func, types, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_tensor.py", line 1983, in _dispatch_impl
op_impl_out = op_impl(self, func, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_impls.py", line 147, in dispatch_to_op_implementations_dict
return op_implementations_dict[func](fake_mode, func, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_impls.py", line 593, in multi_device_op_default
return run_and_return_new_tensor_of_input_device(fake_mode, func, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_impls.py", line 503, in run_and_return_new_tensor_of_input_device
out = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_ops.py", line 716, in call
return self._op(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: aten::copy() Expected a value of type 'Tensor' for argument 'src' but instead found type 'int'.
Position: 1
Value: 32
Declaration: aten::copy(Tensor self, Tensor src, bool non_blocking=False) -> Tensor
Cast error details: Unable to cast 32 to Tensor

While executing %copy_ : [num_users=0] = call_method[target=copy_](args = (%l_self_buffers_cached_freqs_seq_len_, 32), kwargs = {})
Original traceback:
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 318, in torch_dynamo_resume_in_forward_at_307
self.cached_freqs_seq_len.copy_(seq_len)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/biabc/beatthis/repo_bt/beat_this/launch_scripts/train.py", line 277, in
main(args)
File "/home/biabc/beatthis/repo_bt/beat_this/launch_scripts/train.py", line 127, in main
trainer.fit(pl_model, datamodule)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 538, in fit
call._call_and_handle_interrupt(
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/call.py", line 47, in _call_and_handle_interrupt
return trainer_fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 574, in _fit_impl
self._run(model, ckpt_path=ckpt_path)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 981, in _run
results = self._run_stage()
^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 1023, in _run_stage
self._run_sanity_check()
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 1052, in _run_sanity_check
val_loop.run()
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/loops/utilities.py", line 178, in _decorator
return loop_run(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/loops/evaluation_loop.py", line 135, in run
self._evaluation_step(batch, batch_idx, dataloader_idx, dataloader_iter)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/loops/evaluation_loop.py", line 396, in _evaluation_step
output = call._call_strategy_hook(trainer, hook_name, *step_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/call.py", line 319, in _call_strategy_hook
output = fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/strategies/strategy.py", line 411, in validation_step
return self.lightning_module.validation_step(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/pl_module.py", line 209, in validation_step
model_prediction = self.model(batch["spect"])
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/beat_tracker.py", line 188, in forward
x = self.frontend(x)
^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/eval_frame.py", line 465, in _fn
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/external_utils.py", line 40, in inner
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
input = module(input)
^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
input = module(input)
^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
input = module(input)
^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/beat_tracker.py", line 289, in forward
def forward(self, x):
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/roformer.py", line 114, in forward
def forward(self, x):
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 174, in rotate_queries_or_keys
def rotate_queries_or_keys(self, t, seq_dim = None, offset = 0, scale = None):
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/amp/autocast_mode.py", line 44, in decorate_autocast
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 289, in forward
@autocast('cuda', enabled = False)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1269, in call
return self._torchdynamo_orig_callable(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1064, in call
result = self._inner_convert(
^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 526, in call
return _compile(
^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 924, in _compile
guarded_code = compile_inner(code, one_graph, hooks, transform)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 666, in compile_inner
return _compile_inner(code, one_graph, hooks, transform)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_utils_internal.py", line 87, in wrapper_function
return function(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 699, in _compile_inner
out_code = transform_code_object(code, transform)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/bytecode_transformation.py", line 1322, in transform_code_object
transformations(instructions, code_options)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 219, in _fn
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 634, in transform
tracer.run()
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 2796, in run
super().run()
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 983, in run
while self.step():
^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 895, in step
self.dispatch_table[inst.opcode](self, inst)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 2987, in RETURN_VALUE
self._return(inst)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 2972, in _return
self.output.compile_subgraph(
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1117, in compile_subgraph
self.compile_and_call_fx_graph(tx, list(reversed(stack_values)), root)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1369, in compile_and_call_fx_graph
compiled_fn = self.call_user_compiler(gm)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1416, in call_user_compiler
return self._call_user_compiler(gm)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1465, in _call_user_compiler
raise BackendCompilerFailed(self.compiler_fn, e) from e
torch._dynamo.exc.BackendCompilerFailed: backend='inductor' raised:
RuntimeError: aten::copy() Expected a value of type 'Tensor' for argument 'src' but instead found type 'int'.
Position: 1
Value: 32
Declaration: aten::copy(Tensor self, Tensor src, bool non_blocking=False) -> Tensor
Cast error details: Unable to cast 32 to Tensor

While executing %copy_ : [num_users=0] = call_method[target=copy_](args = (%l_self_buffers_cached_freqs_seq_len_, 32), kwargs = {})
Original traceback:
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 318, in torch_dynamo_resume_in_forward_at_307
self.cached_freqs_seq_len.copy_(seq_len)

Set TORCH_LOGS="+dynamo" and TORCHDYNAMO_VERBOSE=1 for more information

You can suppress this exception and fall back to eager by setting:
import torch._dynamo
torch._dynamo.config.suppress_errors = True

Seed set to 2
Starting a new run with the following parameters:
Namespace(name='', gpu=0, force_flash_attention=False, compile=['frontend', 'transformer_blocks', 'task_heads'], n_layers=6, transformer_dim=512, frontend_dropout=0.1, transformer_dropout=0.2, lr=0.0008, weight_decay=0.01, logger='none', num_workers=8, n_heads=16, fps=50, loss='shift_tolerant_weighted_bce', warmup_steps=1000, max_epochs=100, batch_size=8, accumulate_grad_batches=8, train_length=1500, dbn=False, eval_trim_beats=5, val_frequency=5, tempo_augmentation=True, pitch_augmentation=True, mask_augmentation=True, sum_head=True, partial_transformers=True, length_based_oversampling_factor=0.65, val=False, hung_data=False, fold=None, seed=2)
Validation set: 137 items from: harmonix
Training set oversampled from 911 to 4424 excerpts.
Training set: 4424 items from: harmonix
Using positive weights: {'beat': 19, 'downbeat': 98}
Will compile model frontend
Will compile model transformer_blocks
Will compile model task_heads
Using 16bit Automatic Mixed Precision (AMP)
GPU available: True (cuda), used: True
TPU available: False, using: 0 TPU cores
HPU available: False, using: 0 HPUs
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
Loading train_dataloader to estimate number of stepping batches.
20.3 M Trainable params
16 Non-trainable params
20.3 M Total params
81.007 Total estimated model params size (MB)
236 Modules in train mode
0 Modules in eval mode
Sanity Checking DataLoader 0: 0%| | 0/1 [00:00<?, ?it/s]W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] Graph break from Tensor.item(), consider setting:
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] torch._dynamo.config.capture_scalar_outputs = True
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] or:
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] env TORCHDYNAMO_CAPTURE_SCALAR_OUTPUTS=1
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] to include these operations in the captured graph.
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0]
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] Graph break: from user code at:
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/external_utils.py", line 40, in inner
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] return fn(*args, **kwargs)
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] input = module(input)
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] input = module(input)
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] input = module(input)
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/beat_tracker.py", line 293, in forward
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] x = x + self.attnF(x)
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/roformer.py", line 122, in forward
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] q = self.rotary_embed.rotate_queries_or_keys(q)
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 183, in rotate_queries_or_keys
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] freqs = self.forward(seq, seq_len = seq_len, offset = offset)
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/amp/autocast_mode.py", line 44, in decorate_autocast
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] return func(*args, **kwargs)
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 307, in forward
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0] (offset + seq_len) <= self.cached_freqs_seq_len.item()
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0]
W1111 17:55:43.596000 21069 site-packages/torch/_dynamo/variables/tensor.py:776] [0/0]
Traceback (most recent call last):
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1446, in call_user_compiler
compiled_fn = compiler_fn(gm, self.example_inputs())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/dynamo/repro/after_dynamo.py", line 129, in call
compiled_gm = compiler_fn(gm, example_inputs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/init.py", line 2234, in call
return compile_fx(model
, inputs
, config_patches=self.config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_inductor/compile_fx.py", line 1521, in compile_fx
return aot_autograd(
^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/backends/common.py", line 72, in call
cg = aot_module_simplified(gm, example_inputs, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/aot_autograd.py", line 1071, in aot_module_simplified
compiled_fn = dispatch_and_compile()
^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/aot_autograd.py", line 1056, in dispatch_and_compile
compiled_fn, _ = create_aot_dispatcher_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/aot_autograd.py", line 522, in create_aot_dispatcher_function
return _create_aot_dispatcher_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/aot_autograd.py", line 623, in _create_aot_dispatcher_function
fw_metadata = run_functionalized_fw_and_collect_metadata(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/_aot_autograd/collect_metadata_analysis.py", line 173, in inner
flat_f_outs = f(*flat_f_args)
^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_functorch/_aot_autograd/traced_function_transforms.py", line 859, in functional_call
out = PropagateUnbackedSymInts(mod).run(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/fx/interpreter.py", line 146, in run
self.env[node] = self.run_node(node)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/fx/experimental/symbolic_shapes.py", line 5498, in run_node
result = super().run_node(n)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/fx/interpreter.py", line 203, in run_node
return getattr(self, n.op)(n.target, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/fx/interpreter.py", line 297, in call_method
return getattr(self_obj, target)(*args_tail, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/functional_tensor.py", line 534, in torch_dispatch
outs_unwrapped = func._op_dk(
^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/utils/_stats.py", line 21, in wrapper
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_tensor.py", line 1238, in torch_dispatch
return self.dispatch(func, types, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_tensor.py", line 1692, in dispatch
return self._cached_dispatch_impl(func, types, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_tensor.py", line 1339, in _cached_dispatch_impl
output = self._dispatch_impl(func, types, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_tensor.py", line 1983, in _dispatch_impl
op_impl_out = op_impl(self, func, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_impls.py", line 147, in dispatch_to_op_implementations_dict
return op_implementations_dict[func](fake_mode, func, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_impls.py", line 593, in multi_device_op_default
return run_and_return_new_tensor_of_input_device(fake_mode, func, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_subclasses/fake_impls.py", line 503, in run_and_return_new_tensor_of_input_device
out = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_ops.py", line 716, in call
return self._op(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: aten::copy() Expected a value of type 'Tensor' for argument 'src' but instead found type 'int'.
Position: 1
Value: 32
Declaration: aten::copy(Tensor self, Tensor src, bool non_blocking=False) -> Tensor
Cast error details: Unable to cast 32 to Tensor

While executing %copy_ : [num_users=0] = call_method[target=copy_](args = (%l_self_buffers_cached_freqs_seq_len_, 32), kwargs = {})
Original traceback:
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 318, in torch_dynamo_resume_in_forward_at_307
self.cached_freqs_seq_len.copy_(seq_len)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/biabc/beatthis/repo_bt/beat_this/launch_scripts/train.py", line 277, in
main(args)
File "/home/biabc/beatthis/repo_bt/beat_this/launch_scripts/train.py", line 127, in main
trainer.fit(pl_model, datamodule)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 538, in fit
call._call_and_handle_interrupt(
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/call.py", line 47, in _call_and_handle_interrupt
return trainer_fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 574, in _fit_impl
self._run(model, ckpt_path=ckpt_path)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 981, in _run
results = self._run_stage()
^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 1023, in _run_stage
self._run_sanity_check()
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/trainer.py", line 1052, in _run_sanity_check
val_loop.run()
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/loops/utilities.py", line 178, in _decorator
return loop_run(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/loops/evaluation_loop.py", line 135, in run
self._evaluation_step(batch, batch_idx, dataloader_idx, dataloader_iter)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/loops/evaluation_loop.py", line 396, in _evaluation_step
output = call._call_strategy_hook(trainer, hook_name, *step_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/trainer/call.py", line 319, in _call_strategy_hook
output = fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/pytorch_lightning/strategies/strategy.py", line 411, in validation_step
return self.lightning_module.validation_step(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/pl_module.py", line 209, in validation_step
model_prediction = self.model(batch["spect"])
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/beat_tracker.py", line 188, in forward
x = self.frontend(x)
^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/eval_frame.py", line 465, in _fn
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/external_utils.py", line 40, in inner
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
input = module(input)
^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
input = module(input)
^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/container.py", line 250, in forward
input = module(input)
^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/beat_tracker.py", line 289, in forward
def forward(self, x):
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/beat_this/model/roformer.py", line 114, in forward
def forward(self, x):
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 174, in rotate_queries_or_keys
def rotate_queries_or_keys(self, t, seq_dim = None, offset = 0, scale = None):
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/amp/autocast_mode.py", line 44, in decorate_autocast
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 289, in forward
@autocast('cuda', enabled = False)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1269, in call
return self._torchdynamo_orig_callable(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 1064, in call
result = self._inner_convert(
^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 526, in call
return _compile(
^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 924, in _compile
guarded_code = compile_inner(code, one_graph, hooks, transform)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 666, in compile_inner
return _compile_inner(code, one_graph, hooks, transform)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_utils_internal.py", line 87, in wrapper_function
return function(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 699, in _compile_inner
out_code = transform_code_object(code, transform)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/bytecode_transformation.py", line 1322, in transform_code_object
transformations(instructions, code_options)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 219, in _fn
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/convert_frame.py", line 634, in transform
tracer.run()
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 2796, in run
super().run()
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 983, in run
while self.step():
^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 895, in step
self.dispatch_table[inst.opcode](self, inst)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 2987, in RETURN_VALUE
self._return(inst)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/symbolic_convert.py", line 2972, in _return
self.output.compile_subgraph(
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1117, in compile_subgraph
self.compile_and_call_fx_graph(tx, list(reversed(stack_values)), root)
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1369, in compile_and_call_fx_graph
compiled_fn = self.call_user_compiler(gm)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1416, in call_user_compiler
return self._call_user_compiler(gm)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/torch/_dynamo/output_graph.py", line 1465, in _call_user_compiler
raise BackendCompilerFailed(self.compiler_fn, e) from e
torch._dynamo.exc.BackendCompilerFailed: backend='inductor' raised:
RuntimeError: aten::copy() Expected a value of type 'Tensor' for argument 'src' but instead found type 'int'.
Position: 1
Value: 32
Declaration: aten::copy(Tensor self, Tensor src, bool non_blocking=False) -> Tensor
Cast error details: Unable to cast 32 to Tensor

While executing %copy_ : [num_users=0] = call_method[target=copy_](args = (%l_self_buffers_cached_freqs_seq_len_, 32), kwargs = {})
Original traceback:
File "/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/rotary_embedding_torch/rotary_embedding_torch.py", line 318, in torch_dynamo_resume_in_forward_at_307
self.cached_freqs_seq_len.copy_(seq_len) ''''


Thanks for your attention! Right now, in my annotations/spectrograms folders, I have both the harmonix and the npz folders. The problem is that an integer (32) is being used where a tensor is expected, causing a type mismatch when RotaryEmbedding() is called in beat_track.py. I tried different library versions, but it doesn't seem to be a version conflict.

@fosfrancesco
Copy link
Member

Thank you!
According to the instructions the spectrograms should be on data/audio/spectrograms, not in annotations/spectrograms.

Could you have copied them to the wrong directory?

@biabcaval
Copy link
Author

Oh sorry, i meant the annotations and the spectrograms folders, separately.

@fosfrancesco
Copy link
Member

I see. Could you try to train without compiling the model? So maybe we have a more useful log.
To do so, you can use this command.
python launch_scripts/train.py --compile

@biabcaval
Copy link
Author

python launch_scripts/train.py --compile Seed set to 0 Starting a new run with the following parameters: Namespace(name='', gpu=0, force_flash_attention=False, compile=[], n_layers=6, transformer_dim=512, frontend_dropout=0.1, transformer_dropout=0.2, lr=0.0008, weight_decay=0.01, logger='none', num_workers=8, n_heads=16, fps=50, loss='shift_tolerant_weighted_bce', warmup_steps=1000, max_epochs=100, batch_size=8, accumulate_grad_batches=8, train_length=1500, dbn=False, eval_trim_beats=5, val_frequency=5, tempo_augmentation=True, pitch_augmentation=True, mask_augmentation=True, sum_head=True, partial_transformers=True, length_based_oversampling_factor=0.65, val=True, hung_data=False, fold=None, seed=0) Validation set: 137 items from: harmonix Training set oversampled from 774 to 3759 excerpts. Training set: 3759 items from: harmonix Using positive weights: {'beat': 19, 'downbeat': 98} Using 16bit Automatic Mixed Precision (AMP) GPU available: True (cuda), used: True TPU available: False, using: 0 TPU cores HPU available: False, using: 0 HPUs LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0] Loading train_dataloader to estimate number of stepping batches. 20.3 M Trainable params 16 Non-trainable params 20.3 M Total params 81.007 Total estimated model params size (MB) 233 Modules in train mode 0 Modules in eval mode Sanity Checking DataLoader 0: 0%| | 0/1 [00:00<?, ?it/s]/home/biabc/miniconda3/envs/beatThis/lib/python3.11/site-packages/mir_eval/beat.py:94: UserWarning: Estimated beats are empty. warnings.warn("Estimated beats are empty.")

note that the train keeps running after that, but I've noticed that the reference beats are arriving empty to the mir_eval library. This seems to cause the metrics to drop significantly, and I suspect it might be due to a version discrepancy.
I understand that this is a very specific problem, and I certainly don't want to take up too much of your time, if possible, could you kindly share a pip freeze list of your library versions? This would help me determine if the issue is related to the mir_eval library version. Also, if you could share your cuda version as well, just so i could eliminate other error possibilities.

Thank you so much for your assistance and understanding. I really appreciate it!

@fosfrancesco
Copy link
Member

No problem, I'm happy to help :)

I'm using mir_eval 0.7, but mir_eval is not the problem. At the beginning of the training, the model still predicts random outputs, so it's normal that no beats are predicted for the first epochs. This is solved after some training.

I'm more preoccupied with the cast problem you mentioned before. I think it is something related to the fact that you are only using 1 dataset instead of all of them. But I don't have time to test the code this week.
I will try to run it as soon as possible and see if I can reproduce your problem!

@f0k
Copy link
Member

f0k commented Nov 12, 2024

Hey, only saw this now!

I've noticed that the reference beats are arriving empty to the mir_eval library.

It is normal that mir_eval warns about empty predictions in the beginning, but it should not warn about empty references. Do you only get the UserWarning: Estimated beats are empty. I can see in your log? This is about the predictions, not the references. If you also get empty references: You said you created the spectrograms yourself. Do you also use your annotations, or do you use ours? Is it possible there is a mismatch in the audio lengths that causes some empty reference excerpts? We use the version of the Harmonix dataset from Hung et al., to be directly comparable, not the version of Nieto et al.. Try downloading harmonix.zip from Zenodo for comparison.

The problem is that an integer (32) is being used where a tensor is expected, causing a type mismatch when RotaryEmbedding() is called in beat_track.py. I tried different library versions, but it doesn't seem to be a version conflict.

It seems that this is a legit finding that only manifests when compiling with a more recent PyTorch version. Apparently PyTorch is lenient about this in Python, but strict in Dynamo. Note that this is in lucidrains' rotary-embedding-torch module, not in our code. Looking at the source code, I wonder why cached_freqs_seq_len is a Tensor at all. I would suggest changing it to an int in the constructor, removing the .item() call and changing .copy_() to a regular assignment. If this compiles, feel free to send a pull request to lucidrains.

could you kindly share a pip freeze list of your library versions?

I'm attaching the conda list -e output for the environment I used for testing the release version of beat_this: requirements.txt. Sorry for including code formatting tools (black, isort, pylint) and ipython. This was with CUDA 11.8.

@biabcaval
Copy link
Author

Hey, using the command python launch_scripts/train.py --compile to train the model with the spectrograms you provided, the training occurred perfectly, and I was able to reproduce the metrics from your paper. It was likely related to the spectrograms and the track durations, as you suggested. Thank you for your help, it was a really small detail but i would have taken more time to realise it alone.

@f0k
Copy link
Member

f0k commented Nov 12, 2024

Good to hear that it works now! I'd still encourage you to send a pull request to rotary-embedding-torch since you found the bug there. The easiest option is to use the pencil button on the top right at https://github.com/lucidrains/rotary-embedding-torch/blob/main/rotary_embedding_torch/rotary_embedding_torch.py; this would create a fork in which you can edit the file, save as a commit and then send a pull request. With the changes outlined above, you will be able to compile the model.

@f0k
Copy link
Member

f0k commented Nov 27, 2024

Sent a pull request to lucidrains now, as we need it ourselves: lucidrains/rotary-embedding-torch#38

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants