Notice: La función wp_enqueue_script ha sido llamada de forma incorrecta. Los scripts y estilos no se deberían registrar o poner en cola hasta que se carguen los ganchos wp_enqueue_scripts, admin_enqueue_scripts y login_enqueue_scripts. Este aviso ha sido activado por la gestión de nfd_wpnavbar_setting. Por favor, ve depuración en WordPress para más información. (Este mensaje fue añadido en la versión 3.3.0). in /home1/spotsail/public_html/martra/wp-includes/functions.php on line 6078
Como obtener la certificación TensorFlow Developer Certificate. – Pere Martra
No se han encontrado widgets en la barra lateral
Tensorflow Developer CertificateCertificado que acredita a Pere Martra como Tensorflow Developer Certificate

Bueno, pues después de unos meses de preparación y unos días de nervios. Decidí presentarme al examen para obtener el TensorFlow Developer Certificate y lo aprobé en el primer intento.

Así que me decido a compartir cómo fue mi camino hacia el examen y cómo me preparé, por si a alguien le puede servir.

Lo que no voy a dar es detalles de cómo es el examen. Firmas un NDA en el que te indican claramente que si explicas con demasiado detalle como son las preguntas del examen se te retirará la certificación, cualquier otra certificación que tengas de Google, y nunca más podrás volver a presentarte a ningún examen de Google.

Solo voy a decir una cosa, que es de dominio público. El examen dura cinco horas, y tienes que solucionar unos cinco problemas. Esto ya nos puede dar una pista de que los Datasets usados no van a ser inmensos y que tampoco vamos a necesitar realizar entrenos increíblemente largos.

Venga, empiezo.

¿Porque el TensorFlow Developer Certificate?

Sinceramente, creo que es la certificación número 1 en el mundo del DeepLearning. Es una base. TensorFlow es la librería de Google y de facto es casi un estándar en el mundillo del Machine Learning. Se puede usar desde cualquiera de los frameworks de los grandes fabricantes, ya sea IBM, Azure de Microsoft, AWS de Amazon, y por supuesto GCP de Google.

La certificación, por lo que me parece, tiene una buena reputación. No se trata de un examen de preguntas y respuestas, sino que es un examen en el que tienes que crear modelos para solucionar los problemas que te plantean con los datos que te facilitan.

Aparte, son cinco horas de examen. Bueno, son cinco horas como máximo. Hay gente que acaba antes y gente, como yo, que llega al final con 10 minutillos de sobras. Aunque la última media hora la dedique a mejorar un par de modelos para incrementar la nota.

Mis conocimientos de IA antes de decidir realizar el examen.

Yo no trabajo como Machine Learning Engineer, ni Data Scientist, ni en nada relacionado con la IA. Mi trabajo está en el campo de la seguridad informática. Un campo bastante diferente, aunque últimamente las coincidencias entre a IA y la CiberSeguridad van aumentando.

Todo mi conocimiento previo estaba en la parte del Reinforcement Learning, una parte del Machine Learning que, gran suerte la mía, queda fuera del examen. Aparte que mi experiencia con Reinforcement Learning se basaba en la creación de personajes para juegos utilizando la librería ML Agents de Unity.

Es verdad que conocía los conceptos de: Entrenos, épocas, pasos y hyperparameters. Pero mi experiencia en TensorFlow y en solucionar problemas de NLP (Natural Language Processing), redes Convolucionales, o forecasting de series era totalmente nula.

Por lo que si YO he podido aprobar el examen sinceramente creo que TÚ también podrás.

Como he preparado el examen de TensorFlow.

Primero decir, que aunque he seguido lo que se podría llamar un itinerario central de formación, también he ido realizando actividades, secundarias. Digamos que descansaba de los cursos, porque a veces te cansas de estudiar, con vídeos de YouTube o estudiando código de Kaggle, o leyendo sitios como towardsdatascience, o towardsai que me han sido de mucha ayuda para pasar el examen.

Por cierto, he acabado escribiendo artículos para una de las publicaciones. Si queréis pasaros por mi perfil de Medium y así me tenéis identificado. Suelo escribir sobre TensorFlow.

