Comprender la visión computarizada

1

¿Por qué aprender computer vision?

2

¿Qué es la visión computarizada?

3

Tipos de visión computarizada

4

Introducción a object detection: clasificación + localización

5

Aprende a identificar problemas

Dimensionamiento de proyecto de visión computarizada

6

Cómo definir los tiempos de tu proyecto

7

Cómo costear tu proyecto

8

Cómo identificar los roles necesarios en el proyecto

9

Producto mínimo viable en computer vision

Obtención y procesamiento de los datos

10

Obtención de datos para tu proyecto

11

Limpieza de la base de datos

12

Distribución de datos en entrenamiento y testeo

13

Etiquetado de los datos de test

14

Etiquetado de los datos de train

15

Transforma tu base de datos a TFRecord

16

Transformar CSV a TFRecord

Entrena, testea y optimiza tus modelos

17

Librerías a importar durante fase de entrenamiento

18

Fase de entrenamiento del modelo

19

Balanceo de imágenes y data augmentation

20

Entrena, evalua y optimiza con TensorBoard

21

Validación de modelo en un entorno de ejecución

22

Re-entrenamiento del modelo para obtener mejores resultados

23

Seguimiento de centroides con OpenCV

24

Configuración de los centroides con OpenCV

25

Algoritmo de dirección y conteo con OpenCV

26

Crea un ciclo de entrenamiento de tu modelo: MLOps

Producto con visión computarizada en producción

27

Prepara tu entorno en Google Cloud Platform

28

Carga y preprocesamiento de modelos

29

Postprocesamiento de modelos

30

Despliega y consume tu modelo en producción

31

Bonus: aprende a apagar las máquinas de GCP para evitar sobrecostos

Siguientes pasos en inteligencia artificial

32

Siguientes pasos en inteligencia artificial

33

Comparte tu proyecto de detección de vehículos en carretera y certifícate

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Entrena, evalua y optimiza con TensorBoard

20/33
Recursos

Aportes 22

Preguntas 15

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Usando colab e instalando estas bibliotecas no tuve problemas para correr el modelo

!pip install avro-python3
!pip install tf_slim == 1.1.0
!pip install lvis
!pip install opencv-python-headless == 4.5.2.52
!pip install tensorflow == 2.7.0
!pip install tf-models-official == 2.7.0
!pip install tensorflow_io == 0.23.1
!pip install keras == 2.7.0
!pip install tensorboard == 2.7.0
!pip install tensorflow-text == 2.7.0
!pip install tensorflow-gcs-config == 2.7.0

En caso se les presente el siguiente error:

"/content/models/research/object_detection/meta_architectures/deepmac_meta_arch.py", line 28, in <module> import tensorflow_io as tfio  # pylint:disable=g-import-not-at-top
ModuleNotFoundError: No module named 'tensorflow_io'

pueden solucionarlo instalando la librería

!pip install tensorflow-io
import tensorflow_io as tfio
ModuleNotFoundError: No module named ‘tensorflow.python.keras.layers.preprocessing’

En mi caso tuve este error y comparto como lo solucioné.

Al momento de realizar el video, al parecer parece que la versión de TF era la 2.7, pero el tiempo pasó y las versiones cambiaron.

en algun momento del video el profesor recomienda instalar:

!pip install tf-models-official==2.7.0

y tambíen hay que clonar el respositorio de GitHub de ese mismo paquete con el siguiente comando que proveee el profesor:

!git clone --quiet https://github.com/tensorflow/models.git

El problema es que este segundo comando, al no tener especificado el TAG de git, instala la última versión, la 2.8 y ahí hay una incompatibilidad de versiones. El primer comando instala la versión 2.7 y el segundo la versión 2.8

Para solucionarlos yo ejecute el comando !pip install tf-models-official sin la versión

Si sale el error:

AttributeError: 'MirroredStrategy' object has no attribute 'experimental_run_v2'

Pueden ir al archivo /content/models/research/object_detection/model_main_tf2.py y cambiar la función:

strategy.experimental_run_v2(
      _dummy_computation_fn, args=(
          features,
          labels,
      )) 

por:

strategy.run(
      _dummy_computation_fn, args=(
          features,
          labels,
      )) 

Este error sale, porque la función ya no es experimental.

logre arregla el problema de versiones 2/12/22

  1. de archivo comentar estas primeras 3 descargar asi lo importante es no descargar nada ahora mismo ya que si lo hacene traen versiones con las que object detecciion ya no trabaja :
    les hablo de estas lineas exactamente

!pip install tf_slim

!pip install tf-models-official

!pip install lvis

  1. corren la descarga de object detection , no importa que les salga error lo que queremos es que me descargue la carpeta models en la pate izquierda donde va venir un archivo .txt llamado requeriments.txt lo abren hay mismo colab y lo modifican con estas versiones :

Required for apache-beam with PY3

avro-python3
apache-beam
pillow
lxml
matplotlib
Cython
contextlib2
tf-slim1.1.0
six
pycocotools
lvis
scipy
pandas
tf-models-official
2.7.0
tensorflow_io0.23.1
keras
2.7.0

  1. una vez modificado el archivo porocen a instalarlo con el comando

