Proyecto de Tesis : Aplicación de técnicas de pre-procesamiento en bases de conocimientos de la condición corporal de la vaca 🐄
Códigos del Proyecto de tesis donde se irán almacenando diferentes algoritmos en diferentes Jupyter-Notebook con un correcto versionado pudiendo asi lograr mantener la integridad de los mismos a la hora de su futura comparación
Nota : esto quiere decir que a pesar de que el algoritmo no funcione del todo bien y se necesite mejorar, se procederá a crear una nueva version del mismo (logrando asi su futura comparación)
├───.vscode
├───db # database BCS
├───OUTPUT # output de los algoritmos
│
├───doc # documentación de esos algoritmos
│
├───code # algoritmos
│
├───lib # requirements correspondientes a cada algoritmo
- cada uno de esos algoritmops ubicados en
./code/
podrá poseer su correspondiente documentacion dentro de./doc/
-
Verifica las versiones de las librerías necesarias en requirements.txt.
-
Propiedades de la máquina para su ejecución:
- Sistema operativo: Compatible con Windows, macOS y Linux.
- Python: Versión 3.x (recomendado Python 3.8 o superior).
- Espacio en disco: Suficiente para almacenar los datos y resultados del proyecto.
- Memoria RAM: Recomendado al menos 8 GB para una ejecución fluida.
- Procesador: Se recomienda un procesador de múltiples núcleos (quad-core o superior) para un mejor rendimiento en el procesamiento de datos y entrenamiento de modelos.
-
Conexión a Internet:
- Se requiere una conexión a Internet estable para la instalación de dependencias y la ejecución de algoritmos que requieren acceso a servicios en línea o almacenamiento en la nube.
- Para el uso de Google Drive u otros servicios en la nube, asegúrate de tener una conexión de alta velocidad para evitar interrupciones durante la descarga o carga de datos.
- Para ejecutar en Google Colab, asegúrate de tener una cuenta de Google y acceso a Google Drive para almacenar y acceder a los datos.
-
Software adicional:
-
Gestor de entornos virtuales: Opcional, pero recomendado para gestionar dependencias:
- Anaconda o Miniconda (incluye paquetes preinstalados).
- virtualenv (incluido en Python 3.3+).
-
Herramientas de desarrollo:
- Editor de código: Recomendado usar un editor compatible como Visual Studio Code, PyCharm, o Jupyter Notebook.
- Sistema de control de versiones: Git para clonar el repositorio y gestionar el versionado del código.
-
-
Hardware recomendado:
- GPU (opcional): Para entrenamiento de modelos de machine learning, se recomienda una GPU compatible con CUDA si se trabaja con PyTorch.
Nota: en caso de usar visual-studio-code se podrá los perfiles-de-desarrollo
git clone https://github.com/albertolicea00/tesis.git
cd tesis
Usando virtualenv :
python -m venv venv
o usando conda :
conda create --venv
Usando virtualenv :
-
Mac / Linux :
source venv/bin/activate
-
WSL :
source venv/Scripts/activate
-
Windows :
venv\Scripts\activate
o usando conda :
-
Mac / Linux / WSL :
conda activate venv
-
Windows :
activate venv
en local :
pip install -r requirements.txt
en remoto :
!pip install -r requirements.txt
- No ejecutar la (primera o segunda) celda de cada algoritmo (que puede representar la conexión a googleDrivel, no presente en todos los casos)
from google.colab import drive
drive.mount('/content/drive')
- Asegurarse del valor de la variable de la ubicación-BASE ; ver NOTAS de ejecución y otros recordatorios
Google Colab ya tiene la mayoría de estas librerías preinstaladas, pero puedes asegurarte ejecutando los siguientes comandos:
!pip install [nombre de los paquetes en requirements.txt]
El código está diseñado para trabajar con Google Drive. Asegúrate de tener los archivos de imágenes en la carpeta especificada en Google Drive: ver Recordatorio
- La primera celda de cada algoritmo puede servir exclusivamente como hack de GoogleColab para que este te brinde mas recursos en su maquina virtual den caso de ser necesario
while True: sum(i*i for i in iter(int, 1))
- Recuerda incluir en la primera celda para cada algoritmo:
# permisos para acceder a googleDrive
from google.colab import drive
drive.mount('/content/drive')
- Asegurarse del valor de la variable de la ubicación-BASE ; ver NOTAS de ejecución
drive_folder = 'drive/MyDrive/...'
Ya sea en en local como en una maquina remota; asegúrate de tener las variables de ubicación a la base de datos correctamente seteadas:
import os
drive_folder = '' # ubicación-BASE
# Definición de la base de datos
data_folder = drive_folder + 'db/data/'
image_folder = drive_folder + 'db/images/cow/'
shape_folder = drive_folder + 'db/images/shape/'
# si no da error es que se cargaron bien
files = os.listdir(image_folder)
- en caso de que la ubicación sea remota en googleDrive
drive_folder = 'drive/MyDrive/...'
- en caso de que la ubicación sea local en tu Maquina
drive_folder = ''
ver todas las librerias utilizadas para este proyecto en requirements.txt con python v3.09+
- PyTorch as
torch
: Framework de aprendizaje profundo para construir y entrenar modelos de machine learning.- torchvision : Biblioteca para visión por computadora que incluye datasets, transformaciones y modelos preentrenados.
- torchvision-transforms : Herramientas para realizar transformaciones de imágenes.
- OpenCV as
cv2
: Biblioteca para el procesamiento de imágenes y visión por computadora. - Pillow as
PIL
: Biblioteca para la manipulación de imágenes en Python.
- numpy as
np
: Biblioteca para cálculos numéricos y manejo de arreglos multidimensionales. - Matplotlib as
plt
: Biblioteca para crear visualizaciones estáticas, animadas e interactivas en Python. - SciPy as
scipy
: Biblioteca que proporciona herramientas adicionales para cálculo científico y análisis numérico. - pandas as
pd
: Biblioteca para la manipulación y análisis de datos estructurados en Python.