Jupyter Notebook sin instalar y gratis


Colaboratory, también llamado “Colab”, permite ejecutar y programar en Python en un navegador con las siguientes ventajas:

  • No requiere configuración
  • Da acceso gratuito a GPUs
  • Permite compartir contenido fácilmente

Colab puede facilita pues  su trabajo, ya sea estudiante, científico de datos o investigador de IA pues como vemos es una palataforma “en la nube ” que nos permite  implementar y probar código  sin tener que instalar nada  en nuestro equipo ademas con la certeza de que la plataforma siempres esta actualizada

Los cuadernos de Colab  permiten combinar código ejecutable y texto enriquecido en un mismo documento, además de imágenes, HTML, LaTeX y mucho más. Los cuadernos que creas en Colab se almacenan en su cuenta de Google Drive de modo qu e  puedes compartir sus cuadernos de Colab fácilmente con compañeros de trabajo o amigos, lo que les permite comentarlos o incluso editarlos (consulte más información en Información general sobre Colab).

Colab ademas es una herramienta muy utilizada en la comunidad de aprendizaje automático. Estos son algunos ejemplos de las aplicaciones que tiene Colab:

  •  Dar los primeros pasos con TensorFlow
  •  Desarrollar y entrenar redes neuronales
  •  Experimentar con TPUs
  •  Divulgar datos de investigación sobre IA
  •  Crear tutoriales

 

Primeros pasos

Para crear un cuaderno de Colab, puedes usar el menú Archivo que aparece arriba o bien acceder al enlace para crear un cuaderno de Colab.Los cuadernos de Colab son cuadernos de Jupyter alojados en Colab (puede obtener más información sobre el proyecto Jupyter en  jupyter.org).

 Un cuaderno es una lista de celdas que contienen texto explicativo o código ejecutable y su salida: simplemente tenemos que hacer clic en una celda para seleccionarla.

 Una vez que el botón de la barra de herramientas indique CONECTADO, haga clic en la celda para seleccionarla y ejecutar el contenido de las siguientes maneras:

  • Haga clic en el icono Reproducir en el margen izquierdo de la celda;
  • Escriba Cmd / Ctrl + Enter para ejecutar la celda en su lugar;
  • Escriba Shift + Enter para ejecutar la celda y mover el foco a la siguiente celda (agregando una si no existe ninguna);
  • Escriba Alt + Enter para ejecutar la celda e inserte una nueva celda de código inmediatamente debajo de ella.
  • Hay opciones adicionales para ejecutar algunas o todas las celdas en el menú Runtime.

En las celdas de texto puede hacer doble clic para editar esta celda. Las celdas de texto usan sintaxis  reducida . También puede agregar matemáticas a las celdas de texto usando LaTeX para ser renderizadas por MathJax. Simplemente coloque la declaración dentro de un par de signos $. Por ejemplo, $ \ sqrt {3x-1} + (1 + x) ^ 2 $ se convierte en 3x − 1 −−−−− √ + (1 + x) 2.

 

 Agregar y mover celdas

Puede agregar nuevas celdas usando los botones ** + CÓDIGO ** y ** + TEXTO ** que se muestran cuando se desplaza entre las celdas. Estos botones también se encuentran en la barra de herramientas sobre el cuaderno, donde se pueden usar para agregar una celda debajo de la celda seleccionada actualmente. Puede mover una celda seleccionándola y haciendo clic en ** Celda arriba ** o ** Celda abajo ** en la barra de herramientas superior. Las celdas consecutivas se pueden seleccionar mediante “selección de lazo” arrastrando desde fuera de una celda y a través del grupo. Las celdas no adyacentes se pueden seleccionar simultáneamente haciendo clic en una y luego manteniendo presionada la tecla Ctrl mientras hace clic en otra. De manera similar, usar Shift en lugar de Ctrl seleccionará todas las celdas intermedias.

Alias del sistema Jupyter incluye atajos para operaciones comunes, como ls:

Eso probablemente generó una gran salida. Puede seleccionar la celda y borrar la salida mediante las dos siguintes acciones:

  •  Haciendo clic en el botón borrar salida (x) en la barra de herramientas sobre la celda;
  • Haga clic con el botón derecho en el margen izquierdo del área de salida y seleccione “Borrar salida” en el menú contextual.