Recomiendo encarecidamente, que hagáis cursos de instructores diferentes.
Cada persona tiene sus técnicas propias, su forma de explicar, y yo he podido coger pequeños trucos de gente diferente. Quedándome con los que más me han gustado, o quizás lo que más he entendido.

Pero, lo primero es lo primero, vamos a por el itinerario formativo principal.

Cursos seguidos.

Deeplearning.AI TensorFlow Developer Certificate en Coursera.

La especialización de DeepLearning.ai es la recomendación oficial como curso para preparar el examen de TensorFlow Developer Certificate. El curso lo da Laurence Moroney. Si os fijáis en el certificado que he puesto al principio, viene firmado por él. Así que está claro que sabe de lo que habla.

La especialización está formada por cuatro cursos. Una introducción a TensorFlow. Redes convolucionales para clasificación de imágenes. Natural Language processing, donde se tratará tanto análisis de sentimiento en el texto, como generación de texto predictivo. Para acabar con Predicción de Series. Justamente coinciden con los apartados a evaluar en el examen de TensorFlow.

Cada curso viene a estar dividido en cuatro “semanas”. En cada una de ellas encontramos vídeos, alguna lectura ligera, un par de ejercicios, que se realizan en Google Colab, y una asignación final.

Es decir, por cada curso contarás con unos 8 / 10 ejercicios y 4 asignaciones que deberás hacer en Google Colab.

Aunque recomiendan un mes por curso, es decir, cuatro meses para toda la especialidad, se puede acabar bastante antes. Creo que sin darte mucha prisa, y asimilando los conocimientos, con unas cinco horas a la semana se puede terminar la especialidad entera en un par de meses.

Acabé la especialización con una buena base, quizás no suficiente para aprobar, o con suerte sí.

Imprescindible!

Machine Learning Crash Course en Google .

Supongo que la mayoría de las personas recomendarían hacer este curso al principio. Yo no. Es muy bueno, pero más aburrido. Yo lo hice justo al acabar la especialización de Coursera. ¡Lo bueno, es que ya te suena todo, ya lo sabes, y de tanto en tanto te explican algo de forma diferente y la cabeza te hace un clic… y piensas, ay caray… ok!

Adivinas muchos de los conceptos que explican, aparece alguna cosa nueva, o solucionan algún problema de forma diferente.

El curso está formado por vídeos, textos, cuestionarios y trabajos en Colab. El contenido es realmente muy bueno. El formato no es tan agradable como el de Coursera. A veces me costaba saber dónde me había quedado, los vídeos son un poco más añejos. ¡Pero para mí, realizarlo justamente después de la especialización, fue perfecto!

Muy Recomendable.

Intro to TensorFlow for Deep Learning en Udacity.

Este curso lo cursé más o menos los últimos 10 días antes del examen y creo que fue una gran aportación al resultado.


No solo por el contenido, sino porque me dio la confianza de que era capaz de solucionar los problemas y que entendía de sobras todo lo que me explicaban.

Es un curso muy rápido de hacer. Pero qué explica los conceptos de una forma muy clara, incluso le da tiempo a tratar temas como el Transfer Learning. Que también se trata en el de Coursera, pero este nos explica una forma más sencilla para trabajar esta técnica.

Se tocan redes convolucionales, NLP y series. La parte de Series la da Tony Moses y me pareció excelente. No tan solo por la explicación en la previsión de series, sino porque conoces sus pequeños trucos, o su forma de trabajar. El curso, por otro lado, sigue el mismo formato que el de Coursera, una mezcla de vídeos con notebooks en Google Colab.

Los Colab eran más sencillos que los de Coursera, pero al mismo tiempo, también me dio la impresión de que eran más claros. Es posible que esta impresión fuera resultado que ya tenía los conocimientos más adquiridos.

El curso se hace muy rápido. Sobre todo sí lo hacéis al final, ya que seréis capaces de solucionar los problemas planteados, pero descubriréis alguna nueva forma de hacerlo.

Imprescindible.

Formación alternativa.

