Mostrar los tags: io

Mostrando del 21 al 30 de 683 coincidencias
Se ha buscado por el tag: io
Imágen de perfil

Capa convolucional.


Python

Publicado el 12 de Diciembre del 2023 por Hilario (145 códigos)
554 visualizaciones desde el 12 de Diciembre del 2023
#Aula_28_Convolucion.py
#Ejecutar:
python3 Aula_28_Convolucion.py


Propongo un sencillo ejercicio, sobre el funcionamiento de una capa convolucional (CNN).
Partimos de una imagen, y realizamos una simple convolucion, para apreciar su funcionamiento.
Para hacer más intuitivo el programa le mandamos imprimir los valores de los pixel de la imagen original, con los indices correspondientes.

A continuación describimos esquemáticamente que es una convolución.

La convolución es una operación matemática que combina dos conjuntos de datos para producir un tercer conjunto


Básicamente la convolución en una red neuronal convolucional (CNN) es una operación matemática que se utiliza para procesar imágenes y extraer características importantes. Es esencialmente una forma de explorar la imagen para buscar patrones locales. Aquí hay una explicación simple:

Imagen de Entrada, (en nuestro caso 1.jpeg):

La imagen de entrada es una matriz bidimensional de píxeles, donde cada píxel tiene un valor que representa la intensidad del color en ese punto.
Filtro o Kernel:

La convolución utiliza un filtro (también llamado kernel), que es una pequeña matriz de números.
Este filtro se desliza a lo largo de la imagen original, multiplicando sus valores con los valores correspondientes de la región de la imagen donde se encuentra.
Operación de Convolución:

Para cada posición del filtro, los valores se multiplican y suman para producir un solo valor en la nueva imagen, llamada mapa de características.
Este proceso se repite para cada posición del filtro, generando así todo el mapa de características.

Mapa de Características:

El resultado de la convolución es un mapa de características, que resalta patrones específicos aprendidos por el filtro.
Los primeros filtros en una red suelen capturar detalles simples como bordes, y a medida que avanzas en las capas, los filtros tienden a aprender patrones más complejos y abstractos.

Capas Convolucionales:

Las CNN suelen tener múltiples capas convolucionales apiladas, donde cada capa utiliza varios filtros para aprender diferentes características de la imagen.
La salida de una capa convolucional se utiliza como entrada para la siguiente, permitiendo que la red aprenda representaciones jerárquicas de las características.
En resumen, la convolución en una red convolucional es un proceso clave para detectar y resaltar patrones en una imagen. Es una técnica poderosa para el procesamiento de imágenes y ha demostrado ser muy exitosa en tareas como reconocimiento de objetos, clasificación de imágenes y segmentación de imágenes.






1
Figure_1
Imágen de perfil

Programa para aplicación de filtros, en archivos de vídeo.


Python

estrellaestrellaestrellaestrellaestrella(4)
Actualizado el 20 de Noviembre del 2023 por Antonio (77 códigos) (Publicado el 24 de Mayo del 2021)
14.118 visualizaciones desde el 24 de Mayo del 2021
El presente programa se encarga de aplicar filtros sobre los fotogramas de un archivo de video empleando diferentes funciones. El programa realiza el filtrado frame a frame para a continuación generar un nuevo video con la secuencia de frames procesados (aplicando el frame rate del vídeo original). También usa el software "ffmpeg" para copiar el audio del vídeo original y añadirlo al vídeo resultante.

USO: Primeramente seleccionaremos el vídeo a filtrar mediante el botón "SEARCH". Una vez seleccionado iniciaremos el proceso con "START FILTERING" con el que empezaremos seleccionando la ubicación del nuevo vídeo, para a continuación iniciar el proceso (NOTA: La ruta del directorio de destino no deberá contener espacios en blanco). El proceso de filtrado podrá ser cancelado medinate el botón "CANCEL".
PARA CUALQUIER DUDA U OBSERVACIÓN USEN LA SECCIÓN DE COMENTARIOS.

vf
Imágen de perfil

Clasificación_Datos_por_Regresión Logística


Python