Ejecute cualquier otro proceso usando! con interpolación de cadenas de variables de Python, y tenga en cuenta que el resultado se puede asignar a una variable:

Colaboratory comparte la noción de magia de Jupyter. Hay anotaciones abreviadas que cambian la forma en que se ejecuta el texto de una celda. Para obtener más información, consulte la página de magia de Jupyter.

 

Finalizaciones automáticas y exploración de código

Colab proporciona finalizaciones automáticas para explorar atributos de objetos de Python, así como para ver rápidamente cadenas de documentación. Como ejemplo, primero ejecute la siguiente celda para importar el módulo numpy.

import numpy as np

Si ahora inserta el cursor después de np y presiona Punto (.), Verá la lista de finalizaciones disponibles dentro del módulo np. Las terminaciones se pueden abrir nuevamente usando Ctrl + Espacio.

np

Si escribe un paréntesis abierto después de cualquier función o clase en el módulo, verá una ventana emergente de su cadena de documentación:

np.ndarray

La documentación se puede abrir nuevamente usando Ctrl + Shift + Espacio o puede ver la documentación del método colocando el mouse sobre el nombre del método. Al pasar el cursor sobre el nombre del método, el enlace Abrir en pestaña abrirá la documentación en un panel persistente.

El enlace Ver fuente navegará hasta el código fuente del método.

Formato de excepción

Las excepciones están bien formateadas en las salidas de Colab:

Comentar  en una celda

Puede comentar en un cuaderno de Colaboratory como lo haría en un documento de Google. Los comentarios se adjuntan a las celdas y se muestran junto a la celda a la que hacen referencia.

Si tiene permisos de solo comentarios, verá un botón de comentario en la parte superior derecha de la celda cuando pase el cursor sobre él.

Si tiene permisos de edición o comentario, puede comentar en una celda de una de estas tres formas:

  • Seleccione una celda y haga clic en el botón de comentario en la barra de herramientas sobre la esquina superior derecha de la celda.
  • Haga clic con el botón derecho en una celda de texto y seleccione
  • Agregar un comentario en el menú contextual. Use el atajo Ctrl + Shift + M para agregar un comentario a la celda seleccionada actualmente.

Puede resolver y responder a los comentarios, y puede orientar los comentarios a colaboradores específicos escribiendo + [dirección de correo electrónico] (por ejemplo, [email protected]). Se enviará un correo electrónico a los colaboradores a los que se dirija. El botón Comentar en la esquina superior derecha de la página muestra todos los comentarios adjuntos al cuaderno.

 

Resultados ricos e interactivos

Hasta ahora, todos los resultados generados han sido texto, pero pueden ser más interesantes, como el cuadro a continuación.

 

Integración con Drive

Colaboratory está integrado con Google Drive. Le permite compartir, comentar y colaborar en el mismo documento con varias personas:

El botón COMPARTIR (arriba a la derecha de la barra de herramientas) le permite compartir la libreta y controlar los permisos establecidos en ella.

  • Archivo-> Hacer una copia crea una copia del cuaderno en Drive.
  • Archivo-> Guardar guarda el archivo en la unidad.
  • Archivo-> Guardar y el punto de control fija la versión para que no se elimine del historial de revisión.
  • Archivo-> Historial de revisiones muestra el historial de revisiones del portátil.

Algunos enlaces sobre  Colaboratory  para  mostrar la potencia  que tiene esta potente herramienta incluso corriendo en la red: 

 

Ciencia de datos

Con Colab, tambien puede aprovechar toda la potencia de las bibliotecas más populares de Python para analizar y visualizar datos. La celda de código de abajo utiliza NumPy para generar datos aleatorios y Matplotlib para visualizarlos. Para editar el código, solo tiene que hacer clic en la celda.

 

Puede importar tus propios datos a los cuadernos de Colab desde su cuenta de Google Drive, incluidas las hojas de cálculo, y también desde GitHub y muchas fuentes más.

Aqui algunos enlaces sobre uso de los datos:

 Aprendizaje automático

Con Colab, puedesimportar un conjunto de datos de imágenes, entrenar un clasificador de imágenes con dicho conjunto de datos y evaluar el modelo con tan solo usar unas pocas líneas de código. Los cuadernos de Colab ejecutan código en los servidores en la nube de Google, lo que te permite aprovechar la potencia del hardware de Google, incluidas las GPU y TPU, independientemente de la potencia de su equipo pues lo único que necesita es un navegador.

