Comme nous le savons tous, la diffusion stable ne peut généralement pas être pilotée par les GPU des ordinateurs portables. On dit qu'il faut au moins 4 Go de GPUVRAM, mais ce n'est pas suffisant si l'on veut l'utiliser à « vitesse normale (1) ». Vous souhaitez utiliser le cloud ? Certains prix de location cloudgpu sont acceptables et ils ne vous permettent généralement pas de stocker des fichiers. L'ouverture d'un stockage cloud est une autre dépense, et il est difficile de transférer des fichiers vers et depuis ceux-ci. J'ai donc (principalement mon tuteur) décidé d'utiliser le GPU du collège afin d'économiser de l'argent.
(1) Référence approximative sans parler de la vitesse du modèle GPU : Mon GPU2GB : 3 minutes pour une image Linux utilise un serveur proxy Programmation système Linux, ami AGPU6GB : 50s pour une image, ami BGPU32GB : 2S pour une image..
Les performances du GPU au collège sont plutôt bonnes. C'est la recette Linux privée de frère Niao, et elle n'a pas d'autorisations root ! Le pilote ne veut pas être mis à jour avant de pouvoir le mettre à jour pour vous ! Ce qui est encore plus ennuyeux, c'est que la machine à laquelle je me connecte doit être connectée à Internet via un proxy (c'est la chose la plus gênante que j'ai rencontrée lors du téléchargement de la SD).
Comme je n'ai vu personne installer SD à l'aide de Linuxconda pour contourner divers problèmes d'autorisation root + problèmes de proxy, je partagerai ci-dessous mon expérience d'installation de stablediffusionwebui. Cette expérience devrait également s'appliquer aux collègues qui ont besoin de Linuxconda sans autorisations ni problèmes de proxy.
*Ma machine est LinuxCentOS (Redhat), NVidiaGPU
** Ce que je veux dire par installer sd, c'est installer le populaire webgui AUTOMATIC1111 sur github :
***Je suis aux États-Unis
****Je ne suis pas un étudiant CS. S'il y a quelque chose de non professionnel, merci de me remercier. Si vous ne l'aimez pas, ne me critiquez pas, je partage simplement mon expérience.
Condition préalable d'installation :(1) Le GPU est-il assez gros (au moins 4 Go de mémoire vidéo) Sinon, ne vous embêtez pas, allez sur huggingface et utilisez la version mendiante gratuite (sincèrement).
(2) Veuillez vérifier la version CUDAdrive de votre machine (car la torche sera utilisée. D'après mon expérience, 10. ou plus ne doivent pas être utilisés, quelle que soit la combinaison de torchcuda... CUDA11 et supérieur ont une bonne compatibilité). La torche que j'ai installée est adaptée au cu117, même si je peux l'utiliser sur 11.2. (Si vous rencontrez des problèmes de compatibilité des versions CUDA après avoir installé Torch plus tôt, vous pouvez essayer différentes combinaisons de versions et modifier le chemin de téléchargement dans launch.py)
1. Utilisez d'abord le dépôt gitclone (si vous n'avez pas git, installez git ; si git doit configurer un proxy et peut se connecter à Internet, veuillez voir l'étape 4)
<code class=" language-javascript"></code>
2. Comme je n'ai pas les autorisations root pour télécharger divers packages, je dois utiliser conda (dans mon cas, je dois utiliser miniconda). Pour référence spécifique, voici en fait le téléchargement automatique du package d'installation anaconda/miniconda (wget ou quelque chose du genre) et l'installer
3. Après le téléchargement, créez votre environnement conda (python3.10.6 est requis)
<code class=" language-javascript"></code>
4. (Les partenaires qui n'ont pas besoin de configurer un réseau proxy peuvent omettre cette étape) De manière générale, vous pouvez commencer le téléchargement à ce moment-là, et les partenaires qui ont besoin de configurer un réseau proxy devront peut-être vérifier s'il existe les éléments suivants paramètres aux endroits suivants :
~/.bashrc (mettre en place l'environnement, responsable du réseautage au sens habituel...)
<code class=" language-javascript"></code>
~/.condarc (responsable du réseau tel que condainstall...généralement à cet emplacement)
<code class=" language-javascript"></code>
réseau git
<code class=" language-javascript"></code>
De plus, pipinstall, qui est nécessaire pour télécharger divers packages, doit également être connecté à Internet. Ils se trouvent dans le fichier launch.py :
.Le premier endroit à changer est au dessus de defrun_pip, vers la ligne 129
<code class=" language-javascript"></code>
Le deuxième endroit qui doit être modifié est de télécharger la torche dans defprepare_environment, qui se situe autour de la ligne 228
<code class=" language-javascript"></code>
5. Ensuite, vous pouvez théoriquement commencer le téléchargement, mais il vous suffit de :
<code class=" language-javascript"></code>
* Remarque ici : bien que vous utilisiez bashwenui.sh pour installer, vous utilisez l'environnement virtuel de python pour installer launch.py dans le même répertoire. Je pensais que comme il n'y avait peut-être pas beaucoup de différence entre conda, j'ai exécuté launch.py directement et de nombreuses erreurs étranges sont apparues à côté, ce qui m'a amené à reconfigurer l'environnement plusieurs fois, je recommande donc fortement de l'utiliser même dans conda. bashwebui.sh permet de l'installer dans l'environnement virtuel python. N'exécutez pas launch.py directement !
Mais pour moi, mon voyage dans les pièges ne fait que commencer. . .
Voici quelques-uns de mes pièges et solutions de contournement (seul le partage d'expérienceLinux utilise un serveur proxy, ma solution n'a aucun sens, et elle fonctionne au final ! Haha !)
1. Difficile de télécharger gfpgan
"RuntimeError : Impossible d'installer gfpgan."
Je pense que c'est un problème de réseau. J'ai bien peur que ce soit un problème de proxy, mais je ne sais pas ce qui ne va pas (Pour ceux qui ont ce problème à l'étranger, vous pouvez vous référer à ceci. Il s'agit peut-être d'un problème [Internet])
Ma solution : commentez d'abord le code de téléchargement de gfpgan dans launch.py
<code class=" language-javascript"></code>
Essayez ensuite de télécharger automatiquement (si vous avez besoin d'un proxy, pensez à ajouter --proxy=votre adresse proxy)
<code class=" language-javascript"></code>
Si cela ne fonctionne toujours pas, jetons un œil au rapport d'erreur et complétons ce qui manque. J'ai essayé de réinstaller numpy dans conda, mis à jour pip, git, setuptools, cython... et finalement cela a fonctionné (je suppose que git). c'est mieux que numpy) Important), même s'il est toujours installé automatiquement, c'est mieux que de ne pas pouvoir l'utiliser.
Référence :
2. Une erreur s'est produite lors du téléchargement de stablediffusion of stabilitéai
« Erreur d'exécution : impossible de déterminer le shash de StableDiffusion » lors de l'installation
Ma solution : mettre à jour git dans conda (j'utilisais la version 1.8, et tout ira bien si je mets à jour vers la version 2.)
Référence :
À ce stade, il n'y a aucun problème pour télécharger le modèle. Voici quelques autres bugs simples :
3. Comme l'hôte local de la machine que j'utilise n'est pas accessible, je dois générer des liens externes
ValueError : Lorsque l'hôte local n'est pas accessible, un lien partageable doit être créé. Pleasesetshare=True.
Ma solution : supprimez les commentaires et ajoutez --share dans webui-user.sh, puis exécutez à nouveau webui-user.sh
<code class=" language-javascript"></code>
De cette façon, vous pouvez utiliser le lien externe de Gradio pour accéder au webgui
4. L'interface Web peut être ouverte et il est difficile de générer des images, et l'erreur SomethingwentwrongExpectingvalue : line1column1(char0)
Ma solution : j'ai entendu dire que ce serait bien de désactiver l'agent, mais je n'arrive pas à le désactiver. . . Donc, similaire à la question précédente, ajoutez simplement --no-gradio-queue et exécutez webui-user.sh
<code class=" language-javascript"></code>
Référence :
Vous êtes invités à échanger vos expériences avec stablediffusion et autres génératifs !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!