Publicado el 30 de Octubre del 2023 por Hilario (145 códigos)
822 visualizaciones desde el 30 de Octubre del 2023
Presentamos para nuestra aula, un sencillo ejercicio propuesto, para clasificar una serie de datos sintéticos, utilizando el sistema de regresión logística.
El ejercicio, es el siguiente:
Ejercicio_Clas_Regre_Log-Aula-28.py

La clasificación de datos por regresión logística es una técnica de aprendizaje automático que se utiliza para predecir la pertenencia de un conjunto de datos a una o más clases. Aunque el nombre "regresión" logística incluye la palabra "regresión", este enfoque se utiliza para problemas de clasificación en lugar de regresión.

La regresión logística se emplea cuando se desea predecir la probabilidad de que una observación pertenezca a una categoría o clase específica, generalmente dentro de un conjunto discreto de clases. Por lo tanto, es una técnica de clasificación que se utiliza en problemas de clasificación binaria (dos clases) y clasificación multiclase (más de dos clases). Por ejemplo, se puede usar para predecir si un correo electrónico es spam (clase positiva) o no spam (clase negativa) o para clasificar imágenes en categorías como gatos, perros o pájaros.

La regresión logística utiliza una función logística (también conocida como sigmoide) para modelar la probabilidad de pertenecer a una clase particular en función de variables de entrada (características). La función sigmoide tiene la propiedad de que produce valores entre 0 y 1, lo que es adecuado para representar probabilidades. El modelo de regresión logística utiliza coeficientes (pesos) para ponderar las características y calcular la probabilidad de pertenencia a una clase.

Durante el entrenamiento, el modelo busca ajustar los coeficientes de manera que las probabilidades predichas se ajusten lo más cerca posible a las etiquetas reales de los datos de entrenamiento. Una vez que se ha entrenado el modelo, se puede utilizar para predecir la probabilidad de pertenencia a una clase para nuevos datos y tomar decisiones basadas en esas probabilidades, como establecer un umbral para la clasificación en una clase específica.
*************************************************************************************************************
Los pasos que realizamos en el ejercicio, son los siguientes:

1-Generamos datos sintéticos donde la clase se determina por la suma de las dos características.
2-Implementamos la regresión logística desde cero sin el uso de scikit-learn, incluyendo el cálculo de 3-gradientes y la actualización de pesos.
4-Dibujamos los datos de entrada en un gráfico, junto con la línea de decisión que separa las clases.


En resumen, la regresión logística es una técnica de clasificación que modela las probabilidades de pertenencia a clases utilizando la función sigmoide y es ampliamente utilizada en una variedad de aplicaciones de aprendizaje automático.
Imágen de perfil

Clasificacion de Datos Arboles de Decision


Python

Publicado el 17 de Octubre del 2023 por Hilario (145 códigos)
740 visualizaciones desde el 17 de Octubre del 2023
CuadernoAula-B-28-OCT-18.py
-----------------------------------------------------------------------------
La clasificación de datos mediante árboles de decisiones es un método de aprendizaje automático que se utiliza para categorizar o etiquetar datos en diferentes clases o categorías. Es una técnica de modelado predictivo que se basa en la creación de un "árbol" de decisiones, donde cada nodo interno del árbol representa una pregunta o una prueba sobre una característica específica de los datos, y las ramas que salen de ese nodo conducen a diferentes resultados o decisiones basadas en el valor de esa característica. Los nodos hoja del árbol representan las categorías o clases en las que se divide el conjunto de datos.

El proceso de clasificación a través de árboles de decisión implica:

Construcción del árbol: Se inicia con un nodo raíz que representa todo el conjunto de datos. Luego, se selecciona una característica y un umbral que se utilizará para dividir los datos en dos subconjuntos. Este proceso se repite recursivamente en cada subconjunto hasta que se alcanza un criterio de parada, como un tamaño máximo de profundidad del árbol, una cantidad mínima de muestras en los nodos hoja, o una impureza mínima.

Selección de características: En cada paso de división, se elige la característica que mejor separa los datos, lo que se logra al minimizar alguna métrica de impureza, como el índice de Gini o la entropía. La característica y el umbral que minimizan la impureza se utilizan para dividir los datos en dos ramas.

