{"id":1831,"date":"2023-01-10T21:36:35","date_gmt":"2023-01-10T20:36:35","guid":{"rendered":"https:\/\/theroamingworkshop.cloud\/b\/?p=1831"},"modified":"2023-11-19T15:29:34","modified_gmt":"2023-11-19T14:29:34","slug":"dalle-playground-un-servidor-local-de-dall%c2%b7e-para-pcs-con-pocos-recursos","status":"publish","type":"post","link":"https:\/\/theroamingworkshop.cloud\/b\/1831\/dalle-playground-un-servidor-local-de-dall%c2%b7e-para-pcs-con-pocos-recursos\/","title":{"rendered":"Dalle-playground: un servidor local de Dall\u00b7E para PCs con pocos recursos"},"content":{"rendered":"\n<p>La generaci\u00f3n de im\u00e1genes mediante IA tiene un alto coste computacional. Que no te enga\u00f1e la velocidad de la <strong>API de Dall\u00b7E 2<\/strong> que vimos en <a rel=\"noreferrer noopener\" href=\"https:\/\/theroamingworkshop.cloud\/b\/?p=1838\" target=\"_blank\">este otro post<\/a>; si estos servicios habitualmente son de pago es por algo y, fuera de los servicios online que ya vimos, ejecutar IA en tu ordenador <strong>no es tan sencillo<\/strong>.<\/p>\n\n\n\n<p>Despu\u00e9s de probar, en vano, algunas alternativas open-source como <strong>Pixray<\/strong> o <strong>Dalle-Flow<\/strong>, finalmente te traigo la m\u00e1s simple de todas: <strong>dalle-playground<\/strong>. Esta es una versi\u00f3n primeriza de Dalle, por lo que no se obtienen los mejores resultados.<\/p>\n\n\n\n<p>Aun as\u00ed, pronto traer\u00e9 una alternativa a Dall\u00b7E (<a rel=\"noreferrer noopener\" href=\"https:\/\/stability.ai\/blog\/stable-diffusion-v2-release\" target=\"_blank\">Stable Diffusion<\/a> de stability.ai), que tambi\u00e9n cuenta con una versi\u00f3n optimizada por la comunidad para PCs con pocos recursos.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/underwater-life-1.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"2012\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/underwater-life-1.png\" alt=\"\" class=\"wp-image-2012\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/underwater-life-1.png 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/underwater-life-1-300x300.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/underwater-life-1-150x150.png 150w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/underwater-life-1-768x768.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/underwater-life-1-676x676.png 676w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">\u00abUnderwater life\u00bb from dalle-playground (Dalle mini)<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/seed_31_00004.jpeg\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"2033\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/seed_31_00004-1024x1024.jpeg\" alt=\"\" class=\"wp-image-2033\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/seed_31_00004-1024x1024.jpeg 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/seed_31_00004-300x300.jpeg 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/seed_31_00004-150x150.jpeg 150w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/seed_31_00004-768x768.jpeg 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/seed_31_00004-1536x1536.jpeg 1536w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/seed_31_00004-676x676.jpeg 676w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/seed_31_00004.jpeg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">\u00abUnderwater life\u00bb from Optimised Stable-Diffusion<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<div id=\"menu\" style=\"padding:20px 20px 20px 20px; border-left:2px solid darkgrey;\">\n<p style=\"font-weight:bold;\">Contenido<\/p>\n<\/div>\n<script>\nvar text;\nvar element;\n\nfunction fillmenu(){\n\nfor (let i=0; i<window.document.getElementsByTagName(\"h2\").length; i++){\nelement = window.document.getElementsByTagName(\"h2\")[i];\ntext = \"\u25b9 \"+element.innerHTML;\nvar newelement = document.createElement(\"a\");\nnewelement.innerHTML=text;\nvar postid=window.document.getElementsByTagName(\"article\")[0].id;\nvar url = \"https:\/\/theroamingworkshop.cloud\/b\/?p=\"+postid.substr(5,postid.length)+\"#\"+element.id;\nnewelement.setAttribute(\"href\", url);\nnewelement.appendChild(document.createElement(\"br\"));\nwindow.document.getElementById(\"menu\").appendChild(newelement);\n}\n}\n\nif(window.location.href.includes(\"tag\")){\n\n}else{\nwindow.setTimeout(fillmenu,2000);\n}\n\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"requisitos\">Requisitos<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/computer-hardware-elements_1-edited.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/computer-hardware-elements_1-edited.png\" alt=\"\" class=\"wp-image-2027\" width=\"298\" height=\"224\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/computer-hardware-elements_1-edited.png 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/computer-hardware-elements_1-edited-300x225.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/computer-hardware-elements_1-edited-768x576.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/computer-hardware-elements_1-edited-676x507.png 676w\" sizes=\"auto, (max-width: 298px) 100vw, 298px\" \/><\/a><figcaption class=\"wp-element-caption\">\"Computer hardware elements\" by dalle-playground<\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Hardware<\/h3>\n\n\n\n<p>Para que te hagas una idea, Pixray recomienda <strong>m\u00ednimo 16GB de VRAM<\/strong> y Dalle-Flow 21GB. VRAM o <strong>virtual RAM<\/strong> es la memoria de acceso r\u00e1pido que tiene tu <strong>tarjeta gr\u00e1fica<\/strong> (no confundir con la memoria RAM de toda la vida).<\/p>\n\n\n\n<p>Un port\u00e1til est\u00e1ndar como el m\u00edo tiene una <strong>Nvidia GeForce GTX1050Ti<\/strong> con <strong>3GB de VRAM dedicada<\/strong>, m\u00e1s luego 8GB de RAM en placa.<\/p>\n\n\n\n<p>Con este requisito m\u00ednimo, y un poco de paciencia, podr\u00e1s ejecutar <strong>Dalle-playground<\/strong> localmente en tu PC, aunque tambi\u00e9n <strong>requiere una conexi\u00f3n a internet<\/strong> para comprobar que los m\u00f3dulos python y el punto de control de la IA est\u00e1n actualizados.<\/p>\n\n\n\n<p>Si tienes alguna o varias gr\u00e1ficas m\u00e1s potentes yo te recomiendo probar <strong>Pixray<\/strong>, ya que se instala relativamente f\u00e1cil y est\u00e1 muy extendido y documentado.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/pixray\/pixray#usage\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/pixray\/pixray#usage<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Software<\/h3>\n\n\n\n<p>Los requisitos de software tampoco son triviales. Principalmente necesitar\u00e1s <strong>python<\/strong> y <strong>Node.js<\/strong>. Yo ense\u00f1ar\u00e9 los pasos principales de Linux, que tiene mucha m\u00e1s flexibilidad a la hora de instalar todo tipo de paquetes de este tipo, pero es igualmente v\u00e1lido para Windows o Mac si te manejas con la terminal o usando <strong>docker<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"descarga-dalle-playground\">Descarga dalle-playground<\/h2>\n\n\n\n<p>Casualmente descubr\u00ed este repositorio antes de que fuese actualizado a Stable Diffusion V2 (all\u00e1 por noviembre de 2022) y tuve la perspicacia de clonarlo.<\/p>\n\n\n\n<p>Accede y descarga todo el repositorio desde mi github:<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/TheRoam\/dalle-playground-DalleMINI-localLinux\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/TheRoam\/dalle-playground-DalleMINI-localLinux<\/a><\/p>\n\n\n\n<p>Opcionalmente, puedes descargar el repositorio original, aunque Stable Diffusion V2 requiere bastante m\u00e1s VRAM:<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/saharmor\/dalle-playground\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/saharmor\/dalle-playground\/<\/a><\/p>\n\n\n\n<p>Si usas <strong>git<\/strong> puedes clonarlo directamente a un directorio desde el terminal con:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/TheRoam\/dalle-playground-DalleMINI-localLinux<\/code><\/pre>\n\n\n\n<p>Yo renombr\u00e9 el directorio simplemente a <strong>dalle-playground<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"instala-python3-y-modulos-requeridos\">Instala python3 y los m\u00f3dulos requeridos<\/h2>\n\n\n\n<p>Todo el algoritmo trabaja con python en un <strong>backend<\/strong>. En el repositorio solo se menciona el uso de python3, por lo que asumo que versiones anteriores no funcionar\u00e1n. Comprueba tu versi\u00f3n de python con:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&gt;&gt; python3 -V\nPython 3.10.6<\/code><\/pre>\n\n\n\n<p>O inst\u00e1lalo, si no lo tienes, de su fuente oficial (creo que ya vamos por python 3.11, as\u00ed que comprueba cu\u00e1l es la \u00faltima disponible para tu sistema operativo):<\/p>\n\n\n\n<p><a href=\"https:\/\/www.python.org\/downloads\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.python.org\/downloads\/<\/a><\/p>\n\n\n\n<p>O de tu repositorio de Linux:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get install python3.10<\/code><\/pre>\n\n\n\n<p>Tambi\u00e9n necesitar\u00e1s el m\u00f3dulo <strong>venv<\/strong> para virtualizar el entorno de trabajo de dalle-playground y no alterar toda tu instalaci\u00f3n de python (lo siguiente es para Linux, en Windows viene inclu\u00eddo en su instalador):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get install python3.10-venv<\/code><\/pre>\n\n\n\n<p>En la carpeta de backend, crea un <strong>entorno virtual<\/strong> de python, que yo llamar\u00e9 <strong>dalleP<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd dalle-playground\/backend\npython3 -m venv dalleP<\/code><\/pre>\n\n\n\n<p>Ahora, <strong>activa este entorno<\/strong> virtual (ver\u00e1s que aparece el nombre al inicio de la l\u00ednea del terminal):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(dalleP) abc@123: ~dalle-playground\/backend$<\/code><\/pre>\n\n\n\n<p>Instala el resto de m\u00f3dulos de python que requiere dalle-playground y que se indican en el fichero <code>dalle-playground\/backend\/requirements.txt<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip3 install -r requirements.txt<\/code><\/pre>\n\n\n\n<p>Aparte, si no lo tienes ya, necesitar\u00e1s <strong>pyTorch<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip3 intall torch<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"instala-npm\">Instala npm<\/h2>\n\n\n\n<p><strong>Node.js<\/strong> ejecutar\u00e1 un servidor web local que servir\u00e1 de app. Inst\u00e1lalo de la fuente oficial:<\/p>\n\n\n\n<p><a href=\"https:\/\/nodejs.org\/en\/download\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/nodejs.org\/en\/download\/<\/a><\/p>\n\n\n\n<p>O de tu repositorio de Linux:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get install npm<\/code><\/pre>\n\n\n\n<p>Ahora ve a la carpeta del <strong>frontend<\/strong> <code>dalle-playground\/interface<\/code> e instala los m\u00f3dulos necesarios de <strong>Node.js<\/strong> :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd dalle-playground\/interface\nnpm install<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"lanzar-backend\">Lanzar el backend<\/h2>\n\n\n\n<p>Con todo instalado lanzamos los servidores, empezando por el backend.<\/p>\n\n\n\n<p>Primero activamos el entorno virtual de python3 en la carpeta <code>dalle-playground\/backend<\/code> (si acabas de instalarlo, lo tendr\u00e1s ya activado del paso anterior)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd dalle-playground\/backend\nsource dalleP\/bin\/activate<\/code><\/pre>\n\n\n\n<p>Lanzamos la aplicaci\u00f3n de backend:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python3 app.py --port 8080 --model_version mini<\/code><\/pre>\n\n\n\n<p>El backend tardar\u00e1 varios minutos en arrancar (de 2 a 5 min). Esperamos a que salga un mensaje como el siguiente y nos fijamos en las <strong>direcciones IP<\/strong> que nos aparecen al final:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>--&gt; DALL-E Server is up and running!\n--&gt; Model selected - DALL-E ModelSize.MINI\n * Serving Flask app 'app' (lazy loading)\n * Environment: production\n   WARNING: This is a development server. Do not use it in a production deployment.\n   Use a production WSGI server instead.\n * Debug mode: off\nINFO:werkzeug:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.\n * Running on all addresses (0.0.0.0)\n * Running on http:\/\/127.0.0.1:8080\n * Running on http:\/\/192.168.1.XX:8080<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"lanzar-frontend\">Lanzar frontend<\/h2>\n\n\n\n<p>Ahora lanzamos el servidor web local de Node.js, para lo que ejecutamos una nueva terminal:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd dalle-playground\/interfaces\nnpm start<\/code><\/pre>\n\n\n\n<p>En cuanto acabe, se abrir\u00e1 un navegador web y nos mostrar\u00e1 el men\u00fa gr\u00e1fico de la aplicaci\u00f3n.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/dalleP2.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"894\" height=\"587\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/dalleP2.png\" alt=\"\" class=\"wp-image-2037\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/dalleP2.png 894w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/dalleP2-300x197.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/dalleP2-768x504.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/dalleP2-676x444.png 676w\" sizes=\"auto, (max-width: 894px) 100vw, 894px\" \/><\/a><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"lanzador-autom\u00e1tico\">Lanzador autom\u00e1tico<\/h2>\n\n\n\n<p>En Linux puedes usar mi script <code>launch.sh<\/code> que lanza backend y frontend autom\u00e1ticamente siguiendo los pasos de arriba. Solo si\u00e9ntate a esperar a que cargue.<\/p>\n\n\n\n<p><code>launch.sh<\/code><\/p>\n\n\n\n<div style=\"height:200px;overflow-x:hidden;padding:2px 2px 2px 2px;\"><pre class=\"wp-block-code\"><code style=\"display:block;width:100%;\">#!\/bin\/bash\n#Launcher for dalle-playground in Linux terminal\n\n#Launchs backend and frontend scripts in one go\n$(bash .\/frontend.sh &amp;&amp; bash .\/backend.sh &amp;)\n\n#Both scripts will run in one terminal.\n#Close this terminal to stop the programm.\n<\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p><code>backend.sh<\/code><\/p>\n\n\n\n<div style=\"height:200px;overflow-x:hidden;padding:2px 2px 2px 2px;\"><pre class=\"wp-block-code\"><code style=\"display:block;width:100%;\">#!\/bin\/bash\n#Backend launcher for dalle-playground in Linux terminal\n\n#move to backend folder\necho \"------ MOVING TO BACKEND FOLDER ------\"\ncd .\/backend\n\n#set python virtual environment\necho \"------ SETTING UP PYTHON VIRTUAL ENVIRONMENT ------\"\npython3 -m venv dalleP\nsource dalleP\/bin\/activate\n\n#launch backend\necho \"------ LAUNCHING DALLE-PLAYGROUND BACKEND ------\"\npython3 app.py --port 8080 --model_version mini &amp;\n<\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p><code>frontend.sh<\/code><\/p>\n\n\n\n<div style=\"height:200px;overflow-x:hidden;padding:2px 2px 2px 2px;\"><pre class=\"wp-block-code\"><code style=\"display:block;width:100%;\">#!\/bin\/bash\n#Frontend launcher for dalle-playground in Linux terminal\n\n#move to frontend folder\necho \"------ MOVING TO FRONTEND FOLDER ------\"\ncd .\/interface\n\n#launch frontend\necho \"------ LAUNCHING DALLE-PLAYGROUND FRONTEND ------\"\nnpm start &amp;\n<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"app-dalle-playground\">App dalle-playground<\/h2>\n\n\n\n<p>En el primer campo introduciremos la direcci\u00f3n IP del servidor de backend que vimos anteriormente. Si accedes desde el mismo PC puedes usar la primera:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;127.0.0.1:8080<\/code><\/pre>\n\n\n\n<p>Pero puedes acceder desde otro dispositivo de tu red local mediante la segunda:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;192.168.1.XX:8080<\/code><\/pre>\n\n\n\n<p>Ahora introducimos la <strong>descripci\u00f3n de la imagen<\/strong> a generar en el segundo campo, y por \u00faltimo definimos el n\u00famero de im\u00e1genes que queremos que se generen (a mayor n\u00famero, m\u00e1s tiempo tardar\u00e1).<\/p>\n\n\n\n<p>Pulsamos <code>[enter]<\/code> y esperamos a que se genere la imagen (sobre 5 minutos por imagen).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/dalleP-1.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"545\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/dalleP-1-1024x545.png\" alt=\"\" class=\"wp-image-2015\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/dalleP-1-1024x545.png 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/dalleP-1-300x160.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/dalleP-1-768x409.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/dalleP-1-676x360.png 676w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/dalleP-1.png 1074w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>Y aqu\u00ed est\u00e1 nuestra primera imagen generada por IA en nuestro ordenador. Yo os dejo una peque\u00f1a galer\u00eda de resultados. Y en el pr\u00f3xmo post veremos c\u00f3mo obtener <strong>mejores resultados mediante Stable Diffusion, tambi\u00e9n usando menos de 4GB de VRAM<\/strong>.<\/p>\n\n\n\n<p>Ya sabes que espero tus dudas y comentarios en \ud83d\udc26 Twitter!<\/p>\n\n\n\n<p>\ud83d\udc26 <code><a rel=\"noreferrer noopener\" href=\"https:\/\/twitter.com\/roamingworkshop\" target=\"_blank\">@RoamingWorkshop<\/a><\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"galer\u00eda-dalle-playground\">Galer\u00eda: Dalle-playground<\/h2>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-4 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain1c.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"1869\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain1c.png\" alt=\"\" class=\"wp-image-1869\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain1c.png 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain1c-300x300.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain1c-150x150.png 150w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain1c-768x768.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain1c-676x676.png 676w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">\"Digital brain\" 1<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain2c.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"1868\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain2c.png\" alt=\"\" class=\"wp-image-1868\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain2c.png 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain2c-300x300.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain2c-150x150.png 150w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain2c-768x768.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain2c-676x676.png 676w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">\"Digital brain\" 2<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain3c.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"1867\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain3c.png\" alt=\"\" class=\"wp-image-1867\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain3c.png 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain3c-300x300.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain3c-150x150.png 150w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain3c-768x768.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain3c-676x676.png 676w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">\"Digital brain\" 3<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain4c.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"1866\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain4c.png\" alt=\"\" class=\"wp-image-1866\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain4c.png 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain4c-300x300.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain4c-150x150.png 150w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain4c-768x768.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2022\/11\/digital_brain4c-676x676.png 676w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">\"Digital brain\" 4<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/underwater-life.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"2006\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/underwater-life.png\" alt=\"\" class=\"wp-image-2006\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/underwater-life.png 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/underwater-life-300x300.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/underwater-life-150x150.png 150w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/underwater-life-768x768.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/underwater-life-676x676.png 676w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">\"Underwater life\"<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/roses1-1.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"2009\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/roses1-1.png\" alt=\"\" class=\"wp-image-2009\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/roses1-1.png 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/roses1-1-300x300.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/roses1-1-150x150.png 150w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/roses1-1-768x768.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/roses1-1-676x676.png 676w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">\"Roses\" 1<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/roses2.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"2007\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/roses2.png\" alt=\"\" class=\"wp-image-2007\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/roses2.png 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/roses2-300x300.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/roses2-150x150.png 150w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/roses2-768x768.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/roses2-676x676.png 676w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">\"Roses\" 2<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/computer-hardware-elements_1.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"2024\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/computer-hardware-elements_1.png\" alt=\"\" class=\"wp-image-2024\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/computer-hardware-elements_1.png 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/computer-hardware-elements_1-300x300.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/computer-hardware-elements_1-150x150.png 150w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/computer-hardware-elements_1-768x768.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/computer-hardware-elements_1-676x676.png 676w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">\"Computer hardware elements\"<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/halloween_pumpkin1.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"2022\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/halloween_pumpkin1.png\" alt=\"\" class=\"wp-image-2022\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/halloween_pumpkin1.png 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/halloween_pumpkin1-300x300.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/halloween_pumpkin1-150x150.png 150w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/halloween_pumpkin1-768x768.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/halloween_pumpkin1-676x676.png 676w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">\"Halloween pumpkin\" 1<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/halloween_pumpkin2.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"2021\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/halloween_pumpkin2.png\" alt=\"\" class=\"wp-image-2021\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/halloween_pumpkin2.png 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/halloween_pumpkin2-300x300.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/halloween_pumpkin2-150x150.png 150w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/halloween_pumpkin2-768x768.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/halloween_pumpkin2-676x676.png 676w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">\"Halloween pumpkin\" 2<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/christmas_tree1.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"2023\" src=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/christmas_tree1.png\" alt=\"\" class=\"wp-image-2023\" srcset=\"https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/christmas_tree1.png 1024w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/christmas_tree1-300x300.png 300w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/christmas_tree1-150x150.png 150w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/christmas_tree1-768x768.png 768w, https:\/\/theroamingworkshop.cloud\/b\/wp-content\/uploads\/2023\/01\/christmas_tree1-676x676.png 676w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">\"Christmas tree\"<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<p><em>Nota: im\u00e1genes originales de 256x256 p\u00edxeles, ampliadas con <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/upscayl\/upscayl\" target=\"_blank\">Upscayl<\/a>.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La generaci\u00f3n de im\u00e1genes mediante IA tiene un alto coste computacional. Que no te enga\u00f1e la velocidad de la API de Dall\u00b7E 2 que vimos en este otro post; si estos servicios habitualmente son de pago es por algo y, fuera de los servicios online que ya vimos, ejecutar IA en tu ordenador no es [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1869,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[590,45],"tags":[335,325,359,361,337,363,323,369,371,373,365,367],"class_list":["post-1831","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ia","category-programas","tag-ai","tag-artifitial-intelligence","tag-dalle","tag-generacion-de-imagenes","tag-ia","tag-image-generation","tag-inteligencia-artificial","tag-linux","tag-low-ram","tag-lowram","tag-midjourney","tag-stable-diffusion","post-preview"],"_links":{"self":[{"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/posts\/1831","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/comments?post=1831"}],"version-history":[{"count":21,"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/posts\/1831\/revisions"}],"predecessor-version":[{"id":2059,"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/posts\/1831\/revisions\/2059"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/media\/1869"}],"wp:attachment":[{"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/media?parent=1831"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/categories?post=1831"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/theroamingworkshop.cloud\/b\/wp-json\/wp\/v2\/tags?post=1831"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}