A continuación, se muestran algunos cuadernos del curso online de Google sobre aprendizaje automático. Para obtener más información, consulta el sitio web del curso completo.

 

Por cierto , toda esta informacion de este post podemos verla en ingles directamente en los propios notebook  gratuitos de Google  (observe que la mayoria de los enalces  suelen tener  extension  ipynb tipica de los noetbooks de Jupiter ) 

Como crear un USB de arranque desde linux


A veces nuestro equipo Windows o Linux puede tener ciertos problemas en funcionalidades que no sabemos achacar si es al propio sistema operativo, a alguna aplicacion que hayamos instalado qeu entre en conflicto con otra o quizas algun componente hardware. Pensando en estos casos una solucion muy interesante es arrancar con una unidad USB que contenga la maxima cantidad de drivers y sw basico para probar si es achacable al propio sistema operativo o algun aspecto del hardware que nos este fallando

En este post , pues vamos a ver como generar una unidad USB con la que salir de dudas y que seguro mas una vez nos podra sacar de algun apuro ¿le interesa el tema pues no nos demoremos mas y veamos los pasos a seguir?

1. Información general

Con una memoria USB de arranque de Ubuntu, puede:

  • Instalar o actualizar Ubuntu
  • Pruebe la experiencia de escritorio de Ubuntu sin tocar la configuración de su PC
  • Inicie Ubuntu en una máquina prestada o desde un cibercafé
  • Utilice las herramientas instaladas de forma predeterminada en la memoria USB para reparar o arreglar una configuración rota

Crear una memoria USB de arranque de Ubuntu es muy simple, especialmente desde Ubuntu mismo, y cubriremos el proceso en los siguientes pasos.

Alternativamente, también tenemos tutoriales para ayudarlo a crear una memoria USB de arranque desde Microsoft Windows y Apple macOS .

 

2. Requisitos

Necesitará:

  • Una memoria USB / unidad flash de 4 GB o más
  • Ubuntu Desktop 14.04 o posterior instalado
  • Un archivo ISO de Ubuntu. Consulte Obtener Ubuntu para obtener enlaces de descarga.
  • Xubuntu es un sistema operativo Linux elegante y fácil de usar basado en Ubuntu y desarrollado por la comunidad.. Xubuntu incluye Xfce, que es un entorno de escritorio estable, ligero y configurable.Es ideal para quien quiera lo mejor de sus PCs, portátiles y netbooks dándoles un aspecto moderno y obteniendo funcionalidades suficientes y eficientes para el día a día. Además, funciona bien en máquinas antiguas.Para más información, visite el sitio web de Xubuntu. Puede probar tambien la version Xubuntu 20.01 desde here.
Descarga una ISO de Ubuntu

Por cierto ,la «X» en Xubuntu proviene de Xfce, el ambiente de escritorio de Xubuntu. Así también la palabra «ubuntu» muestra la dependencia y el uso del núcleo de Ubuntu, que a su vez representa el núcleo filosófico del sistema operativo. Un significado aproximado de la palabra ubuntu es «humanidad hacia los demás». Para conocer más sobre la filosofía e ideales detrás de Ubuntu y Xubuntu puede ir a la página Filosofía de Ubuntu [En inglés].

Además de utilizar el núcleo de Ubuntu, Xubuntu también utiliza la infraestructura proporcionada y patrocinada por Canonical Ltd., una compañía fundada por Mark Shuttleworth.

3. Inicie Startup Disk Creator

Vamos a utilizar una aplicación llamada ‘Startup Disk Creator’ para escribir la imagen ISO en su memoria USB. Esto se instala de forma predeterminada en Ubuntu y se puede iniciar de la siguiente manera:

  1. Inserte su memoria USB (seleccione ‘No hacer nada’ si se lo solicita Ubuntu)
  2. En Ubuntu 18.04 y versiones posteriores, use el icono de la parte inferior izquierda para abrir ‘Mostrar aplicaciones’
  3. En versiones anteriores de Ubuntu, use el ícono superior izquierdo para abrir el tablero
  4. Utilice el campo de búsqueda para buscar Startup Disk Creator
  5. Seleccione Startup Disk Creator de los resultados para iniciar la aplicación
