update : 2022-10-30
2021-09-23 /
@syui
windows
, m
/ windows
windows
windowsの使い方をまとめます。windows11を使用しています。
title |
body |
cpu |
AMD Ryzen 7 5700X |
memory |
32GB / DDR4-3200 DIMM (PC4-25600) |
gpu |
GeForce RTX 4060Ti 8GB |
storage |
1TB M.2 NVMe SSD |
inc |
© INVERSENET |
gpu
基本的にgpuのhdmi端子からdispalyに接続します。
nvidiaのdriverは常にupdateしてください。
download : driver, cuda v12.1, cudnn
現在、pytorchはcuda v12.1
に対応しています。
local account
windowsをinstallする際に、microsoft accountを要求されます。これを回避するには、インターネット接続を停止、つまり、回線を引っこ抜いてから初期設定を行う必要があります。
openssh
https://github.com/PowerShell/Win32-OpenSSH
$ winget install microsoft.openssh.beta
sshd_config
はc:/programdata/ssh/sshd_config
にあります。public-key方式でアクセスするには、最後の方の行にauthorized_keys
のpathが記載されており、そこにpublickeyを記述します。ここでは、c:/programdata/ssh/administrators_authorized_keys
になります。なお、ssh-copy-id
コマンドは機能しません。
Match Group administrators
AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
ADD userの場合、publickey認証が通らないことがあるようです。このようにしてc:/users/$user/.ssh/authorized_keys
に置いてみましょう。pathにauthorizedKeyPath
:c:/users/$user/.ssh/authorized_keys
を追加します。
c:/programdata/ssh/sshd_config
PasswordAuthentication no
PermitEmptyPasswords yes
AuthorizedKeysFile .ssh/authorized_keys
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
shellをpwshに変更するには、以下のコマンドを実行します。
https://docs.microsoft.com/ja-jp/windows-server/administration/openssh/openssh_server_configuration
$ New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Program Files\PowerShell\7\pwsh.exe" -PropertyType String -Force
default-shellを変更した場合の注意ですが、更新した際に以下のerrが出るようになる場合があります。default-shellのpathが違うとpassword/publickey認証のどちらも通りません。
Permission denied (publickey,keyboard-interactive).
scpでConnection closed
が出る場合、pathが通っていない可能性があります。
sshd_config
でfstp-serverのpathを記述するか、openssh(dir)のpathを追加しましょう。
$ get-command fstp
$ Set-Item Env:Path "c:C:\Program Files\OpenSSH;$ENV:Path"
ultravnc
https://www.uvnc.com/downloads/ultravnc.html
$ winget install uvncbvba.UltraVnc
管理者権限で実行しなければ、すべてのウィンドウに対して操作することができません。
したがって、exeやstartup(shell:startup)は、プロパティ > 管理者としてこのプログラムを実行する
にチェックを入れます。
その後、タスクスケジューラで設定しなければ自動起動しないようになりました。最上位の権限にチェックを入れます。
virtualbox
https://www.virtualbox.org/
virtualboxのimgを起動時にbackgraundで実行するには、以下のようなscriptをstartupを置きます。
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm arch --type headless
auto-login
起動時のパスワードを省略する設定です。
通常はnetplwiz
を起動して、パスワード入力が必要のチェックを外します。
仮にユーザーがこのコンピューターを使うには、ユーザー名とパスワードの入力が必要
のチェックボックスが表示されない場合、レジストリの値が2
になっているので変更する必要があります。
regedit
を開き、HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft >Windows NT > CurrentVersion > PasswordLess > Device
を0
にします。
https://docs.microsoft.com/ja-jp/troubleshoot/windows-server/user-profiles-and-logon/turn-on-automatic-logon
winget
wingetでpwshをinstall, upgradeしてopensshのdefault-shellにする手順です。
$ ssh windows
$ winget -v
# 7.2.6
$ winget upgrade microsoft.powershell
# 7.3.0
$ winget install microsoft.powershell.preview
$ pwsh-preview
# winのpathは面倒なので適当に補完。下記でも行けると思いますが、念の為tabで変換するといいかも
$ vim c:/programdata/ssh/sshd_config
PasswordAuthentication no
ForceCommand pwsh-preview
# default-shellにする手順(forcecommandより早くなるけど注意が必要)
$ get-command pwsh-preview
$ New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Program Files\PowerShell\7-preview\preview\pwsh-preview.cmd" -PropertyType String -Force
$ net stop sshd
$ net start sshd
$ exit
$ ssh windows
powershell 7.3.0-preview
$ winget upgrade --all
sysinternals
https://learn.microsoft.com/ja-jp/sysinternals/downloads/
synthv
作曲アプリです。
https://dreamtonics.com/synthesizerv
stable-diffution
AIによるイラスト生成です。
model-fileをdownloadします。今回はstable-diffusion-v1-4
を使用します。novelaiのmodelがすごいらしい。他のmodelもmodel.ckpt
に置き換えると動きます。
huggingface.co
$ git clone https://huggingface.co/CompVis/stable-diffusion-v-1-4-original
$ mv stable-diffusion-v-1-4-original stable-diffusion/models/ldm/stable-diffusion-v1
$ mv sd-v1-4.ckpt model.ckpt
次にanaconda
でstable-diffusionのpython環境を構築します。cudaをinstallしておいてください。
# 現在、scoop:extrasからanaconda3がなくなっています
# scoop bucket add extras
# scoop install anaconda3
$ scoop install python rust
$ python -V
$ pip -V
$ pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu121
$ conda init powershell
$ git clone https://github.com/basujindal/stable-diffusion
$ mkdir -p ~/stable-diffusion/models/ldm/stable-diffusion-v1
$ mv sd-v1-4.ckpt ~/stable-diffusion/models/ldm/stable-diffusion-v1/model.ckpt
$ cd stable-diffusion
$ conda env create -f environment.yaml
$ conda activate ldm
# pytorchはcuda:12.1に対応しています
$ conda install pytorch torchvision torchaudio -c pytorch -c conda-forge
$ conda install jupyter pandas matplotlib -c conda-forge
$ pip install diffusers transformers scipy ftfy
$ pip install
$ python -m pip install pytorch-lightning
$ pip install einops
次回からは$ conda activate ldm
で使います。
$ conda activate ldm
$ cd ~/stable-diffusion
# query(txt)から生成
$ python optimizedSD/optimized_txt2img.py --prompt "japanese anime of a beaultiful girl, fantasy costume, fantasy background, be autiful composition, cinematic lighting, pixiv, light novel, digital painting, extremely, detailed, sharp focus, ray tracing, 8k, cinematic postprocessing" --H 512 --W 512 --seed 27 --n_iter 2 --n_samples 10 --ddim_steps 50
# imgから生成
# convert -resize 700x510 o.png input.png
$ python optimizedSD/optimized_img2img.py --prompt "japanese anime of a beaultiful girl, pixiv, light novel, digital painting, 8k" --init-img C:\Users\syui\input.png --strength 0.2 --n_iter 2 --n_samples 2 --H 300 --W 230
# web-uiからパラメータを調整
$ python optimizedSD/inpaint_gradio.py --init-img C:\Users\syui\input.png
# open localhost:7860
$ ls outputs/*
追記 : update
txt2img.py
-
cudaを12.3から12.1にdowngradeします。
-
pytorchはstable
ではなくnightly
であるpre-versionを使わないとインストールできません。
# pytorch:nightly, cuda:12.1
$ pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu121
scoopのanaconda3
がなくなっていたので手動でインストールしました。具体的にはminiconda
を適当にインストールして~/miniconda3/condabin
にpathを通します。私はpwshを使うので、以下のコマンドで自動設定します。これをやらないとactivate
を使えません。
diffusers
.ckpt
ではなく.safetensors
を使用します。
$ conda diactive
---
$ conda activate ldm
$ pip install diffusers
$ pip install git+https://github.com/huggingface/transformers$
# https://huggingface.co/docs/diffusers/api/pipelines/stable_diffusion/text2img
from diffusers import StableDiffusionPipeline
import torch
import sys
pipe = StableDiffusionPipeline.from_single_file("model.safetensors", torch_dtype=torch.float16).to("cuda")
# Potential NSFW content was detected in one or more images. A black image will be returned instead. Try again with a different prompt and/or seed.
#pipe.safety_checker = None
#pipe.requires_safety_checker = False
# nsfw_content_detected
n = len(sys.argv)
if n == 2:
prompt = sys.argv[1]
else:
prompt = "masterpiece, best quality, 1girl, solo, flower, long hair, outdoors, letterboxed, school uniform, day, sky, looking up, short sleeves, parted lips, shirt, cloud, black hair, sunlight, white shirt, serafuku, upper body, from side, pink flower, blurry, brown hair, blue sky, depth of field"
print(prompt)
image = pipe(prompt=prompt, height=512, width=768).images[0]
image.save("test.png")
$ python safe.py
$ ls test.png
$ python safe.py "masterpiece, best quality, very_high_resolution, large_filesize, full color, beautiful kawaii, gold hair, little girl"
$ ls test.png