Transfer learning unable to do

Abierto
#391 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
28/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
python

Línea de trabajo

Empieza rastreando get_deeplab_resnest101_ade en deeplab.py, el número de clases en ade20k.py y la carga del modelo y el reemplazo de la head en train_dist.py. Ejecuta el comando train_dist.py proporcionado e inspecciona dónde se determina el número de clases de salida. Se considera terminado cuando el modelo entrenado produce 8 clases en lugar de 150.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Hi @zhanghang1989
I am unable to do transfer learning on the model
i have downloaded get_deeplab_resnest101_ade and
when i changed the no of classes in ade20k.py (no of classes 8)
pre trained model is not loading ( getting error )

So I have changed the code for Transfer learning

Code changes:
  1. deeplab.py
    in get_deeplab_resnest101_ade function changed from
    from
    #model = DeepLabV3(datasets[dataset.lower()].NUM_CLASS, backbone=backbone, root=root, **kwargs)
    to
    no_of_classes = 150
    model = DeepLabV3(no_of_classes, backbone=backbone, root=root, **kwargs)

so i can load pretrained model with 150 classes
then
2) In train_dist.py file

Model loading

model_ft = get_deeplab_resnest101_ade(pretrained=True)

for param in model.parameters():
param.requires_grad = False

model_ft.head.block = Sequential(
(Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)),
(BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)),
(ReLU(inplace=True)),
(Dropout(p=0.1, inplace=False)),
(Conv2d(256, 8, kernel_size=(1, 1), stride=(1, 1))))

for param in model_ft.head.parameters():
param.requires_grad = True

Training

python train_dist.py --dataset ade20k --model deeplab --aux --backbone resnest101 --ft --epochs 100

after successful training
i am getting 150 classes output not 8 classes(i have given 8 classes in last layer)
i need 8 classes output

can you help me with this

Lenguaje dominante
Python
Estrellas
2k
Forks
448
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de zhanghang1989/PyTorch-Encoding

Todos los issues de zhanghang1989/PyTorch-Encoding

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.