!pip install -r requeriments.txt

listo !

les va mandar un warning que reinicien el entorno pues lo hacen y vuenve a ejecutar
el comando
!pip install -r requeriments.txt

y listo ya puedes seguir con la clase

links que ayudaron estuve estancado 1 dia completo espero ahorrales time a ustedes .

https://github.com/tensorflow/models/issues/10479

https://www.youtube.com/watch?v=DUGqDBVkUxo

es un dolor de cabeza, las versiones se actualizan y dejan de ser compatibles, algunas. Pero logre llegar hasta aqui con mi propio modelo

Puede surgir el siguiente error a la hora de ejecutar el entrenamiento

ImportError: cannot import name '_registerMatType' from 'cv2.cv2' (/usr/local/lib/python3.7/dist-packages/cv2/cv2.cpython-37m-x86_64-linux-gnu.so)

pude solucionarlo instalando una versión de opencv-python-headless anterior con el siguiente comando

!pip install opencv-python-headless==4.1.2.30

versiones superiores al parecer tienen conflicto.

Antes de empezar el entrenamiento instalen estas librerías si tienen errores

!pip install opencv-python-headless==4.1.2.30
!pip install tensorflow-io

Este es el link de mi modelo: here!

!tensorboard dev upload --logdir “/content/ssd_mobilenet” --name “Proyecto clasificación y detección de objetos” --description “Resultados de entrenamiento usando ssd_mobilenet” --one_shot

https://tensorboard.dev/experiment/vjYnV8kSRVmYpA5eNH4U8A/

