Giter Site home page Giter Site logo

Comments (2)

aywi avatar aywi commented on September 9, 2024 1

It is kind of our fault for not cleaning up these code, since these options are defined for models that are deleted in the final paper.

  1. "_pt" means "pre-trained" models that we tested before, which are 2D & 3D mixed models where their 2D layers are pre-trained with Imagenet1k. Since we test pure 3D models in the final paper, these models are deleted for fair comparisons. You can also see that in the final experiments we choose feature layers all with "_ri", which means "randomly initialized" (pre-trained versions are ignored since we only use these 2D backbones from torchvision as sketches to build 3D feature layers):

    mprotonet/src/models.py

    Lines 27 to 47 in 4565e22

    def features_imagenet1k(features):
    if features == 'resnet18':
    return build_resnet_features(vision_models.resnet18(weights='IMAGENET1K_V1'))
    elif features == 'resnet18_ri':
    return build_resnet_features(vision_models.resnet18())
    elif features == 'resnet34':
    return build_resnet_features(vision_models.resnet34(weights='IMAGENET1K_V1'))
    elif features == 'resnet34_ri':
    return build_resnet_features(vision_models.resnet34())
    elif features == 'resnet50':
    return build_resnet_features(vision_models.resnet50(weights='IMAGENET1K_V2'))
    elif features == 'resnet50_ri':
    return build_resnet_features(vision_models.resnet50())
    elif features == 'resnet101':
    return build_resnet_features(vision_models.resnet101(weights='IMAGENET1K_V2'))
    elif features == 'resnet101_ri':
    return build_resnet_features(vision_models.resnet101())
    elif features == 'resnet152':
    return build_resnet_features(vision_models.resnet152(weights='IMAGENET1K_V2'))
    elif features == 'resnet152_ri':
    return build_resnet_features(vision_models.resnet152())
  2. "fixed" is a much older option when I tested the pre-trained models without a fixed training period in the beginning (yes, the correct name should be "not fixed").
  3. Vanilla ProtoPNet has a fixed training period because it is a 2D model pre-trained with Imagenet1k. Since we test pure 3D models that are randomly initialized in the final paper, this period becomes useless and only wastes training time.

So, in a word, just ignore them. I will add a commit later to remove these code.

from mprotonet.

xiaovhua avatar xiaovhua commented on September 9, 2024

It is kind of our fault for not cleaning up these code, since these options are defined for models that are deleted in the final paper.

  1. "_pt" means "pre-trained" models that we tested before, which are 2D & 3D mixed models where their 2D layers are pre-trained with Imagenet1k. Since we test pure 3D models in the final paper, these models are deleted for fair comparisons. You can also see that in the final experiments we choose feature layers all with "_ri", which means "randomly initialized" (pre-trained versions are ignored since we only use these 2D backbones from torchvision as sketches to build 3D feature layers):

    mprotonet/src/models.py

    Lines 27 to 47 in 4565e22

    def features_imagenet1k(features):
    if features == 'resnet18':
    return build_resnet_features(vision_models.resnet18(weights='IMAGENET1K_V1'))
    elif features == 'resnet18_ri':
    return build_resnet_features(vision_models.resnet18())
    elif features == 'resnet34':
    return build_resnet_features(vision_models.resnet34(weights='IMAGENET1K_V1'))
    elif features == 'resnet34_ri':
    return build_resnet_features(vision_models.resnet34())
    elif features == 'resnet50':
    return build_resnet_features(vision_models.resnet50(weights='IMAGENET1K_V2'))
    elif features == 'resnet50_ri':
    return build_resnet_features(vision_models.resnet50())
    elif features == 'resnet101':
    return build_resnet_features(vision_models.resnet101(weights='IMAGENET1K_V2'))
    elif features == 'resnet101_ri':
    return build_resnet_features(vision_models.resnet101())
    elif features == 'resnet152':
    return build_resnet_features(vision_models.resnet152(weights='IMAGENET1K_V2'))
    elif features == 'resnet152_ri':
    return build_resnet_features(vision_models.resnet152())
  2. "fixed" is a much older option when I tested the pre-trained models without a fixed training period in the beginning (yes, the correct name should be "not fixed").
  3. Vanilla ProtoPNet has a fixed training period because it is a 2D model pre-trained with Imagenet1k. Since we test pure 3D models that are randomly initialized in the final paper, this period becomes useless and only wastes training time.

So, in a word, just ignore them. I will add a commit later to remove these code.

I get it! Thank you so much!

from mprotonet.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.