Semana 2. Problema con el ejercicio de programacion: detector de zombies

Buenas a tod@s,
necesito ayuda con el ejercicio 10 de la tarea de programación del detector de zombies, al ejecutar el Fine-tuning, me da un error de código asociado a los gradientes:

ValueError: No gradients provided for any variable.

Llevo 4 días atascada con esto y no consigo solucionarlo.

Gracias de antemano.
Un saludo,
Ana.

Hola Ana,

El error “ValueError: No gradients provided for any variable” suele ocurrir cuando el optimizador no puede encontrar gradientes para las variables entrenables. Aquí tienes algunos pasos para solucionar el problema:

  • Asegúrate de que la función de pérdida se esté calculando correctamente y dependa de las variables entrenables.

  • Asegúrate de que las variables sean entrenables estableciendo trainable=True.

  • Asegúrate de que todas las operaciones estén dentro del contexto del gráfico computacional de TensorFlow utilizando tf.GradientTape().

  • Verifica que las variables estén correctamente inicializadas antes de iniciar el entrenamiento.

Si puedes compartir más detalles específicos del código, podría ayudarte mejor.

Por cierto, ¿te parece bien continuar la conversación en inglés?

Un saludo.

Thanks for your help.
I think I repair the problem.
But the fine tuning results are like this:

Start fine-tuning!
batch 0 of 100, loss=0.7599204
batch 10 of 100, loss=1.1855929
batch 20 of 100, loss=0.91637117
batch 30 of 100, loss=1.6579895
batch 40 of 100, loss=0.782537
batch 50 of 100, loss=0.74471855
batch 60 of 100, loss=1.061983
batch 70 of 100, loss=0.567788
batch 80 of 100, loss=0.45052978
batch 90 of 100, loss=0.58033246
Done fine-tuning!

And then when I make the detection, I have very bad results:
237
(4,)

False
False
False

And only 33.33333333333333%.

I think maybe the problem is in the checkpoint part.
In Exercise 6.1 when you see the type of the chekpoint that you had define you should see:

type(tmp_box_predictor_checkpoint)

Expected output:

tensorflow.python.training.tracking.util.Checkpoint.

And I have:
tensorflow.python.checkpoint.checkpoint.Checkpoint

How I can fix this?

Thanks a lot!!!

Good to hear that!

This issue you’re facing with the checkpoint type could be related to changes or updates in the TensorFlow API, make sure the TensorFlow version is as expected. Also, check previous cells and try not to hard code anything!

Hope it helps! However, If the issue persists, feel free to send your code in Private Messages to check your code more specifically.

is your resolved?

I have the same problem, I am getting ‘_box_predictor’: <tensorflow.python.checkpoint.checkpoint.Checkpoint at 0x7f26d101bc70>
Am I implementing the tmp_model_checkpoint correctly?
tmp_model_checkpoint = tf.train.Checkpoint(_feature_extractor=detection_model._feature_extractor,
_box_predictor=tmp_box_predictor_checkpoint)

The tmp_box_predictor_checkpoint = tf.train.Checkpoint(
_base_tower_layers_for_heads=detection_model._box_predictor._base_tower_layers_for_heads,
_box_prediction_head=detection_model._box_predictor._box_prediction_head,
)