最終更新:ID:DqSiI5hXpw 2023年04月21日(金) 14:11:26履歴
ノートブックの改造ネタなど。
Colabってなーにって話はローカルをクラウドでに書いてある。
完成したノートブックは以下の場所に置いてある。
Remote UI(1111を含む)の利用が禁止になりました。
以後、ブラウザで操作するタイプのソフトウェアは使わないでください。
- kohya_train_network_simple Lora学習用
- 無料版に対応する(Driveも)
- ローカル版が使えない人も対象
- PC利用
- CPUで済ませられる作業はGPUを割り当てないノートブックで済ませる
- できるだけGUIを使わない(設定はノートブックで済ませる)
- できるだけシンプルな方法を採用する(コンパイルは極力控える)
毎回承認が必要。面倒だけど勝手にマウントされないので安全。
from google.colab import drive drive.mount('/content/drive')
/content/drive/MyDrive 以下を使う
src_path = "/content/hoge.piyo" #@param {type:"string"} dst_path = "/content/drive/MyDrive/hoge.piyo" #@param {type:"string"} !cp {src_path} {dst_path}
dst_path = "/content/drive/MyDrive/hoge.piyo" #@param {type:"string"} src_path = "/content/hoge.piyo" #@param {type:"string"} !cp {dst_path} {src_path}
高速に処理したいのでZStandardを使う。
stable-diffusion-webui ごとバックアップする手と、
venvだけバックアップする手が考えられる。
前者はgithubが急に無くなっても動作させられるが、
ダウンロードするだけのものを再圧縮するので時間と容量は余計にかかる。
1111は初回起動が終わった後でバックアップしたほうが良い。
以下は /content/hoge/venv の例。
zip_path = "/content/hoge_venv.zst" #@param {type:"string"} %cd /content/hoge !pip install zipfile-zstd import os import zipfile_zstd as zipfile from glob import glob with zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_ZSTANDARD, compresslevel=3) as zip_f: for path in glob("venv/**", recursive=True): zip_f.write(path)
zst にフォルダが内包されていることが必須(上記の方法ならOK)
zip_path = "/content/hoge_venv.zst" #@param {type:"string"} dst_path = "/content/hoge" #@param {type:"string"} !pip install zipfile-zstd import zipfile_zstd as zipfile with zipfile.ZipFile(zip_path, 'r', zipfile.ZIP_ZSTANDARD) as zObject: zObject.extractall(path=dst_path)
pythonが実行できない時はパーミッションを設定する
!chmod +x "{dst_path}/venv/bin/python" !chmod +x "{dst_path}/venv/bin/pip" !chmod +x "{dst_path}/venv/bin/accelerate"
Python本体をDriveにバックアップする方法は不明。
!sudo apt autoremove !sudo apt-get -y update !sudo apt-get -y install python3.10
!sudo cp `which python3.10` /usr/local/bin/python
古いバージョンのpythonに依存した何かが動かなくなる可能性があるので、
常時起動のサーバとか多目的用途の環境ではやらないほうがいい。
MINICONDA_SH='Miniconda3-py39_4.12.0-Linux-x86_64.sh' # Miniconda3-latest-Linux-x86_64.sh !wget https://repo.anaconda.com/miniconda/{MINICONDA_SH} !chmod +x {MINICONDA_SH} !./{MINICONDA_SH} -b -f -p /usr/local del MINICONDA_SH
今までの苦労はなんだったんだって感じで、この3行だけですんなり入る。
!venv/bin/pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117 !venv/bin/pip install -U --pre triton !venv/bin/pip install xformers==0.0.16rc425
!conda update conda -y !conda install pytorch==1.13.1 torchvision==0.14.1 cudatoolkit=11.7 -c pytorch -y !conda install xformers -c xformers/label/dev -y
sd-scriptsがこのバージョンじゃないと正常動作してても学習出来てない不具合があるとかなんとか。
Pythonのバージョンを上げることは出来ない。
!venv/bin/pip install -q https://github.com/camenduru/stable-diffusion-webui-colab/releases/download/0.0.15/xformers-0.0.15.dev0+189828c.d20221207-cp38-cp38-linux_x86_64.whl
🤗にあるものはwgetで十分な速度が出る。
ckpt_url = 'https://huggingface.co/aka7774/fp16_safetensors/resolve/main/7th_anime_v3_A-fp16-1833-2982-0018.safetensors'#@param {type:"string"} !wget -c "{ckpt_url}" -P /content/stable-diffusion-webui/models/Stable-diffusion/
🤗にないものは🤗にアップロードして🤗からダウンロードしたほうが良い。
aria_url = ''#@param {type:"string"} if aria_url: !apt install -y -qq aria2 !aria2c --summary-interval=10 -x 3 --allow-overwrite=true -Z {aria_url}
writeトークンはリンク先のページで作れる。
!pip install --upgrade huggingface_hub from huggingface_hub import login, HfApi login()
repo_type が空白だとモデル
dataset は画像など用
filepath = "" #@param {type:"string"} path_in_repo = "" #@param {type:"string"} repo_id = "" #@param {type:"string"} repo_type = "" #@param {type:"string"} import os if os.path.exists(filepath): api = HfApi() api.upload_file(path_or_fileobj=filepath, path_in_repo=path_in_repo, repo_id=repo_id, repo_type=repo_type, )
コメントをかく