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.46.tar.gz (36.3 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: ml4teens-0.1.46.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.46.tar.gz
Algorithm Hash digest
SHA256 e227f1ead01d00d03879ba81cd9cf7102a4c326f29802724c9582482c35a4585
MD5 2bc7217db50bd12ceab3ef5ee106b68c
BLAKE2b-256 47716367e0f86a9fe0416233ad00adedf2d1894ee76790016141f4499ab60f6c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ml4teens-0.1.46-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.46-py3-none-any.whl
Algorithm Hash digest
SHA256 c1905232eea0e7afed99ba436e814ffe5797a1cfa1b61a222340300be6946026
MD5 32df5087ed869373a61d0bbb8d001c25
BLAKE2b-256 66992d1299911c45f4abcc2e8b42d39d9761fe2d98796c90668886cd814174d9

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