Site is under maintenance mode. Please wait few min!
Saltar al contenido

Cómo instalar Aide en un VPS DigitalOcean

marzo 4, 2020

 aprendizaje

Introducción

máquina, o ML, es un subcampo de la IA centrado en algoritmos que aprenden modelos de datos. La mirada de

Veamos una aplicación práctica de la máquina de aprendizaje en el campo de visión de computadora llamado transferencia de estilo neuronal . En 2015, los investigadores utilizaron técnicas de aprendizaje profundas para crear un algoritmo que se mezcla el contenido de una imagen con el estilo artístico de otro. Este nuevo algoritmo genera imágenes únicas, sino que también ofrece una perspectiva única de cómo nuestro sistema visual puede inferir nuevos conceptos artísticos.

Como su nombre indica, la transferencia neuronal estilo se basa en redes neuronales para realizar esta tarea. Los detalles exactos de esta aplicación están más allá del alcance de este tutorial, pero se puede obtener más información en este blog en la transferencia de estilo artístico o desde el manuscrito original de investigación.

En este tutorial, se aplicará la transferencia de estilo neuronal utilizando Jupyter Notebook y la línea de comandos de Linux para tomar una imagen como esta:

st_pytorch/N7T9kWz.jpg»>

Requisitos previos

Para completar este tutorial, necesitará:

  • una Ubuntu 16.04 servidor configurado siguiendo la guía de configuración inicial del servidor de Ubuntu 16.04, incluyendo un usuario no root sudo y un firewall.
  • Python 3 y un entorno de programación establecieron siguiendo nuestra configuración tutorial de Python.
  • Jupyter Notebook instalar siguiendo cómo configurar Jupyter Notebook para Python 3.

Trabajo con modelos de aprendizaje automático puede ser intensivo de la memoria, por lo que tu equipo debe tener al menos 8 GB de memoria para realizar algunos de los cálculos en este tutorial.

Paso 1 – Instalación de dependencias y la clonación del PyTorch-Style-Transferencia GitHub Repositorio

En este tutorial, vamos a utilizar una implementación de código abierto de la transferencia neuronal estilo proporcionada por Colgar llamada Zhang PyTorch-Style-transferencia. Esta aplicación particular utiliza la biblioteca PyTorch.

Activar el entorno de programación, e instalar PyTorch y el paquete torchvision con el siguiente comando:

pip install http://download.pytorch.org/whl/cu75orch-0.1.12.post1-cp35-cp35m-linux_x86_64.whl
pip install torchvision

  • PIP instalar http://download.pytorch.org/whl/cu75orch-0.1.12.post1-cp35-cp35m -linux_x86_64.whl
  • PIP instalar torchvision

Tenga en cuenta que para este tutorial, necesitamos antorcha 0.1.12_2.

Para evitar que saturan su directorio personal con archivos, crear un nuevo directorio llamado style_transfer y lo utilizan como su directorio de trabajo:

mkdir style_transfer
cd style_transfer

  • mkdir style_transfer
  • cd style_transfer

A continuación, el clon del repositorio PyTorch-Style-Traslado a su directorio de trabajo con el comando git clone. Usted puede aprender más acerca de Git en esta serie de tutoriales Git.

git clone https://github.com/zhanghang1989/PyTorch-Style-Transfer.git

  • git clone https://github.com/zhanghang1989/PyTorch-Style-Transfer.git

El autor de este repositorio se ha colocado el código que va a utilizar en los experimentos de la carpeta PyTorch-Style-Transferencia repositorio, por lo que cambiar a este directorio una vez que todos los archivos han sido clonados:

cd PyTorch-Style-Transfer/experiments

  • cd PyTorch-style-transferencia / experimentos

Ven a ver el contenido del directorio de experimentos: ls

ls

Usted’ Veremos los siguientes directorios:

Outputcamera_demo.py dataset images main.py models net.py option.py utils.py

En este tutorial vamos a trabajar con el directorio images /, que contiene imágenes y el guión main.py, que se utiliza para solicitar la transferencia neuronal estilo a sus imágenes.

Antes de pasar a la siguiente sección, también hay que descargar el modelo de aprendizaje profundo pre-entrenado necesario para ejecutar la transferencia de estilo neuronal. Estos modelos pueden ser grandes y, por tanto, no es adecuado para el almacenamiento en GitHub, por lo que el autor proporciona un pequeño script para descargar el archivo. Encontrará la secuencia de comandos en modelos / download_model.sh.

primer lugar, hacer el script ejecutable:

chmod +x ./models/download_model.sh

  • chmod + x ./models/download_model.sh

a continuación, ejecutar la secuencia de comandos para descargar el modelo:

./models/download_model.sh

  • ./models/download_model.sh

Ahora que todo se haya descargado, vamos a usar estas herramientas para transformar algunas imágenes.

Paso 2 – El funcionamiento de su transferencia Primer Experimento Estilo

Para ilustrar cómo funciona la transferencia de estilo neuronal, vamos a empezar con el ejemplo proporcionado por el autor del repositorio PyTorch-Style-transferencia. Puesto que vamos a necesitar para mostrar y ver imágenes, será más conveniente utilizar un cuaderno Jupyter.

