Entradas

Numpy linspace() en php, así como elevar un array con pow()

Imagen
  Funciones linspace() o elevar arrays ya disponibles en PHP He liberado una clase en PHP que puede realizar cálculos de potencias en arrays o generar un array ordenado entre dos números con un número de muestras en concreto. Esta última función es la función de numpy linspace(). Estas funciones se suelen utilizar en Python en el Machine Learning, pero en PHP escasean, así que.... me las he inventado y ahora ya existen 😁. Un ejemplo muy claro de su uso sería en el siguiente código:  // NOTE: The graph library will be published soon. this example is only to see the use of Linspace() & pow()  // We assume that $ax in PHP is a graph_object, and create an ext_op_ml object in $m variable   // PYTHON PYPLOT   x = np.linspace(0, 2, 100)   ax.plot(x, x, label='linear')   # Plot some data on the axes.   ax.plot(x, x**2, label='quadratic')   # Plot more data on the axes...   ax.plot(x, x**3, label='cubic')  # ... and some more.   // PHP   $m = new ext_op_ml();   $x =

Leer Temperatura CPU, memoria, carga de sistema en PHP

Imagen
  Como leer la temperatura de la CPU/GPU, Carga de sistema, Uso de memoria, uso de disco, .... desde PHP A veces nos encontramos con la necesidad de conocer estos parámetros, como por ejemplo cuando estamos ejecutando nuestros backpropagations en procesos de Machine Learning. Estos procesos consumen tanta CPU o GPU que el sistema se sobrecalienta, y es imprescindible conocer en todo momento la temperatura de la CPU para no provocar un desastre. Por ejemplo. Qué pasa cuando no se controla la temperatura y se deja que el proceso siga su curso hasta poner al rojo vivo la CPU? pues que al llegar a los 100ºC 🌡 el sistema se para bruscamente.... y os lo digo por experiencia 😅. Creé esta clase para ayudarme en los procesos de Machine Learning en PHP, pero decidí liberarla porque la verdad es que hace muchísimas cosas más, como conocer el uso de la memoria, del disco, estado de carga de la CPU, uptime, versión del sistema, saber el número de cpu's, ... Esta clase se puede utilizar para

Manejo de ficheros .CSV en paralelo. Datasets Machine Learning

Imagen
  Gestión de ficheros .CSV en paralelo para procesos de machine learning Cuando leemos datos de ficheros .CSV que van a ir a parar a modelos de Machine Learning, debemos de tener nuestro dataset bien preparado: - Disponer de un dataset para Train (aprendizaje) - Disponer de un dataset validación - Disponer de un dataset para test. Hay muchas veces que disponemos de dos datasets, uno para realizar os inputs y otro para los resutados 'desired', que són los datos deseados. Una de las tareas que debemos hacer es separar estos datasets en as partes anteriormente nombradas (train, validation & test). He reaizado una clase en PHP lamada CSV PAIR FILE. La podéis descargar desde  https://www.phpclasses.org/package/12166-PHP-Manage-values-for-training-machine-learning-system.html o desde  https://github.com/vivesweb/csv_pair_file Esta clase se encarga de realizar estas separaciones de datos automáticamente en los ficheros a modo paralelo, para que concuerden ordenadamente los datos

1er premio internacional en innovación PHP. Imprimir etiquetas en PDF

Imagen
  Premio a la innovación en PHP. Clasificado en primer lugar. Clase Imprimir etiquetas en PDF Como es de costumbre, de todas las clases enviadas a phpclasses.org , se seleccionan cada mes las clases nuevas que tienen algún punto en especial en lo que respecta a la innovación. Este reconocido portal recoge código que es enviado por los propios programadores de todo el 'mundo mundial'. Después de un proceso de votación, al mes siguiente, aparecen los ganadores. El mes pasado quedé en primer lugar por partida doble . Este mes he quedado también en primera posición, con la clase para imprimir etiquetas en PHP, genearando un documento PDF con ellas. No está de más que reconozcan el trabajo que haces de alguna manera, y phpclasses.org lo hace muy bien. Este mes me han nominado dos clases más, y para el que viene.... bueno, ya veremos, porque algo grande viene....

Convertir imágenes, crear previews de pdf's o PSD, thumbnails, ....

Imagen
  Manejo de imágenes en PHP. Cambiar de formato a webp u otros, extraer imágenes de pdf o PSD, cambiar tamaño o aplicar filtros Esta clase en PHP os ayudará enormemente en el proceso del tratamiento de imágenes. Muchas veces necesitamos realizar tareas básicas como redimensionar en bloques las imágenes a unos tamaños dados, pasarlas a blanco y negro o escala de grises, hacer un mirror, o incluso transformar una copia de la imagen original al formato que tanto le gusta a google, que es el formato webp . Muchas veces las funciones las tenemos disponibles en php, pero hay que realizar varios pasos para llegar a un resultado satisfactorio. Esta clase está optimizada para que con muy pocas líneas de código podamos realizar la tarea rápidamente y con funciones muy útiles y que no están incluidas por defecto en el lenguaje original PHP, como el filtro de tono SEPIA. Otro uso muy interesante es el poder extraer una imagen del contenido de un pdf o de un psd. Esto nos puede servir para crear pr

¿Qué es el DESCENSO DEL GRADIENTE? Explicado por el Volcán de La Palma

Imagen
 El DESCENSO DEL GRADIENTE en el Backpropagation del Machine Learning Los modelos de aprendizaje profundo (o deep learning), se basan en encontrar la tasa de error de cada cálculo realizado en cada una de las neuronas y corregirlo para llegar al valor más bajo de la función e ir aprendiendo cada vez más, para predecir así un mejor resultado con los cálculos que se le facilite en un futuro. Para realizarlo, hay que 'mover' unas características de cada neurona y ajustarla, y para encontrar el error cometido y corregirlo, se utilizan fórmulas matemáticas como las aplicadas en el descenso del gradiente. Estos días, el Volcán Cumbre Vieja de La Palma tiene muchísimo protagonismo en las notícias y vidas de todo el mundo, ya que hace unos días ha entrado en erupción ( y a día de hoy continúa ), pero como tengo una cabeza que no para, mi subconsciente ha encontrado una manera muy fácil de explicar qué es el descenso del gradiente en el Backpropation, simplemente observando boquiabierto

Visualización de datos en gráficos de barra. Entorno CLI-PHP. Encuentra Outliers

Imagen
  Visualización de datos en gráficos de barra para ayudar en la búsqueda de Outliers La limpieza de los datasets en los procesos anteriores al Deep Learning son esenciales. Encontrar los Outliers (o datos que están fuera de lo común), es primordial para rectificarlos y conseguir unos datos homogéneos. Si no los detectamos o no los regularizamos, nuestras redes neuronales tendrán serios problemas para aprender correctamente, ya que un solo dato de estos puede hacer 'volverse loco' a nuestro modelo y no servir de nada. Ya os comenté en un artículo anterior la importancia que tenía este paso, y es necesario de disponer las herramientas adecuadas. Existen algunas que son de pago y privativas. Yo me he decantado por creármela por mi mismo y liberar el código fuente para que alguien más la pueda aprovechar. Se puede utilizar PHP para realizar Machine Learning . En PHP, cuando se realizan las tareas de búsqueda de errores en nuestros datasets, debemos emplear la Ingeniería de datos