Buscar Startup Disk Creator

 

Si no lo tiene instalado ,para instalar la aplicación desde consola , ejecute los siguientes comandos:

sudo apt update
sudo apt install usb-creator-gtk

Además, si está ejecutando KDE o Kubuntu en lugar de Ubuntu o Ubuntu Gnome, probablemente debería usar en usb-creator-kdelugar de usb-creator-gtk:

sudo apt update
sudo apt install usb-creator-kde

Además, si está utilizando LXQT en Lubuntu, probablemente desee utilizar usb-creator-kde.

4. Selección de ISO y USB

Cuando se inicie, Startup Disk Creator buscará los archivos ISO en su carpeta de Descargas , así como cualquier almacenamiento USB adjunto en el que pueda escribir.

Es probable que tanto su ISO de Ubuntu como el dispositivo USB correcto se hayan detectado y configurado como ‘Imagen de disco de origen’ y ‘Disco para usar’ en la ventana de la aplicación. De lo contrario, use el botón ‘Otro’ para ubicar su archivo ISO y seleccione el dispositivo USB exacto que desea usar de la lista de dispositivos.

Haga clic en Crear disco de inicio para iniciar el proceso.

Hacer dispositivo USB

5. Confirme el dispositivo USB

Antes de realizar cambios permanentes, se le pedirá que confirme que el dispositivo USB que ha elegido es correcto. Esto es importante porque todos los datos almacenados actualmente en este dispositivo se destruirán.

Después de confirmar, se iniciará el proceso de escritura y aparecerá una barra de progreso.

Progreso de escritura USB

6. Instalación completa

¡Eso es todo! Ahora tiene Ubuntu en una memoria USB, de arranque y listo para funcionar.

Si desea instalar Ubuntu, eche un vistazo a nuestro tutorial de instalación de escritorio de Ubuntu .

Escritura USB completa

Buscando mas  ayuda

Si se queda atascado, la ayuda siempre está a mano. He  aquí algunas referencias que nos pueden ayudar:

 

Primeros pasos con Terraform


Desde hace un tiempo se oye hablar mucho de DevOps, una fusión que combina las áreas de   Desarrollo,Operaciones y Control de calidad

Es una extensión natural de metodologías Agile y es habitual el uso de los principios CAMS, cuyas siglas vienen de:

  • Cultura relacionada con comunicación humana, procesos y herramientas
  • Automatización de procesos
  • Monitorización
  • Sharing feedback, buenas prácticas y conocimiento

En DevOps son habituales las prácticas siguientes:

  • Planificación ágil
  • Despliegue continuo (CI/CD). La subida de cambios al repositorio de código desencadena la ejecución de pruebas automatizadas que finalmente  realizan el despliegue de los cambios tras superarse las pruebas.
  • Infraestructura como código (Infrastructure as Code). Se trata del desarrollo de scripts para las tareas de despliegue y gestión de la infraestructura
  • Contenedorización. Combinada con la Infraestructura como código permite el despliegue instantáneo de aplicaciones en contenedores.
  • Microservicios. Facilita el aislamiento de problemas y maximiza la producción
  • Infraestructura cloud. Favorece la disponibilidad y la automatización.

 

En este post vamos a ver Terraform, una herramienta para construir, modificar y versionar infraestructura de forma segura y eficiente.

Terraform es una herramienta de orquestación de código abierto desarrollado por Hashicorp que nos permite definir nuestra infraestructura como código, esto quiere decir que es posible escribir en un fichero de texto la definición de nuestra infraestructura usando un lenguaje de programación declarativo y simple.

Terraform tiene soporte para una gran cantidad de proveedores de infraestructura local o en la nube, Amazon Web Services (AWS), Digital Ocean, Microsoft Azure, VMware vSphere, son ejemplos de proveedores de servicios. Puedes ver todos los proveedores soportados en la documentación de Terraform.

 

Estos proveedores de nube cuentan con sus propias herramientas de infraestructura como código, por ejemplo algunos de ellos como Amazon AWS que tiene a CloudFormation que solo soporta la infraestructura en Amazon, OpenStack tiene Heat, Azure tiene Resource Manager, pero Terraform no está cerrado a un proveedor en específico, puede trabajar con todos ellos e incluso de forma simultánea sin ningún inconveniente.

