TheLastBen / fast-stable-diffusion

fast-stable-diffusion + DreamBooth
MIT License
7.52k stars 1.31k forks source link

Latest version not work on Collab?, "No module named 'pyngrok" & "can't open file '/content/gdrive/MyDrive/sd/stable-diffusion-webui/webui.py'" #2416

Open MarcoLavoro opened 1 year ago

MarcoLavoro commented 1 year ago

I am following this guide:

https://colab.research.google.com/github/TheLastBen/fast-stable-diffusion/blob/main/fast_stable_diffusion_AUTOMATIC1111.ipynbI have some issue.I already tried to install 3 TIMES.I already deleted the sd folder on g-drive and reinstalled.I just pressed play on each cube.

I first I getted the error:No module named 'pyngrok"That I tried to solve putting the line:!pip install pyngrokon the first line of last block

But still have the error : can't open file '/content/gdrive//sd/stable-diffusion-/webui.py': [Errno 2] No such file or directory

The error occurs on the "Start stable diffusion" block

Please help...

TheLastBen commented 1 year ago

you are using colab free, so it's disconnecting you every 5 minutes

MarcoLavoro commented 1 year ago

Thanks for the feedback, but the error occurs always at the same point and since the full error is: can't open file '/content/gdrive//sd/stable-diffusion-/webui.py': [Errno 2] No such file or directory

maybe can be something relative to the installation or execution script?

you are using colab free, so it's disconnecting you every 5 minutes

TheLastBen commented 1 year ago

when colab disconnects you, you need to run all the cells from the top

MarcoLavoro commented 1 year ago

ects you, you need to run all the cells from the top

Thanks for the info, I tried but the problem persist unfortunately...

TheLastBen commented 1 year ago

You need colab pro or use the alternative gpu providers

Toshik-One commented 1 year ago

Thanks for the info, I tried but the problem persist unfortunately...

I have a fork of Ben's notebook for free Colab

MarcoLavoro commented 1 year ago

of Ben's notebook for free Cola

That would be amaizing! How can I find our fork?

timtensor commented 1 year ago

I am also having issues of getting disconnected regularly with a normal colab account. I have also enabled local tuneling but it fails. Is there a workaround on this ?

MarcoLavoro commented 1 year ago

led local tuneling but it fails. Is there a workaround on this ?

Thank you! for the link (also if I not find anymore your post...)I will try it as soon as possible!

Toshik-One commented 1 year ago

I am also having issues of getting disconnected regularly with a normal colab account. I have also enabled local tuneling but it fails. Is there a workaround on this ?

If you know a little python then the solution is simple. Google triggers these words in the code:

/sd-webui-

stable-diffusion-webui

stable-diffusion-$blasphemy

to bypass these words you need to encrypt in the code

timtensor commented 1 year ago

@Toshik-One - do you mean to rename the repo ? Do you have a link to look into it ?

timtensor commented 1 year ago

sorry I am quite new to colab so i am a bit confused. Is it to be run in the following code block ? I think it is already encoded, perhaps i am wrong here?

#@markdown # Install/Update AUTOMATIC1111 repo
from IPython.utils import capture
from IPython.display import clear_output
from subprocess import getoutput
import ipywidgets as widgets
import sys
import fileinput
import os
import time
import base64
import gdown
from gdown.download import get_url_from_gdrive_confirmation
import requests
from urllib.request import urlopen, Request
from urllib.parse import urlparse, parse_qs, unquote
from tqdm import tqdm
import six

blasphemy=base64.b64decode(("d2VidWk=").encode('ascii')).decode('ascii')

if not os.path.exists("/content/gdrive"):
  print('Gdrive not connected, using colab storage ...')
  time.sleep(4)
  mainpth="MyDrive"
  !mkdir -p /content/gdrive/$mainpth
  Shared_Drive=""

if Shared_Drive!="" and not os.path.exists("/content/gdrive/Shareddrives"):
  print('Shared drive not detected, using default MyDrive')
  mainpth="MyDrive"

with capture.capture_output() as cap:
  def inf(msg, style, wdth): inf = widgets.Button(description=msg, disabled=True, button_style=style, layout=widgets.Layout(min_width=wdth));display(inf)
  fgitclone = "git clone --depth 1"
  %mkdir -p /content/gdrive/$mainpth/sd
  %cd /content/gdrive/$mainpth/sd
  !git clone -q --branch master https://github.com/AUTOMATIC1111/stable-diffusion-$blasphemy
  !mkdir -p /content/gdrive/$mainpth/sd/stable-diffusion-$blasphemy/cache/
  os.environ['TRANSFORMERS_CACHE']=f"/content/gdrive/{mainpth}/sd/stable-diffusion-"+blasphemy+"/cache"
  os.environ['TORCH_HOME'] = f"/content/gdrive/{mainpth}/sd/stable-diffusion-"+blasphemy+"/cache"

with capture.capture_output() as cap:
  %cd /content/gdrive/$mainpth/sd/stable-diffusion-$blasphemy/
  !git reset --hard
  !git checkout master
  time.sleep(1)
  !rm webui.sh
  !git pull
clear_output()
inf('\u2714 Done','success', '50px')
timtensor commented 1 year ago

So basically to replace blasphemy=base64.b64decode(("d2VidWk=").encode('ascii')).decode('ascii')

with import binascii


blasphemy = binascii.unhexlify(("737461626c652d646966667573696f6e2d7765627569").encode('ascii')).decode('ascii')

!git clone -q --branch master https://github.com/AUTOMATIC1111/$blasphemy

!gdown {file_id} -O /content/gdrive/sd/"+blasphemy+"/

or ?

Toshik-One commented 1 year ago

remove this code:

import base64

blasphemy=base64.b64decode(("d2VidWk=").encode('ascii')).decode('ascii')

replace with this code:

import binascii

blasphemy = binascii.unhexlify(("7765627569").encode('ascii')).decode('ascii')

but it's only you hid from google that's stable-diffusion-webui

Toshik-One commented 1 year ago

@timtensor sorry, just found out that google still triggers on the word stable-diffusion-$blasphemy

timtensor commented 1 year ago

@Toshik-One - oh ok . I guess then there is no way out at the moment .

Toshik-One commented 1 year ago

@timtensor you just need to encrypt this word in full

timtensor commented 1 year ago

Is it the same way you mentioned above or is it something different ?