cnulab/RealNet

backbone替换

Closed this issue · 2 comments

更换backbone为efficientnet_b4的时候我遇到了以下bug,我确认了timm==0.5.4
values, indices = torch.topk(cri_sum_vec[i], k=block['layers'][i]['planes'], dim=-1, largest=False)
RuntimeError: selected index k out of range

你好!
替换backbone需要更新配置文件,这是我当时使用efficientnet_b4时的相关配置。

structure:
  - name: block1
    layers:
      - idx: layer1
        planes: 24
    stride: 2

  - name: block2
    layers:
      - idx: layer2
        planes: 32
    stride: 4

  - name: block3
    layers:
      - idx: layer3
        planes: 56
    stride: 8

  - name: block4
    layers:
      - idx: layer4
        planes: 160
    stride: 16


net:
  - name: backbone
    type: models.backbones.Backbone
    frozen: True
    kwargs:
      backbone: efficientnet_b4

  - name: afs
    type: models.afs.AFS
    frozen: True
    prev: backbone
    kwargs:
      init_bsn: 64

  - name: recon
    type: models.recon.SimpleReconstructionLayer
    prev: afs
    kwargs:
      num_residual_layers: 12

  - name: rrs
    type: models.rrs.RRS
    prev: recon
    kwargs:
      modes: [max,mean]
      mode_numbers: [68,68]
      num_residual_layers: 2
      stop_grad: False

由于代码的版本不同,可能有些变量名字发生了变化,请你参照修改。

非常感谢