Skip to main content

Machine Learning para Adolescentes (Machine Learning for Teens)

Project description

ML4Teens

Machine Learning for Teens (Aprendizaje Automático para adolescentes)

Paquete Python (ml4teens en pip) que permite crear arquitecturas basadas en bloques que lleven a cabo un proceso de ML.

Cada bloque hace algo concreto, en modo caja negra; cada uno de ellos genera signals y posee slots en donde recibir las señales.

Un objeto (singleton) se encarga de emparejar los signals con slots (con control de tipos) y lanzar la red.

[!NOTE] El submódulo blocks/img está en estado estable.

El submódulo blocks/nlp está en estado incompleto pero usable.

El submódulo blocks/ds está en estado incompleto pero usable.

El submódulo core está en estado estable.

La documentación está incompleta.

El código que sigue, muestra un ejemplo -básico- de lo que puede hacer el paquete (en la rama 'main').

import ml4teens as ml;

from ml4teens.tools import prettyPrintException;

with ml.core.Context() as context:
     try:
       imagen   = ml.blocks.img.ImageSource();
       img2text = ml.blocks.img.ImageToText(caption="A photo of an");
       terminal = ml.blocks.Terminal();
       salida   = ml.blocks.Display(width=300);

       imagen  ("image") >> img2text("image" );
       imagen  ("image") >> salida  ("image" );
       img2text("text" ) >> terminal("stdout");

       source="https://img.freepik.com/foto-gratis/mujer-tiro-completo-bicicleta-al-aire-libre_23-2149413735.jpg";

       context.emit(target=imagen, slot_name="source", data=source);
       context.wait();

     except Exception as e:
       prettyPrintException(e);

Por otro lado, hacer un bloque es sencillo, uno básico que -por ejemplo- que se queda con sólo un canal de una imagen:

from PIL.Image import Image;
from PIL.Image import fromarray;

from ml4teens.core import Block;

class SingleChannel(Block):

      #-------------------------------------------------------------------------
      # channel
      def __init__(self, **kwargs):
          super().__init__(**kwargs);
          assert isinstance(self.params.channel, int), "El parámetro 'channel' debe ser el número del canal (0, ...)";

      #------------------------------------------------------------------------- slots
      @Block.slot("image", {Image})
      def slot_image(self, slot, data):
          c=len(data.getbands());
          n=self.params.channel;
          assert n in range(0,c), f"El canal {n} no puede ser extraído de una imagen de {c} canales (recuerda: empieza a contar en 0)";
          imagen=data.getchannel(n);
          self.signal_image(imagen);

      #------------------------------------------------------------------------- signals
      @Block.signal("image", Image)
      def signal_image(self, data):
          return data;

Este bloque recibe imágenes (una a una) en el slot llamado image y reenvía el canal indicado de dicha imagen por medio de una señal, igualmente llamada image.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ml4teens-0.1.45.tar.gz (36.3 MB view details)

Uploaded Source

Built Distribution

ml4teens-0.1.45-py3-none-any.whl (36.5 MB view details)

Uploaded Python 3

File details

Details for the file ml4teens-0.1.45.tar.gz.

File metadata

  • Download URL: ml4teens-0.1.45.tar.gz
  • Upload date:
  • Size: 36.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for ml4teens-0.1.45.tar.gz
Algorithm Hash digest
SHA256 12315bf8b21a441130cb54ceed1ced9b2a4fa159b5e1076b2b51485cb63aa382
MD5 e5f2cfbfea5934b175a45253ea972bf3
BLAKE2b-256 1d21072d16f57c4e51a7adbdde6756665047a16914624d6ae0189913b8480005

See more details on using hashes here.

File details

Details for the file ml4teens-0.1.45-py3-none-any.whl.

File metadata

  • Download URL: ml4teens-0.1.45-py3-none-any.whl
  • Upload date:
  • Size: 36.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for ml4teens-0.1.45-py3-none-any.whl
Algorithm Hash digest
SHA256 3e85e22108944ea6f78903141b492766a1469a79f9383aba2cc2ca8cc48add74
MD5 09b50f283241dc757857833f6d33577c
BLAKE2b-256 955405456be8be90a37869dcc9b823ec2e134ad25e9dff4a859ebf432b6c58c4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page