lanzamiento Jupyter desde su terminal:

jupyter notebook

  • jupyter portátil

Luego acceso Jupyter siguiendo las instrucciones presentadas.

Una vez que aparece Jupyter, crear un nuevo portátil seleccionando Nueva > Python 3 en el menú superior derecho desplegable:

st_pytorch/Tro1a0h.jpg»>

st_pytorch/2reIEHS.jpg»>

El estilo artístico de la lona de la noche estrellada de Vincent van Vogh se ha localizado en el contenido de nuestras imágenes en barco Venitian. Usted ha aplicado con éxito la transferencia de estilo neuronal con un ejemplo de libro, por lo que vamos a tratar de repetir este ejercicio con diferentes imágenes.

Paso 3 – La transformación de sus propias imágenes

Hasta ahora, usted ha utilizado las imágenes proporcionadas por el autor de la biblioteca que estamos usando. Vamos a usar nuestras propias imágenes en su lugar. Para ello, puede encontrar una imagen que le interesa y utilizar la dirección URL de la imagen en el siguiente comando, o utilizar la dirección URL proporcionada a utilizar Sammy el Tiburón.

Usaremos un poco de magia IPython de nuevo para descargar la imagen a nuestro directorio de trabajo y colocarlo en un archivo llamado sammy.png.

!wget -O - 'https://assets.digitalocean.com/blog/static/sammy-the-shark-gets-a-birthday-makeover-from-simon-oxley/sammy-jetpack.png' > $workingdir/sammy.png

Cuando se ejecuta este comando en su cuaderno, verá el siguiente resultado:

Output--2017-08-15 20:03:27-- https://assets.digitalocean.com/blog/static/sammy-the-shark-gets-a-birthday-makeover-from-simon-oxley/sammy-jetpack.png
Resolving assets.digitalocean.com (assets.digitalocean.com)... 151.101.20.233
Connecting to assets.digitalocean.com (assets.digitalocean.com)|151.101.20.233|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10483 (10K) [image/png]
Saving to: 'STDOUT'

- 100%[===================>] 10.24K --.-KB/s in 0.001s

2017-08-15 20:03:27 (12.9 MB/s) - written to stdout [10483/10483]

Utilice el comando de imagen para mostrar la nueva imagen en el cuaderno:

Image('{}/sammy.png'.format(workingdir))

Siguiendo el mismo flujo de trabajo como la prueba de funcionamiento, vamos a ejecutar nuestro modelo de transferencia de estilo artístico utilizando Rocket Sammy como el contenido de la imagen, y la misma imagen Noche estrellada nuestra imagen como estilo.

Usaremos el mismo código que usamos anteriormente, pero esta vez vamos a especificar el contenido de la imagen a ser la imagen de estilo sammy.png, para ser starry_night.jpg, y escribir el resultado en un archivo llamado starry_sammy.jpg . A continuación, se ejecuta el comando:

# specify the path to the main.py script
path2script = '{}/main.py'.format(workingdir)

# specify the list of arguments to be used as input to main.py
args = ['eval',
'--content-image',
'{}/sammy.png'.format(workingdir),
'--style-image',
'{}/images/21styles/starry_night.jpg'.format(workingdir),
'--model',
'{}/models/21styles.model'.format(workingdir),
'--output-image',
'{}/starry_sammy.jpg'.format(workingdir),
'--cuda=0']

# build subprocess command
cmd = ['python3', path2script] + args

# run the bash command
x = subprocess.check_output(cmd, universal_newlines=True)

A continuación, utilice la función de la imagen para ver los resultados de la transferencia el estilo artístico de la noche estrellada de Vincent van Vogh con el contenido de la imagen de Sammy Rocket.

Image('{}/starry_sammy.jpg'.format(workingdir))

Vas a ver el nuevo Rocket estilizada Sammy: try de

Let esto otra vez por la imagen de un estilo diferente a la cartografía de nuestra imagen del cohete Sammy. Vamos a utilizar de Picasso La musa este momento. Una vez más, utilizamos como nuestra imagen sammy.png contenido, pero vamos a cambiar la imagen de estilo para ser la_muse.jpg. Vamos a guardar la salida en musing_sammy.jpg:

# specify the path to the main.py script
path2script = '{}/main.py'.format(workingdir)

# specify the list of arguments to be used as input to main.py
args = ['eval',
'--content-image',
'{}/sammy.png'.format(workingdir),
'--style-image',
'{}/images/21styles/la_muse.jpg'.format(workingdir),
'--model',
'{}/models/21styles.model'.format(workingdir),
'--output-image',
'{}/musing_sammy.jpg'.format(workingdir),
'--cuda=0']

# build subprocess command
cmd = ['python3', path2script] + args

# run the bash command
x = subprocess.check_output(cmd, universal_newlines=True)

Una vez que el código tiene en marcha terminado, mostrar la salida de su trabajo utilizando el nombre del archivo de salida especificado y la función Image:

Image('{}/musing_sammy.jpg'.format(workingdir))