Aparte de los cursos tiré bastante de YouTube y de Kaggle. Los canales que más me gustaron de Greg Hogh y Nicolas Rennote. En ambos encontré vídeos que explicaban cómo solucionar problemas de cualquier índole con TensorFlow. Mi recomendación es que si estáis más flojos en algún punto, como puede ser la generación de texto predictivo, busquéis videos en YouTube y veáis cómo los solucionan. Posiblemente, os den una visión diferente a la explicada en el curso que estéis haciendo. O quizás tan solo lo expliquen de una forma que lo entendáis mejor.

Una lista de YouTube totalmente imprescindible es Machine Learning Foundations de Laurence Moroney. En ella se encuentra buena parte de los dos primeros cursos de la especialización de TensorFlow de Coursera. Es una buena idea pasar antes por esta lista de YouTube y así podéis afrontar la especialización con unos conocimientos previos que nos ayudaran a avanzar más rápidamente.

En Kaggle lo mejor es mirar las competiciones bajo el apartado de Getting started y estudiar cómo son los notebooks que las solucionan. Yo pondría especial foco en la de Digit Recognizer, y Natural Language Processing with disaster tweets.

Podéis revisar los Notebooks de Jupyter que he usado para prepararme en mi perfil de github. O leer los post que he escrito previa a la realización del examen sobre cómo he preparado cada una de las partes. Me ha quedado una parte para escribir, pero no creo que lo haga, no vaya a ser que incumpla algo del NDA.

El entorno y el día del examen.

Una de las cosas que más me preocupaba es que el examen se hace Pycharm. Un entorno de desarrollo que no he empleado nunca, y que ahora puedo decir, continuo sin haber utilizado.

Tenemos que seguir la guía de instalación que nos dan en la guía del examen, y dejar pycharm bien instalado en nuestra máquina. Pero lo único que necesitamos es que se pueda instalar el plug-in del examen de TensorFlow. Por lo demás yo solucioné todos los problemas en Jupyter y en Google Colab.

Debes guardar los modelos en formato .h5 y copiarlo en unos de los directorios creados por el plug-in del examen. Le das al botón evaluar y Pycharm sube el modelo y se evalúa. No importa ni el nombre del modelo, eso sí, tan solo debes tener un modelo en el directorio. Puedes enviar el modelo a evaluar tantas veces como quieras, por lo que podrás realizar pruebas y quedarte con el mejor modelo.

Los modelos puntúan del 0 al 5. Yo recomendaría pasar todos los problemas rápidamente con un 4 y después, si te sobra tiempo, dedicarte a mejorar nota.

El examen son cinco horas, pero no empieza a contar hasta que no lo tienes todo preparado. No te preocupes, empezará a contar cuando tengas el pluguin correctamente instalado y les des al botón de empezar examen.

Yo tenía dos ordenadores, un Mac con un i5, donde configure Pycharm, con las librerías recomendadas, y otro MAC, pero Silicon, con un entorno de Jupyter creado con Conda con las librerías recomendadas. No te recomiendo efectuar el examen en un Mac Silicon, no conseguí instalar TensorFlow 2.9 en Pycharm. Pero yo trabajaba en el MAC con Silicon y pasaba el modelo .h5 al MAC Intel, donde estaba configura correctamente el entorno con Pycharm.

Los modelos, una vez guardados los pasaba al modelo Intel y le daba al evaluar al botón de Pycharm.

Los tres primeros Modelos los solucioné muy rápidamente, el cuarto también, aunque me llevo un poco más de tiempo. La verdad es que tenia como nota 5, 4, 5, 4, siendo 5 el máximo de nota posible. Aún me quedaban dos horas y media y me dispuse a afrontar el quinto problema, no sé si todos los exámenes tienen que solucionar cinco modelos, o en alguno le dan cuatro un poco mas complejos.

Bien, en este quinto me encontré con un problema, que me llevó unas dos horas solucionar. No conseguía que el modelo pasará correctamente la validación del examen. Finalmente, cuando conseguí entender que estaba haciendo mal lo pasé con un 3. Muy Justo, pero algo es algo. Me quedaba una media hora y decidí intentar mejorar los dos cuatro, el quinto problema me tenía ya muy harto.