Instalación en sistema operativo Windows

La instalación de Terraform es muy sencilla. Se descarga como un binario que hay que descomprimir y luego se coloca en un directorio incluido en el PATH del sistema y. Probamos su funcionamiento desde la terminal con terraform donde a encontramos el ejecutable.

Bueno, estos son los pasos  a seguir para instalar Terraform en ambiente Windows:

Nos iremos a la  página oficial https://www.terraform.io/downloads.html.

 

Seleccionamos el sistema operativo y la arquitectura, en nuestro caso elegiremos Windows 64­bit puesto que lo instalaremos en una maquina Windows 10.

Creamos un directorio para el ejecutable de Terraform,copiamos el fichero descargado anteriormente al directorio terraform y nos situamos en el directorio terraform.,Justo entonces descomprimimos el ejecutable ( necesitaremos el winzip instlado ) en el interior del directorio creado anteriormente.

Ahora vamos a añadir la variable de entorno de Terraform para el usuario, para ello en el de cortana buscamos “Configuracion avanzada del sistema ” y pinchamos en este . A continuacion pulsamos en Variables de entorno

 

En la siguiente pantalla pulsamos el botón Nueva.

Asignamos un nombre a la variable y en el botón Examinar archivo buscamos la ruta del ejecutable de Terraform.

Ahora desde una ventana de símbolo de sistema comprobamos que Terraform funciona escribiendo terraform -v.

 

NOTA:  En el caso de usar Linux seguiriamos unos pasos similares: Seleccionamos desde la pagina de descargas de Terraform el sistema operativo y la arquitectura, ( normalmente Linux 64­bit puesto si por ejemplo lo instalasemos en una maquina Debian jessie) .Creamos un directorio para los binarios de Terraform y moveremos el fichero descargado anteriormente al interior de la carpeta.Nos situamos en el directorio terraform,descomprimimos los binarios de Terraform con el comando unzip.Finalmente exportamos las variables de entorno de Terraform con el comando export PATH=/home/usuario/terraform:$PATH y comprobamos que se ha instalado bien ejecutando terraform –version.

 

Sintaxis

Hashicorp usa su propio lenguaje de configuración para la descripción de la infraestructura.

Los archivos Terraform se pueden escribir en dos formatos:

  • HashiCorp Configuration Language (HCL). El formato preferido es el HCL. Desde Terraform 0.12 está disponible HCL2 y se recomienda usar HCL2La extensión de los archivos es .tf

  • JSON. La extensión de los archivos es .tf.json

El objetivo de Terraform es declarar recursos. Todas las características del lenguaje giran en torno a hacer que la definición de recursos sea más flexible y convniente.

Los recursos puede agruparse en módulos, que crean una unidad de configuración de nivel más alto. Un recurso describe un objeto básico de infraestructura, mientras que un módulo describe un conjunto de objetos y sus relaciones para crear un sistema mayor.

 

Una configuración Terraform consta de un módulo raíz donde comienza la evaluación. El módulo puede contener módulos hijo que se van llamando unos a otros. La configuración más sencilla de módulo contendría sólo un archivo .tf (main.tf) aunque se recomienda una organización como la siguiente:

  • main.tf: Configuración de lo recursos del módulo

  • providers.tf: Proveedor de los recursos del módulo.Terraform puede crear stacks de infraestructura en varios proveedores. Por ejemplo, una configuración podría crear infraestructura en Google Cloud Platform y en OpenStack-DI.Hay gran cantidad de proveedores Terraform, tanto oficiales, mantenidos por Hashicorp, (AWS, Azure, Google Cloud Platform, Heroku, Kubernetes, MongoDB Atlas, OpenStack, VMware Cloud, VMware vSphere, …​) como de la comunidad y terceros (OpenShift, Trello, Telegram, …​).Porejemplo para openstack usarimos este archivo

     

    provider "openstack" {
      user_name   = var.openstack_user_name
      tenant_name = var.openstack_tenant_name
      password    = var.openstack_password
      auth_url    = var.openstack_auth_url
    }
  • variables.tf Variables de entrada-Las variables de entrada se usan como parámetros para los módulos. Se crean mediante bloques variable.Las variables se usan siguiendo esta sintaxis var.<variable>. POr ejemplo para openstack usariamos esta sintaxis:

     

    variable "openstack_user_name" {
        description = "The username for the Tenant."
        default  = "your-openstack-user"
    }
    
    variable "openstack_tenant_name" {
        description = "The name of the Tenant."
        default  = "your-openstack-project"
    }
    
    variable "openstack_password" {
        description = "The password for the Tenant."
        default  = "your-openstack-password"
    }
    
    variable "openstack_auth_url" {
        description = "The endpoint url to connect to OpenStack."
        default  = "http://openstack.di.ual.es:5000/v3"
    }
    
    variable "openstack_keypair" {
        description = "The keypair to be used."
        default  = "your-openstack-keypair-name"
    }



  • output.tf: Variables de salida.Sse usan para pasar valores a otros módulos o para mostrar en el CLI un resultado tras un despliegue con terraform apply.Se definen con bloques output y un identificador único. Normalmente, toman como valor una expresión (p.e. una IP generada para una instancia creada).

