Skip to content

AssertionError: record_idx is illegal. The length of data_buffer is 0, but record_idx is 0. #658

@Su-Llo

Description

@Su-Llo

Checklist

  • I have searched related issues but cannot get the expected help.
  • I have read related documents and don't know what to do.

Describe the question you meet

[AssertionError: record_idx is illegal. The length of data_buffer is 0, but record_idx is 0.]

  1. Your train log file if you meet the problem during training.
    return forward_call(*input, **kwargs)
    File "/mnt/data0/Hu_jincai/mmrazor-main/mmrazor/models/algorithms/base.py", line 142, in forward
    return self.loss(inputs, data_samples)
    File "/mnt/data0/Hu_jincai/mmrazor-main/mmrazor/models/algorithms/distill/configurable/single_teacher_distill.py", line 145, in loss
    distill_losses = self.distiller.compute_distill_losses()
    File "/mnt/data0/Hu_jincai/mmrazor-main/mmrazor/models/distillers/configurable_distiller.py", line 217, in compute_distill_losses
    forward_var = self.get_record(**record)
    File "/mnt/data0/Hu_jincai/mmrazor-main/mmrazor/models/distillers/configurable_distiller.py", line 201, in get_record
    record_data = recorder_.get_record_data(record_idx, data_idx)
    File "/mnt/data0/Hu_jincai/mmrazor-main/mmrazor/models/task_modules/recorder/base_recorder.py", line 78, in get_record_data
    assert record_idx < len(self._data_buffer),
    AssertionError: record_idx is illegal. The length of data_buffer is 0, but record_idx is 0.

  2. Other code you modified in the mmrazor folder.
    [teacher_ckpt = '~/Hu_jincai/mmrazor-main/configs/distill/mmseg/KNet_best_mDice_iter_50292.pth'

noqa: E501

teacher_cfg_path = 'mmseg::knet/knet-s3_swin-l_upernet_8xb2-adamw-80k_ade20k-512x512.py' # noqa: E501

student_cfg_path = 'mmseg::fastscnn/fast_scnn_8xb4-160k_cityscapes-512x1024.py' # noqa: E501

teacher_cfg_path = 'mmseg::my_change/my_change_KNet.py' # noqa: E501
student_cfg_path = 'mmseg::my_change/my_change_FastSCNN.py' # noqa: E501

model = dict(
scope='mmrazor',
type='SingleTeacherDistill',
architecture=dict(cfg_path=student_cfg_path, pretrained=False),
teacher=dict(cfg_path=teacher_cfg_path, pretrained=False),
teacher_ckpt=teacher_ckpt,
distiller=dict(
type='ConfigurableDistiller',
distill_losses=dict(
loss_cwd=dict(type='ChannelWiseDivergence', tau=1, loss_weight=5)),
student_recorders=dict(
logits=dict(type='ModuleOutputs', source='decode_head.conv_seg')),
teacher_recorders=dict(
logits=dict(type='ModuleOutputs', source='decode_head.kernel_generate_head')),
loss_forward_mappings=dict(
loss_cwd=dict(
preds_S=dict(from_student=True, recorder='logits'),
preds_T=dict(from_student=False, recorder='logits')))))

find_unused_parameters = True

val_cfg = dict(delete=True, type='mmrazor.SingleTeacherDistillValLoop')
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions