sábado, 2 de noviembre de 2019

Como instalar la red neuronal Microsoft Cognitive Toolkit (CNTK)


Microsoft Cognitive Toolkit, anteriormente conocida como CNTK, es un kit de herramientas de código abierto para el aprendizaje profundo distribuido de grado comercial. CNTK permite al usuario realizar y combinar fácilmente tipos de modelos, como DNN, redes neuronales convolucionales (CNN) y redes neuronales recurrentes (RNN / LSTM). CNTK implementa el descenso de gradiente estocástico (SGD, retro-propagación de error) aprendiendo con diferenciación automática y paralelización en múltiples GPU y servidores.
Permite aprovechar la inteligencia artificial dentro de conjuntos de datos masivos a través del aprendizaje profundo al proporcionar escalas, velocidad y precisión con calidad comercial y compatibilidad con los lenguajes de programación y algoritmos que ya usa. 
Para comenzar he creado una máquina virtual grande  (Hice una prueba con 30 Gb y me quedé sin disco nada más empezar ahora he puesto 90 Gb) y Windows 2008 Server.
La instalación automática me dio este error:

Como instalar la red neuronal  Microsoft Cognitive Toolkit (CNTK)

sábado, 19 de octubre de 2019

Ecualizar una imagen con Python

Introducción


Python es un lenguaje de programación interpretado con una sintaxis que favorece un código legible. Soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. También posee licencia de código abierto. 
Una de sus grandes virtudes es la posibilidad de automatizar procesos que se hacen de manera mecánica. Reducirlos a unas líneas de código que podremos insertar donde necesitemos, ahorrando mucho tiempo que podremos aprovechar para otras tareas más interesantes.

Dentro de los lenguajes de programación, Python destaca por su sencillez, legibilidad y precisión de sintaxis. Es un lenguaje de muy alto nivel, por lo que con pocas líneas de código es posible programar tareas bastante complejas. Este lenguaje es práctico en cuanto  al uso del código.
 En este ejemplo de utilización de Python ecualizaremos una imagen con unas pocas líneas de código.
La ecualización del histograma de una imagen es una transformación para obtener un histograma con una distribución uniforme. Es decir, que exista el mismo número de pixels para cada nivel de color del histograma 
El resultado de la ecualización maximiza el contraste de una imagen sin perder información.
Antes de nada nos descargaremos a nuestro equipo Anaconda, que es una distribución gratuita y de código abierto de los lenguajes de programación Python y R para aplicaciones relacionadas con ciencia de datos y aprendizaje automático. 

Pasos prácticos


Descargamos anaconda de 


Una vez instalado Anaconda veremos una pantalla similar a esta.

Panel de entrada de Anaconda

sábado, 12 de octubre de 2019

Un primer proyecto de Machine Learning con Python paso a paso, el “Hola Mundo”

En este artículo vamos a realizar un proyecto de Machine Learning con Python. Prepararemos datos con pandas, ajustaremos y evaluaremos modelos con scikit-learn La mejor manera de aprender el aprendizaje automático es diseñando y completando pequeños proyectos. Python puede ser intimidante al principio, es un lenguaje interpretado popular y potente. A diferencia de R, Python es un lenguaje completo y una plataforma que se puede usar tanto para investigación como desarrollo y de sistemas de producción.

Un primer proyecto de Machine Learning con Python paso a paso, el “Hola Mundo”
Mujer trabajando en un CPD
También hay muchos módulos y bibliotecas para elegir, que ofrecen múltiples formas de realizar cada tarea. Podemos sentirnos abrumados. La mejor manera de comenzar a usar Python en ML (Machine Learning) es realizar un proyecto completo.

Un proyecto de ML  puede no ser lineal, pero tiene varios pasos bien conocidos:

1. Definición del problema
2. Preparar datos
3. Evaluar algoritmos
4. Mejorar los resultados
5. Muestra de Resultados

Con esto, tendremos una plantilla para utilizar en proyectos sucesivos.

sábado, 5 de octubre de 2019

Primeros pasos con Oracle SQL Developer

Acerca de SQL Developer


Oracle SQL Developer es un entorno de desarrollo integrado (IDE) para trabajar con SQL sobre bases de datos Oracle. Oracle ofrece este producto gratis. Oracle SQL Developer admite pestañas automáticas, información del código, coincidencia de corchetes y coloreado de sintaxis para PL / SQL. 

Oracle SQL Developer es una aplicación gráfica útil para realizar tareas básicas de exploración, creación, edición y eliminación de objetos de una base de datos; ejecuta sentencias y scripts SQL; edita y depura código PL/ SQL; también manipula y exporta (descargar datos; y visualiza y crea informes.
Lo podemos descargar en la página de Oracle SQL developer. Se conecta utilizando la autenticación estándar de Oracle. Una vez conectado, permite realizar operaciones sobre objetos en la base de datos.

También permite conectarse a esquemas de MySQL y bases de datos de terceros (que no sean Oracle), como Microsoft SQL Server, Sybase Adaptive Server, Microsoft Access e IBM DB2. Permite ver metadatos y datos en estas bases de datos; y migrar de datos desde las bases de datos anteriormente descritas hasta Oracle. 

Interfaz de usuario de SQL Developer


La ventana de SQL Developer generalmente utiliza el lado izquierdo para la navegación para buscar y seleccionar objetos, y el lado derecho para mostrar información sobre los objetos seleccionados.

La figura muestra la ventana principal:

Primeros pasos con Oracle SQL Developer

sábado, 28 de septiembre de 2019

Modelado de datos

Un modelo de datos es una representación de la información consumida y producida por un sistema. El modelado de datos implica analizar los objetos de datos presentes en un sistema y las relaciones entre ellos. Los modelos de datos pueden ser conceptuales, lógicos y físicos y permiten analizar y modelar un sistema en todos los niveles de abstracción.

Modelo conceptual de datos 


Un Modelo Conceptual de Datos (CDM) representa la estructura lógica de un dato independientemente de cualquier software o estructura de almacenamiento de datos. Proporciona una representación formal de los datos necesarios para dirigir una empresa o negocio. Puede contener objetos de datos que aún no están implementados en una base de datos.

Modelado de Datos
Minifiguras trabajando en equipo.

sábado, 14 de septiembre de 2019

Exportar una tabla de Access a MySQL

Tenemos una base de datos en Access y necesitamos importar los datos desde Access que están en Windows a una base de datos MySQL que está en un servidor Linux.  Nos enfrentamos a dos dificultades importantes:

La primera es exportar datos de Access a MySQL, he buscado en internet y he encontrado algunos trucos, pero suelen ser métodos complejos que implican descargar en nuestro equipo controladores ODBC y luego hay que configurarlos, las pruebas que hice no fueron exitosas.

La otra dificultad es que el destino no se encuentra en el mismo equipo sino en un servidor web con Linux.

La solución final que tomé y yo creo que aunque no es directa es relativamente sencilla: consiste en exportar los datos en un archivo XML y luego recuperarlos en MySQL importando el archivo XML. Pero hay un problema que veremos más adelante: el formato.

Para exportar en XML basta con entrar en Access y en la pestaña datos externos elegir Archivo XML

Exportar datos desde Access


Exportar una tabla de  Access a MySQL