Predicción: Una vez construido el árbol, se utiliza para hacer predicciones sobre datos nuevos. Los datos nuevos se introducen en el árbol, siguiendo las ramas que corresponden a las características de esos datos, hasta llegar a un nodo hoja que representa la clase predicha.

Los árboles de decisión son atractivos porque son interpretables y fáciles de visualizar. Sin embargo, pueden ser propensos al sobreajuste (overfitting), especialmente si se construyen árboles muy profundos. Para abordar este problema, se pueden utilizar técnicas como la poda (pruning) o el uso de bosques aleatorios (random forests) que combinan múltiples árboles para mejorar la precisión y reducir el sobreajuste.

En resumen, la clasificación de datos mediante árboles de decisión es una técnica poderosa y ampliamente utilizada en aprendizaje automático para tareas de clasificación, donde el objetivo es predecir la categoría o clase a la que pertenecen los datos de entrada en función de sus características.
Imágen de perfil

Mostrar zonas en un plano ("usted está aquí")


FoxPro/Visual FoxPro

Publicado el 9 de Octubre del 2023 por Baldo (17 códigos)
1.834 visualizaciones desde el 9 de Octubre del 2023
Quizá esto os pueda ayudar.

Tuve necesidad por un cliente de mostrar pasillos en su (inmenso) almacén para que al menos el interesado se aproximara a la zona (y planta, porque el edificio tenía dos alturas).

zonaplano01

El comienzo fue "hard-codeo" puro pero, al hacer cambios de distribución constante me planteé el que el esquema fuera configurable.

Así que... aqui está: Un sistema basado en Una tabla (TMPLANO0.DBF) que contiene definición de las zonas (rectángulos) y sus datos de posición (X/Y), anchura y altura. Al final puede ser útil en una empresa como en un evento (imaginad el plano de mesas de una fiesta, una boda...)

zonaplano02