Entrenar, evaluar y optimizar un modelo de deep learning con TensorBoard permite monitorear el progreso, identificar problemas y ajustar el modelo para mejorar su rendimiento. Aquí tienes una guía paso a paso para integrar TensorBoard en tu flujo de trabajo con TensorFlow. \### 1. \*\*Configuración de TensorBoard\*\* Primero, asegúrate de que tienes TensorBoard instalado. En un entorno Jupyter Notebook o Google Colab, puedes iniciar TensorBoard directamente en una celda de código. ```bash pip install tensorboard ``` \### 2. \*\*Configurar los callbacks de TensorBoard\*\* Para capturar datos durante el entrenamiento, utiliza un \*\*callback de TensorBoard\*\* que registrará métricas como la precisión y la pérdida del modelo a medida que entrena. ```python import tensorflow as tf from tensorflow.keras import layers, models from datetime import datetime \# Crear un directorio de logs único usando la fecha y hora actual log\_dir = "logs/fit/" + datetime.now().strftime("%Y%m%d-%H%M%S") tensorboard\_callback = tf.keras.callbacks.TensorBoard(log\_dir=log\_dir, histogram\_freq=1) ``` \### 3. \*\*Definir el modelo\*\* A continuación, define y compila tu modelo. Asegúrate de configurar métricas que te permitan analizar el rendimiento en TensorBoard. ```python model = models.Sequential(\[ layers.Conv2D(32, (3, 3), activation='relu', input\_shape=(128, 128, 3)), layers.MaxPooling2D((2, 2)), layers.Conv2D(64, (3, 3), activation='relu'), layers.MaxPooling2D((2, 2)), layers.Conv2D(64, (3, 3), activation='relu'), layers.Flatten(), layers.Dense(64, activation='relu'), layers.Dense(10, activation='softmax') # Asumiendo 10 clases ]) model.compile(optimizer='adam', loss='sparse\_categorical\_crossentropy', metrics=\['accuracy']) ``` \### 4. \*\*Entrenar el modelo con el callback de TensorBoard\*\* Incluye `tensorboard\_callback` en la lista de callbacks al llamar al método `fit` para que registre los datos de entrenamiento en cada época. ```python history = model.fit(train\_dataset, # tu conjunto de datos de entrenamiento epochs=10, validation\_data=test\_dataset, # conjunto de datos de prueba callbacks=\[tensorboard\_callback]) ``` \### 5. \*\*Iniciar TensorBoard\*\* Si estás trabajando en Jupyter Notebook o Google Colab, puedes lanzar TensorBoard dentro del notebook. ```python %load\_ext tensorboard %tensorboard --logdir logs/fit ``` Para otros entornos, abre una terminal y ejecuta: ```bash tensorboard --logdir=logs/fit ``` \### 6. \*\*Evaluar el modelo\*\* Después del entrenamiento, evalúa el rendimiento del modelo en el conjunto de datos de prueba. ```python test\_loss, test\_accuracy = model.evaluate(test\_dataset) print(f"Precisión en datos de prueba: {test\_accuracy:.2f}") ``` \### 7. \*\*Optimización del modelo\*\* Para optimizar el modelo, observa las métricas de pérdida y precisión en TensorBoard, además de las siguientes estrategias: 1\. \*\*Ajuste de hiperparámetros\*\*: Cambia el optimizador, tasa de aprendizaje, tamaño de lote o número de épocas y observa los efectos en el rendimiento. 2\. \*\*Regularización\*\*: Implementa capas de `Dropout` o usa una función de regularización en las capas `Dense` para evitar el sobreajuste. 3\. \*\*Data augmentation\*\*: Aumentar la variedad del conjunto de datos de entrenamiento ayuda a mejorar la generalización. \### 8. \*\*Monitoreo en TensorBoard\*\* Dentro de TensorBoard, puedes monitorear: \- \*\*Gráficas de entrenamiento y validación\*\*: Muestra las curvas de precisión y pérdida en cada época. \- \*\*Histogramas\*\*: Visualiza cómo cambian los pesos del modelo en cada capa durante el entrenamiento. \- \*\*Scalars\*\*: Observa valores como la tasa de aprendizaje o la precisión de evaluación. \### Ejemplo de Optimización con Callbacks Adicionales Además del callback de TensorBoard, puedes agregar otros callbacks para mejorar el entrenamiento: ```python from tensorflow.keras.callbacks import EarlyStopping, ReduceLROnPlateau \# Early stopping para detener el entrenamiento si no hay mejoras en precisión de validación early\_stopping = EarlyStopping(monitor='val\_accuracy', patience=5, restore\_best\_weights=True) \# Reduce la tasa de aprendizaje si no hay mejoras reduce\_lr = ReduceLROnPlateau(monitor='val\_loss', factor=0.2, patience=3, min\_lr=0.001) history = model.fit(train\_dataset, epochs=20, validation\_data=test\_dataset, callbacks=\[tensorboard\_callback, early\_stopping, reduce\_lr]) ``` \### 9. \*\*Resumen y análisis de resultados\*\* Después de la optimización, revisa los gráficos en TensorBoard y observa cómo influyen los ajustes en el rendimiento. Identifica el momento en que el modelo empieza a sobreajustar y ajusta hiperparámetros según sea necesario para mejorar la precisión sin comprometer la generalización. Esta combinación de entrenamiento, evaluación y optimización con TensorBoard permite monitorear el desempeño y hacer ajustes efectivos en el modelo.
**TensorBoard.dev** TensorBoard.dev ha sido cerrado a partir del 1 de enero de 2024. Gracias por ser parte del viaje de TensorBoard.dev. Mas detalles en el siguiente enlace: Link: <https://tensorboard.dev>
Estoy teniendo este error en el Entrenamiento de modelo de object detection. `2024-05-26 03:57:02.449325: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT` `Traceback (most recent call last):` ` File "/content/models/research/object_detection/model_main_tf2.py", line 31, in <module>` ` from object_detection import model_lib_v2` ` File "/content/models/research/object_detection/model_lib_v2.py", line 30, in <module>` ` from object_detection import inputs` ` File "/content/models/research/object_detection/inputs.py", line 24, in <module>` ` from tensorflow.compat.v1 import estimator as tf_estimator` `ImportError: cannot import name 'estimator' from 'tensorflow.compat.v1' (/usr/local/lib/python3.10/dist-packages/tensorflow/_api/v2/compat/v1/__init__.py)`
* Al usar la version 2.13 de tensorflow e instalando object detection de la siguiente forma, no tuve problemas al momento de entrenar el modelo. :) !pip install tensorflow==2.13.0 !git clone --depth 1 <https://github.com/tensorflow/models.git> %cd models/research !protoc object\_detection/protos/\*.proto --python\_out=.!cp object\_detection/packages/tf2/setup.py . !pip install .
alguien sabe por que me sale este error en tensorboard? ![]()![](https://static.platzi.com/media/user_upload/image-fbb92285-dbf7-4c6e-a1fc-9143639cc1c2.jpg)

Hola, estoy teniendo problemas para ejecutar el google colab de la clase. Estos se han resuelto instalando de nuevo tensorflow y numpy. Para hacerlo he añadido esto

!pip install tensorflow2.7.0
!pip install numpy
1.22.0

Exito!

Usando la recomendación de instalación de paquetes de la sesión 17 salieron errores, probé algunas alternativas de versiones y la alternativa que me funcionó aunque igual salieron varias advertencias fue la recomendación de uno de los compañeros abajo, adicionando algunos paquetes en el siguiente orden:

!pip install avro-python3
!pip install tf_slim1.1.0
!pip install lvis
!pip install opencv-python-headless
4.5.2.52
!pip install tensorflow2.7.0
!pip install tf-models-official
2.7.0
!pip install tensorflow_io0.23.1
!pip install keras
2.7.0
!pip install tensorboard2.7.0
!pip install tensorflow-text
2.7.0
!pip install tensorflow-gcs-config==2.7.0

Luego de eso tuve el siguiente error que fue al cargar tensorboard: Reusing TensorBoard on port 6006 (pid 2618), started 0:02:32 ago. (Use ‘!kill 2618’ to kill it.)
En mi caso el problema era la configuración de seguridad del navegador.

Las librerias de opencv no estaban siendo compatibles. Así que tuve que desinstalarla y volverla a instalar por otra versión más vieja.

!pip uninstall opencv-python-headless==4.5.5.62
!pip install opencv-python-headless==4.5.2.52