NOTA: Para evitar introducir datos sensibles en los archivos de configuración y evitar que queden expuestos en el sistema de control de versiones es buena práctica configurar valores sensibles en variables de entorno.

El convenio de Terraform es que definamos en la shell las variables precedidas de TF_VAR_. Por ejemplo, definimos una variable de entorno TF_VAR_PASSWORD que será accedida por Terraform como PASSWORD.

Seguiremos estos pasos:

  1. Configurar la variables en la shell

    $ export TF_VAR_PASSWORD=xxxx
  2. Cargar la variable en Terraform en el archivo variables.tf

    ...
    variable "PASSWORD" {} 
    ...
      La variable de entorno TF_VAR_PASSWORD es reconocida en Terraform como PASSWORD
  3. Usar la variable en Terraform en el el archivo providers.tf

    provider "openstack" {
      user_name   = var.openstack_user_name
      tenant_name = var.openstack_tenant_name
      password    = var.PASSWORD 
      auth_url    = var.openstack_auth_url
    }

Idenpotencia

Una característica muy interesante de Terraform es la idempotencia, así como la facilidad para aplicar cambios. Si volvemos a ejecutar un despliegue con terraform apply y no ha habido cambios en los archivos de configuración tras el último despliegue (cuyo estado quedó almacenado en el archivo .tfstate), el despliegue quedará intacto. Es decir, no se volverá a crear infraestructura repetida ni se reemplazará la infraestructura creada por una nueva si no hay cambios en los archivos de configuración.

Sin embargo, si modificamos la configuración modificando los archivos Terraform estaremos indicando un nuevo estado al que queremos llegar. En este caso, al aplicar terraform apply sí se desplegarán los cambios realizados en la configuración. Sin embargo, sólo se desplegarán los cambios, manteniendo intacta la configuración no modificada.

Estos son los pasos que se deben seguir para construir, mantener y eliminar una infraestructura con Terraform.

  1. Inicializar el directorio del proyecto Terraform (terraform init). El comando descarga todos los componentes necesarios, incluyendo módulos y plugins.

  2. Crear un plan de ejecución (terraform plan). El comando determina las acciones necesarias para alcanzar el estado deseado especificado en los archivos de configuración.

  3. Crear o modificar la infraestructura (terraform apply). Terraform es idempotente. Al usar este comando sólo se ejecutan los cambios que se hayan realizado en los archivos de configuración sin volver a crear lo que ya existe y no se ha modificado. Para esto se utilizan los archivos de estado.

  4. Mostrar las variables de salida de un despliegue (terraform output).

  5. Eliminar la infraestructura (terraform destroy). Se usa para eliminar la infraestructura creada.

Como lanzar terraform

Dentro de cada carpeta de ejemplos ejecuta:

$ terraform init
$ terraform apply

Tras unos instantes se mostrarán las IPs asignadas a las máquinas virtuales creadas y aprovisionadas.

El comandoterraform init  creará una carpeta .terraform con en plugin de OpenStack instalado y disponible para ser usado en el proyecto.

 

Ejemplos  para probar   todo esto que hemos visto  tanto en Open Stack como Google Cloud Platform se pueden encontar en  https://github.com/ualmtorres/terraform-examples