Conseguí mejorar la nota y presenté el examen a falta de 5 minutos con los modelos evaluados con 5, 5, 5, 5 y 3. Los problemas van aumentando su complejidad y creo que su peso en la nota es relativo, pero no puedo asegurarlo. Es decir el último modelo es el que más pesa. Puedes solucionarlos en orden o no, pero yo decidí hacer primero los más sencillos e ir ganando confianza.

El resultado lo sabes casi al momento, en unos minutos me llego un correo felicitándome, y os digo que casi lloro de la emoción. Escogí un día festivo, en el que estaba solo en casa, era un saco de nervios. Al empezar con el primer problema me relajé bastante, mi mayor preocupación era que no funcionara algo de configuración de examen. Al ir avanzando, me veía que realmente conseguiría aprobar, pero el quinto modelo… pensé incluso en dejarlo a 0. Fueron cinco horas en las que casi no comí. No me pare a comer, tenía algo para picar en la mesa, mi botellín de agua. Mis dos ordenadores encendidos y preparados. Cinco horas bastante intensas después de unos días intensos dando los últimos repasos.

Mi consejo es que preparéis el entorno, que sea un entorno cómodo. El examen no es complicado, pero, sí que tienes que demostrar que sabes solucionar problemas con TensorFlow, en los campos de clasificación de imágenes, del lenguaje, de las series. En algún problema pueden incorporar alguna dificultad extra, como me paso a mí en el quinto.

No os preocupéis, si vais preparados vais a aprobar. ¡El examen no se aprueba con suerte, pero si os presentáis, os deseo toda la suerte del mudo!

Os espero en el Directory de Tensorflow Certified Developers.

Pere Martra.

Creación de un sistema automoderado de comentarios con LLAMA-2 y LangChain.

En este artículo veremos como crear un sistema que sea capaz de responder a los comentarios de los usuarios de Read more

Interroga tus DataFrames con Grandes Modelos de Lenguaje usando LangChain.

LangChain el responsable de buscar entre nuestra información almacenada en ChromaDB, para pasársela al Modelo de lenguaje utilizado

Como crear sentencias SQL usando lenguaje natural con la API de OpenAI.

En mi trabajo tengo relación con varios equipos de desarrollo, uno de ellos dedica una buena parte de su tiempo Read more

Cursos gratuitos para empezar con Machine Learning.

Antes de listar los cursos, dejadme decir una cosa: no hay que ser un experto matemático para aprender o trabajar Read more

Por Martra

4 comentarios en «Como obtener la certificación TensorFlow Developer Certificate.»
  1. Martra todo bien? Te consulto sobre el problema que tuviste en el ejercicio 5 que el modelo pasará correctamente la validación del examen y como solucionaste el mismo. Que tipo de error tuviste en la validación? Pudiste entrenar bien el modelo pero la validación del examen era errónea?

    Muchas gracias!

    1. Exacto! Era eso, el modelo se entrenaba, pero no pasaba la validación. Pero en el enunciado se podia ver el porque no pasaba, pero lo lei con prisas. Hay que leer bien las preguntas 🙂

      Perdona que no sea más concreto, pero cualquiera se arriesga.

      finalmente lo pude solucionar y el modelo paso y puntuó.

      1. Muchas gracias Martra! Si no es mucha molestia te podría seguir preguntando sobre el error por privado (vía mail, etc)? Tuve el mismo error y todavía no logro entender cual es el problema, he intentado cambiar el input del modelo pero no tuve suerte. Por otro lado si mi modelo tenia layers de LSTM/RNN/GRU me encontraba con el mismo error y no pude solucionarlo. Al final tuve que recurrir a Dense layers para que me evaluaran, pero los resultados no fueron muy precisos resultando en un puntuación de 2/5 en el ejercicio :c.

        Desde ya muchas gracias por tu tiempo,
        Saludos,

      2. Muchas gracias por tu respuesta Martra!.Te consulto si podrías ayudarme con el problema (por privado, vía mail, etc) dado que todavía no he encontrado la solución. Al igual que tu, mi modelo entrenaba a la perfección pero a la hora de evaluarlo me rechazaba con un error de dimensionalidad. Pero si no hacia uso de LSTM/RNN/GRU layers el corrector evaluaba mis resultados, no obstante únicamente con Dense layers no me fue suficiente para alcanzar un score mayor de 2/5.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *