Outils pour utilisateurs

Outils du site


issue192:tutoriel1

Given I am still a bit of a newbie myself, I thought I should note some of the problems I have run into with Stable Diffusion (SD.) In order to support the graphics, I upgraded my computer to a gamer desktop with a Nvidia card. The new system (CYBERPOWERPC Gamer Xtreme VR Gaming PC with an Nvidia GeForce RTX 3060, 12GB) was initially only slightly faster than the CPU option. The screen capture below shows the new computer configurations.

Étant donné que je reste un peu débutant moi-même, je pensais que je devais noter certains des problèmes que j’ai rencontrés avec Stable Diffusion (SD). Pour pouvoir prendre en charge les graphismes, j’ai mis à niveau mon ordinateur vers un bureau pour joueur avec une carte Nvidia. Le nouveau système (CYBERPOWERPC Gamer Xtreme VR Gaming PC avec une carte Nvidia GeForce RTX 3060, à 12 Go) était au départ seulement un chouïa plus rapide que l'option processeur. La capture d'écran ci-dessous montre les nouvelles configurations de mon ordinateur.

In order to address the slow imaging speed, I looked at the Settings tab in SD and found that it was set to use the CPU not GPU. (Also note the presence of the Beta Channel version option which may fix some issues and add new options.) I could not turn off the use CPU option, leading me to realize that Nvidia drivers were not installed by default when installing Ubuntu Studio. Nvidia drivers were then installed using the default, proprietary - tested version. A change in the drivers configuration resulted in a dramatic improvement in imaging speed, with the images created in a few seconds instead of minutes. Eventually another problem arose. While starting SD, I would sometimes see the following line in the terminal and the browser never opened.

Afin de pouvoir corriger la lenteur de la création d’image, j’ai regardé l’onglet Settings dans SD et j’ai vu qu’il était réglé pour utiliser le CPU et pas le GPU. (Notez aussi la présence d’une option de la version Beta Channel qui corrigera peut-être quelques problèmes et ajoutera de nouvelles options.)

Je n’arrivais pas à désactiver l’option « use CPU » (utiliser le CPU) et c'est ainsi que je me suis rendu compte que les pilotes Nvidia n’étaient pas installés par défaut lors de l’installation d’Ubuntu Studio. J’ai alors installé les pilotes Nvidia par défaut en utilisant la version propriétaire et testée. Une modification de la configuration des pilotes a donné une amélioration spectaculaire dans la vitesse de création des images : quelques secondes au lieu de plusieurs minutes.

Finalement, j’ai rencontré un autre problème. En démarrant SD, je voyais parfois la ligne suivante dans le terminal et mon navigateur ne s’est jamais ouvert.

qt.qpa.plugin: Could not load the Qt platform plugin “xcb” in “/home/jon/Desktop/Stable-diffusion/easy-diffusion/installer_files/env/lib/python3.8/site-packages/cv2/qt/plugins” even though it was found. (Bien qu'il ait été trouvé, impossible de charger le greffon « xcb ».)

This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. (Cette application n'a pas démarré parce qu'aucun greffon de la plateforme Qt n'a pu être initialisé. Une réinstallation de l'application pourrait corriger ce problème.)

To fix the problem, first close the program (type Ctrl+c {Enter}) and then close the Browser tab. I could fix the above problem each time it happened by pasting the command below in the same terminal window: export QT_QPA_PLATFORM=offscreen {Enter} and restart Easy Diffusion: ./start.sh {Enter} Thanks to ljubomirb (https://github.com/NVlabs/instant-ngp/discussions/300) for this fix.

Pour corriger le problème, fermez d’abord le programme (tapez CTRL+c puis Entrée) et ensuite fermez l’onglet du navigateur. Je pouvais corriger le problème ci-dessus chaque fois qu’il est survenu en collant la commande ci-dessous dans la même fenêtre du terminal :

export QT_QPA_PLATFORM=offscreen

Appuyez sur Entrée et redémarrez Easy Diffusion :

./start.sh puis Entrée

Remerciements à ljubomirb (https://github.com/NVlabs/instant-ngp/discussions/300) pour cette solution.

Afterwards I sometimes ran into the problem again with the CPU selected and the fix was to simply reboot. Looking at the Easy Diffusion Generate panel (current version 2.5.31), changes are often made over several days, see the What’s New tab on the top right on the left side of your web browser interface. As noted in the introductory article, Stable Diffusion part 1, the prompt is the top and likely most important option. It gets saved as part of the image name. Depending on your purpose, you may eventually want to save additional information automatically. To do so, select the Settings tab, next to the Generate tab and with the Auto-Save Images on, select a metadata format such as json or txt. A json file can simply be selected to produce the same file, with txt, information will need to be manually input. Use the full path for the location of your Auto-Saved images.

Par la suite, j’ai parfois rencontré le problème à nouveau avec le CPU sélectionné et il fallait tout simplement redémarrer. En regardant le panneau Easy Diffusion Generate (la version actuelle est la 2.5.31), des modifications sont souvent faites sur plusieurs jours : regardez l’onglet What’s New en haut à droite côté gauche de l’interface de votre navigateur Web.

Comme noté dans l’article de présentation, Stable Diffusion partie 1, l’invite est l’option en haut et sans doute la plus importante. Elle est sauvegardée comme une partie du nom de l’image. Selon votre objectif, vous pourriez peut-être vouloir sauvegarder des informations supplémentaires automatiquement. Pour ce faire, sélectionnez l’onglet Settings à côté de l’onglet Generate et, Auto-Save Images étant activé, sélectionnez un format de méta-données comme json ou txt. Il suffit de sélectionner un fichier json pour produire le même fichier ; avec le format txt, vous devez entrer des informations manuellement. Utilisez le chemin entier pour l’emplacement de vos Auto-Saved images (images sauvegardées automatiquement).

You may also use the Download images button for a single image. As I understand it, SD is deterministic, and you will normally get the same graphic only if all the parameters are the same. Also while looking at the settings, one item to note is the Block NSFW (Not Safe For Work) images option depending on your environment. Such images may unexpectedly be generated. The default image size is 512×512 px and if you choose a smaller size, you are warned that small image sizes (less than the default) can cause bad image quality. If only one dimension is smaller than 512 you may not get the warning but the image quality is likely nevertheless of bad quality. Larger image sizes can also have an undesirable effect on the generated image. While trying to generate an image of a baby with wide open eyes with the size set to 1024×1024 px, multiple faces were always created. Reducing the size to the default 512×512 px produced the desired results. You can then move the cursor over the image in question and select the upscale option that pops-up. When making your first images you will likely be impressed but eventually you will recognize various issues. For example using the prompt “two small possums, photo realistic,” the possums may look cute but are not realistic. They look more like mice and unexpectedly have extra fingers. This is because the generated images are dependent on the images used for training and obviously everything can’t be used for training.

Vous pouvez également utiliser le bouton Download images pour une seule image. Tel que je le comprends, SD est déterministe et, normalement, vous n’aurez la même image que si tous les paramètres sont les mêmes. De plus, en examinant les paramètres, un élément à remarquer est l’option Bloquer les images NSFW (Not Safe For Work - Ce n’est pas sûr de travailler avec) selon votre environnement. De telles images peuvent être générées de façon inattendue.

La taille d’une image par défaut est de 512 x 512 px et, si vous choisissez une plus petite taille, un avertissement s’affichera vous indiquant qu'une petite taille d’image (moins que la taille par défaut) peut engendrer une mauvaise qualité de l’image. Si une seule dimension est plus petite que 512, l’avertissement ne s’affichera peut-être pas, mais la qualité de l’image sera néanmoins tout de même mauvaise. Des tailles d’image plus grandes peuvent aussi affecter l’image générée de façon indésirée. Quand j’essayais de générer l’image d’un bébé avec les yeux grand ouverts, la taille de l'image étant réglée à 1024 x 1024 px, de multiples visages ont toujours été créés. La réduction de la taille par défaut 512 x 512 px a fourni les résultats voulus. Vous pouvez alors déplacer votre curseur au-dessus de l’image et sélectionner l’option upscale (rendre plus grand) qui s’affiche.

Quand vous créerez vous premières images, vous serez sans doute très impressionné, mais, à la longue, vous reconnaîtrez divers problèmes. Par exemple, avec l’utilisation de l’invite « two small possums, photo realistic  » (deux petit opossums, photo réaliste), les opossums seront probablement mignons, mais pas réalistes. Ils ressemblent davantage à des souris et, de façon inattendue, ils ont des doigts en trop. Cela est dû au fait que les images générées dépendent des images qui sont utilisées pour l’entraînement et, bien entendu, tout ne peut pas être utilisé pour l’entraînement.

Similarly it can’t do a Pablo Picasso rendering of yourself because your photographs were also not part of the training. That said, try inputting your name in the prompt and see what you get. I thought I would end with a more desirable image, create something like the below with the prompt library with fireplace burning with a single bay window. No fire is in the fireplace in the below image possibly because the prompt was worded incorrectly but it may be because of the viewing angle. You might want to bump up the number of images to 10 in the options below the prompt to make ten different versions. You may want to hold off on using that parameter if you don’t have a more capable graphic card otherwise the wait time may be significant. More about those options next time.

De la même façon, il ne peut pas faire une image de vous-même à la Pablo Picasso parce que les photographies de vous ne faisaient pas partie de l'entraînement. Cela étant dit, essayez d'entrer votre nom dans l'invite et regardez le résultat. Je pensais terminer avec une plus jolie image, créer quelque chose comme l'image ci-dessous avec l'invite « library with fireplace burning with a single bay window » (bibliothèque avec une seule baie vitrée et un feu dans la cheminée). Il n'y a pas de feu dans la cheminée dans l'image ci-dessous, sans doute parce que l'invite était mal formulée, mais cela peut être dû à l'angle de vision. Vous voudrez peut-être augmenter le nombre d'images à 10 dans les options sous l'invite pour créer dix versions différentes. Et vous voudrez peut-être attendre d'utiliser ce paramètre-là si vous n'avez pas une très bonne carte graphique, sinon le temps d'attente pourrait être important. Plus sur ces options-là la prochaine fois.

issue192/tutoriel1.txt · Dernière modification : 2023/05/03 14:41 de andre_domenech