El sistema es simple (lanzad el Form "MUESTRA_PLANO": la tabla comentada contiene la i nformación de las áreas, que se muestran como objetos (definidos en "PLANO_OBJ.VCX"). Estos objetos son objetos del formulario, con lo que al haber dos planos (planta baja y primera planta, por ejemplo) se coloca "por debajo de los objetos" un pageframe que contiene pestañas con los diferentes mapas (en el ejemplo 2, pero podeis aumentarlo hasta vuestra necesidad). Lo único que hay que hacer es ir mostrando/ocultando objetos en función de la página del frame que en ese momento hay en pantalla.

zonaplano03

Hay dos objetos definidos:

- Zona (el rectángulo)
- Punto (algo así como el "Pin" de Google, para una definición pás exacta ("Vd. está aquí")

Si quereis dar este servicio cerrado a cliente, solo debeis aportar la tabla con las def iniciones propias de cliente, el form de muestra (MUESTRA_PLANO) y otro que simplemente es para mostrar un grid con los diponobles ("consulta_planos")

Para vuestra comodidad (o aportarlo a cliente en su caso), teneis un Form configurador de las zonas y guardado en tabla (MTO_PLANOS).

zonaplano04

Por favor, tomad esto como 'lo que es'. Una herramienta creada ante la necesidad.

Puede que el código no sea óptimo, lo sé, pero ser conscientes de mi simple ánimo de dejar aquí la 'semillita'. Por supuesto, el código es mejorable, pero os aseguro que tal y como está, ya funciona.


Un saludo a toda la comunidad
Baldo Martorell
[email protected]
http://www.baldoweb.eu
Imágen de perfil

SIGMOIDE


Python

Publicado el 23 de Agosto del 2023 por Hilario (145 códigos)
1.510 visualizaciones desde el 23 de Agosto del 2023

*********************************************************
Hilario Iglesias Martínez
**********************************************************
La función sigmoide es una función matemática que toma
cualquier número real como entrada y la transforma en
un valor en el rango de 0 a 1. Su forma característica
es una curva en forma de "S".
La función sigmoide es comúnmente utilizada en diversos campos,
como la biología, la psicología y el aprendizaje automático,
especialmente en las redes neuronales.

Forma:
f(x)=1 / (1 + e**(-x))
Derivada:
e**(-x) / (1 + e**(-x))**2

La función sigmoide toma valores positivos y negativos de
x y los mapea en el rango (0, 1), de modo que valores grandes de
x resultarán en valores cercanos a 1, y valores pequeños o negativos de
x resultarán en valores cercanos a 0.

Programa realizado bajo linux
Plataforma Ubuntu 20.04.6 LTS.
Editado con Sublime Text.
Ejecucion en consola linux.
python3 SigmoideWeb.py

Tambien se puede editar y ejecutar en Google Colab.
Imágen de perfil

Derivada_REGRESIÓN


Python

Publicado el 18 de Agosto del 2023 por Hilario (145 códigos)
1.911 visualizaciones desde el 18 de Agosto del 2023
"""
Derivada_Descenso_Gradiente.py
-----------------------------------
Que hace el programa:

Dada la parábola de esta función:
f(x,t)=(x ** 2 / 2) + t
Vamos a realizar la derivada de los puntos de una parábola
de forma inversa, lo que se define como descenso de gradiente,
a partir de un punto dado por:
init_x = 18.
Muy utilizado en Redes Neuronales.
También imprimiremos su valor al llegar
a la última vuelta del "loop" range(5000)
------------------------------------------------
Ejecución bajo consola de linux, con este comando:
python3 derivada_descenso_gradiente_1.py
-------------------------------------------------

***************************************************************
Programa Realizado Bajo plataforma Ubuntu
de linix.
Editado con Sublime text.
También se puede editar y ejecutar con Google Colab

*****************************************

"""
Imágen de perfil

Inventio LIte v4: Sistema de Inventario Y Ventas


PHP

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 9 de Agosto del 2023 por Agustin (23 códigos)
3.916 visualizaciones desde el 9 de Agosto del 2023
Inventio Lite v4 es la ultima y mejor actualizacion del clasico sistema de Inventarios Desarrollados para todo mundo y todo tipo de usos.

La nueva version incluye un resiseño con una nueva plantilla Core UI con Bootstrap 5. Todas las vistas fueron adaptadas a la nueva plantilla.

Tambien Inventio Lite es software libre y lo pueden usar en sus proyectos o como base para otros proyectos.

El sistema de Inventarios cuenta con los siguientes modulos.
- Productos
- Ventas
- Compras
- Inventario
- Clientes
- Proveedores
- Categorias
- Usuarios
- Y mucho mas
Mas Informacion en la pagina oficial.
https://evilnapsis.com/2015/07/11/inventio-lite-sistema-de-inventario-y-ventas/
sin imagen de perfil

Juego de Rompecabezas y Acertijos: Desafía tu lógica y habilidades de resolución de problemas


Java

Publicado el 5 de Junio del 2023 por Kevin (4 códigos)
1.537 visualizaciones desde el 5 de Junio del 2023
El código proporcionado implementa un juego de rompecabezas y acertijos diseñado para desafiar las habilidades lógicas y de resolución de problemas de los jugadores. El juego ofrece una serie de niveles con acertijos ingeniosos, laberintos complicados y rompecabezas visuales que pondrán a prueba la destreza mental de los jugadores.

La aplicación móvil ofrece una interfaz interactiva y atractiva donde los jugadores pueden explorar diferentes desafíos y avanzar en el juego. A medida que progresan, los desafíos se vuelven más difíciles, lo que mantiene el interés y la motivación de los jugadores.

El código proporciona una base sólida para la implementación del juego, incluyendo la lógica de los niveles, el manejo de los acertijos y la interacción con el jugador. También se pueden agregar funcionalidades adicionales, como sistemas de puntuación, pistas o recompensas para enriquecer la experiencia de juego.

Con este juego de rompecabezas y acertijos, los jugadores podrán poner a prueba su agudeza mental, mejorar sus habilidades de resolución de problemas y disfrutar de un desafío entretenido y estimulante en sus dispositivos móviles.