khurata’s blog

khurata’s blog

ダーウィニズム進化論についての雑記

 生物学を少し知っていると、いわゆる進化論について、世間では細かい誤解がいろいろある事に気付く。 そしてその細かな誤解の多くは、おそらく言葉に起因するものであろう事も。
 たとえば遺伝子の劣性とか優性は(これらは最近になってようやく言い換えされるようになってきたが)日本人の多くに、長きにわたって間違った認識を植え付けてきた。 それと似た事が進化論についても言える。

 

 生物の進化それ自体については、ほぼ疑う余地はない。 「暗黒バエ」実験や、地質学的な化石調査、あるいは新型コロナウイルスの度重なる「進化」など、進化を肯定する証拠には事欠かない一方で、進化を否定する証拠は見つかっていないからである。

 

 しかし、この「進化」という日本語訳は、やや問題があると思う。 なぜならば、「進化」と言うと、なんとなく、それ自身の意志でそうした、とか、より優れた者になる、というような感じを受けかねないからである。
 「環境に適応した」とか「適者生存」という言葉にも、同様な問題があると思う。

 

 自然界における生物の進化は遺伝子 DNA あるいは RNA の変異によって起きる。 つまり進化とは単なる変化に過ぎず、より優れたもの、より強いものになるという保証は無い。 自然界における変異はランダムであり、変異の種類、変異の箇所に、なんらの意図が介入することは無い。 人間が放射線や薬品で「変異を意図的に起こす」場合でも、その種類や場所を意図的に操作する事はできなかった(この事は、確率論的に遺伝子の位置を割り出す事には役だった。また、だからこそ「ゲノム編集」は真に画期的だったのだ)。

 そして、変異した遺伝子が発現するかどうかは「運」のようなものだし(致死性の変異であればそもそも生まれ出ることすらかなわない)、発現した「新種」が、その環境で生き残るかどうかも「運」まかせである。

 つまり適者生存という概念は、適していた「から」生き延びた、と理解するよりも、たまたま生き延びることができた、と解釈する方が妥当である。

 

 以上の単純な法則が、現在の地球上の、きわめて多様性に富んだ生物界の説明になっている。 昆虫の擬態など、いかにも意図が働いたようにしか見えない進化が有る一方で、なぜこんなにも生きづらい進化をしてしまったのか、とか、なぜこんなものが生き延びていられるのかと訝しまれる生物もたくさんいる。

 それは、進化が合目的的で無いからである。 見事な擬態は、たまたま生き残った者がそうであるだけだし、生きづらそうな者も、たまたま生き延びていられただけである。

 生物は少なくとも30億年という時間を経験している。 そのうち、たとえ「たった30分の1である1億年」を考えてみても、これは途方も無い時間だ。 「神の恩寵」という言葉があるが、遺伝子がランダムに変異する事を1億年も繰り返す、というのは、神の恩寵などというものを遙かに超える「体験」であろう。 そのような途方も無い時間のランダム変異の果てには、どんなに合目的的に見える者が現れても、あるいはどんなに不都合に見える者が現れても、まったく不思議ではないのだ。

 私は子供の頃、人体や生物に無駄なところは無く、全てがきわめて合理的に出来ている、と何かの本で読んだ事がある。 子供だったし知識も無かったので、へぇ~そうなのか、と単純に感心していたが、進化論を知ると、それは怪しいと分かる。 無駄が無く、合理的に出来ている「ように見える」のは、何億年ものランダムな変化を繰り返し蓄積した、神の恩寵を遙かに超える体験の結果なのだ。

 

 さらに言えば、変異がランダムである、という点は、生物の強さになっている。 生物はランダムで多様な姿を得て、地球の至るところに生息する、という者であるからこそ、過去の予想不能な環境の変化に、30億年以上も絶えずに生き残ってこられたのだろう。
 極地の氷の中に生き延びる者、深海の熱水に生き延びる者、遙か上空に生き延びる者……これらの存在を知れば、たとえ全面核戦争や天体衝突で人類や哺乳類が全滅しようとも、地球の生命は絶えないと予想できる。

 

 ならば、「進化」とか「適者生存」という言葉を、どう言い換えればより適切なのだろう。 私は、「進化」よりも「継代変化」や「新化」と言ったり、「適者生存」よりも「結果生存」と言うほうが、より妥当ではないか、と考える。

 進化、という言葉を使えば、私たちはなんとなく、「より優れたものになる」と思いがちだし、進化後の生物が進化前の生物を駆逐した、という図式は分かりやすい。 しかし実際はそうとは限らない。 進化した結果、より弱い生物が生まれる事も充分有り得るし、進化後の生物が進化前の生物に駆逐される事の方がむしろ多いのではないか、とも思える。

 さらに話がややこしいのは、「弱い」とか「強い」とか「優れた」という人間の主観的な尺度が、1億年というスケールの前では意味を失うからである。 ここを無視して作られたのが優生学や優生思想だ。
 「その時」に弱い者が、次の時代には「適者生存」する事だってあるし、「その時」に優れた者が、次の時代に適応できず滅ぶ事もある。

 だから「適者生存」ではなく「結果生存」なのである。

 シアノバクテリアが天下を取った時代も有ったろう。 甲冑魚類が我が世を謳歌した時代も有ったろう。 恐竜が覇者だった時代も有ったろう。 サーベルタイガーが最強だった時代も有ったろう。 しかしそれらは全て「その時」の話であるし、この先の未来もおそらくそうであろう。

 

 つまるところ、我々生物は、「ある環境下」で生きるのだから、その環境がもたらす「淘汰圧」から逃れられない(淘汰圧や自然選択という言葉は、良い訳である)。 ある生物種が淘汰圧に耐えて生き延びられるかは、その種の持つ遺伝子ゲノムに依る。 ゲノムが変異して「新化」した結果、「今の」淘汰圧に耐えられなければ死滅し、耐えられれば生き延びる。 「結果生存」である。

 ランダムな「新化」は、淘汰圧に耐えられず死滅する者を作る一方で、耐えて生き延びる「新種」を作り出し続ける。 こうして多彩で多様な生物界が作られてゆく。

 

 多様性がなぜ大切なのか、それを理解するためには、単純だが人間の価値観を排除した進化論の理解が必要だ。 21世紀になって、少なからぬ人間は、ようやくその境地に達したのであるが、まだ多くの人に浸透してはいない。

新型コロナワクチンについての雑感

 いわゆる「放射脳」や「コロナはただの風邪」とか言う人達は、単なる不勉強であり基礎知識が欠如している。 基礎知識が無いから「データを見て自分で判断を下す」事が出来ずに、信じたいものを信じやすく、騙されやすい。

 しかし「反ワク」はちょっと違う。
 「反ワク」の中には、上記のような人達もいる一方、きちんと基礎が分かってデータも読み解いた上で「反ワクを選んだ」人達もけっこう見受けられる。 だから「反ワク」界隈は情報が錯綜し意見が対立しやすいのではなかろうか……。

 ちなみに私自身は「賛ワク」で、すでに4回目の接種を終えたが、他人様に強制も推奨もしない。 実際、知人さんには複数の「反ワク」がいるが、彼らに何の意見も推奨もしていない。

 新型コロナワクチンに限らず、「新しい薬」は、皆それぞれ、自らの判断で使うのが筋だと考えるからだ。 そして判断をするには、面倒でも、ある程度は基礎を学び知るしかない。 私はたまたま、生物学がちょっぴり分かるから自己判断でワクチンを接種したが、皆に勧めて回るものではない。

 おそらく、あと10年もすれば、このワクチンの評価は定まるだろう。 誰が正しかったかは、その頃ようやく分かるのだと思う。

非力で古い Windows マシンで Stable Diffusion Web UI 環境を構築する手順メモ

(2022/10/10 改稿:GFPGAN 手動インストール手順が不要なため削除)

 CPU も GPU も古く弱いマシン環境で「遅くても動く Stable Diffusion」の web UI 環境(ブラウザー画面による操作環境)を作る手順を示す。

 適応環境は Intel Core シリーズ CPU および NVIDIA 製の CUDA 搭載 GPU を持つ Windows 10 64bit の PC である。
 CPU については第4世代(Haswell)と第5世代(Skylake)で検証済みなので、それ以降であれば動作すると思われる。
 GPU については Quadro K620 と Quadro K2200 で検証済みだが、それ以外の GPU であっても、NVIDIA 製で CUDA コアを積んでいて3.項が実行できるものなら動作すると思われる。

 適応作業者は Windows 一般の操作ができて、コマンドプロンプトに抵抗を感じない人である。 コマンドプロンプトの扱いに不安がある人は、あらかじめ
https://atmarkit.itmedia.co.jp/ait/articles/1502/13/news147.html
などで学習しておくことが望ましい。

 また、本記事では Stable Diffusion の関連ファイルを C: ドライブにインストールするが、インストールには18ギガバイトほどの空き容量が必要であるため、C: ドライブに空きが無い場合は、他のドライブにインストールしても構わない(実行速度が遅くなるだけである)。
 ただし1.項から3.項までは起動ドライブに、つまり多くの場合 C: ドライブにインストールするのが良い。 ドライブを変えて良いのは4.項から6.項までである。

 なお、本記事で \ と表示されている記号(バックスラッシュ)は、日本語キーボードでは¥に相当する。 入力すると「¥」になるが、PC は「 \ 」として認識するので、¥のまま入力してもらって構わない。

 

1.スクリプト言語 Python の実行環境をインストール

 Stable Diffusion や、その関連ツールは、Python(パイソン)というプログラミング言語で書かれているため、Python をインストールしておく必要がある。
 なお、Stable Diffusion 以外にも Python は「使える」ので、「とにかくインストールしておいて損は無い」と言える。

 Python の公式サイト https://www.python.org/ にある「Downloads」をクリック、続けて [Download Python 3.10.7] ボタンをクリックし、
python-3.10.7-amd64.exe
というファイルを適当なところにダウンロードする(このファイル名は 2022/10/08 時点のものであり、最新のものは異なるバージョン・異なるファイル名である事がある)。

 これを実行してインストーラーを起動する。

 下部の「Add Python 3.10 to PATH」にチェックを入れる。 これは後からでも設定できるがここでやっておく方がラク

「Install Now」か、
「→ Customize installation」を選択する。

 「Install Now」を選ぶと、現在 Windows にログオンしているユーザーにのみ Python がインストールされる。 今回は全ユーザーに対してインストールしたいので(特に理由は無い)、「→ Customize installation」をクリック。

 「Optional Features」画面では、そのまま(多分すべてにチェックが入っている)[Next] をクリック。

 「Advanced Option」画面では、「Install for all users」にチェックを入れる。 すると必要なチェックが自動的に入り、「Customize install location」も自動的に設定されるので、[Install] をクリック。

 Windows のユーザーアカウント制御画面が出たら、[はい] をクリック。

 「Setup was successful」画面が出たら、「Disable path length limit」をクリックして、Windows のファイル名長さ制限を解除しておく。

 Windows のユーザーアカウント制御画面が出たら、[はい] をクリック。

 「Setup was successful」画面が出たら、[Close] をクリックしてインストーラーを終了。

 新規にコマンドプロンプトもしくは PowerShell を起動し、
python -V
と入力して(末尾で Enter キーを押す)、

Python 3.10.7

のように表示される事を確かめる(表示されるバージョン番号は 2022/10/08 時点の最新安定版のもの)。 表示されれば Python のインストールは完了している。

 

2.ソフトウェア管理ツール Git をインストール

 Stable Diffusion や、その関連ツールのプログラムは、Git と呼ばれる管理ツールで管理されているので、プログラムの取得や更新をするために Git が必要である。 なお、Stable Diffusion 以外にも Git が「使えると良い場面」は有るので、これも「とにかくインストールしておいて損は無い」。

 Git ツールの公式サイト https://git-scm.com/ にある [Download for Windows] ボタンをクリックして、「Standalone Installer」の 
「32-bit Git for Windows Setup.」
か、もしくは
「64-bit Git for Windows Setup. 」
をクリックする。 今回は 64bit 環境を例にするので、後者をクリックして、
Git-2.38.0-64-bit.exe
というファイルを適当なところにダウンロードする(このファイル名は 2022/10/08 時点のものであり、最新のものは異なるファイル名である事がある)。

 これを実行してインストーラーを起動する。

 Windows のユーザーアカウント制御画面が出たら、[はい] をクリック。

 「Information」画面で GNU General Public License を読んだら [Next] をクリック。

 「Select Destination Location」画面で、インストール先が選べるが、通常はそのまま [Next] をクリック。

 「Select Component」画面で、「Windows Explorer integration」と、配下の「Git Bash Here」および「Git Gui Here」をチェックして [Next] をクリック。

 「Select Start Menu Folder」画面ではそのまま [Next] をクリック。

 「Choosing the default editor used by Git」画面では、特に他の用途が無ければ「Use Notepad as Git's default editor」を選ぶが、VS Code がインストールされている環境ならば 「Use Visual Studio Code as Git's default editor」を選ぶのが良い。 どれかを選んで [Next] をクリック。

 「Adjusting the name of the initial branch in new repositories」画面では、通常はそのまま [Next] をクリック。

 「Adjusting your PATH environment」画面では、通常は「Git from the command line and also from 3rd-party-software」を選択して [Next] をクリック。

 「Choosing the SSH executable」画面では、通常は「Use bundled OpenSSH」を選択して [Next] をクリック。

 「Choosing HTTPS transport backend」画面では、通常は「Use the OpenSSL library」を選択して [Next] をクリック。

 「Configuring the line ending conversions」画面では、通常は「Checkout Windows-style, commit Unix-style line endings」を選択して [Next] をクリック。

 「Configuring the terminal emulator to use with Git Bash」画面では、初期設定のままではなく「Use Windowss' default console window」を選択して [Next] をクリック。

 「Choose the default dehavior of `git pull`」画面では、通常は「Default (fast-forward or merge)」を選択して [Next] をクリック。

 「Choose a credential helper」画面では、通常は「Git Credential Manager」を選択して [Next] をクリック。

 「Configuring extra options」画面では、通常は「Enable file system caching」にチェックを入れ、「Enable Symbolic links」はチェックせずに [Next] をクリック。

 「Configuring experimental options」画面では、通常は何もチェックせずに [Install] をクリック。

 「Completing the Git Setup Wizard」画面が表示されたら、「View Release Notes」をチェックせずに [Finish] をクリックしてインストーラーを終了。

 また別に新規のコマンドプロンプトもしくは PowerShell を起動し、
git -v
と入力して(末尾で Enter キーを押す)、

git version 2.38.0.windows.1

のように表示される事を確かめる(表示されるバージョン番号は 2022/10/08 時点の最新安定版のもの)。 表示されれば Git のインストールは完了している。

 

3.GPU 演算支援プログラミング環境 CUDA のインストール

 Stable Diffusion は、大量の計算処理を要するので、既定では GPU 演算の援用を想定している。 GPU を使わず CPU だけで画像生成する Stable Diffusion の fork(派生)もあるが、今回はノーマルの GPU 演算版を使うので、GPU 演算のための支援環境 CUDA をインストールする。

 NVIDIA DEVELOPER サイトの CUDA ダウンロードページ https://developer.nvidia.com/cuda-downloads にアクセスする。

 このページの直接リンクでない行き方はいくつか有る。
 たとえば、NVIDIA DEVELOPER サイト https://developer.nvidia.com/ の最下方にある「Popular SDKs」の「CUDA Toolkit/SDK」をクリックして CUDA ZONE ページに行き、
そこの [Download Now >] ボタンをクリックすれば https://developer.nvidia.com/cuda-downloads に行ける。
 または https://developer.nvidia.com/ の上方の「Downloads」をクリックして Developer Downloads ページに行き、「Download Centers」の「CUDA Toolkit」をクリックして CUDA Toolkit ページに行き、[Download Now] ボタンをクリックすれば https://developer.nvidia.com/cuda-downloads に行ける。

 「Select Target Platform」では「Windows」をクリック。
 「Version」は「11」をクリック。
 「Installer Type」は「exe [local]」をクリック。

 「Download Installer for Windows 11 x86_64」が表示されるので、「Download [3.0 GB]↓」をクリックして、
cuda_11.8.0_522.06_windows.exe
というファイルを適当なところにダウンロードする(このファイル名は 2022/10/08 時点のものであり、最新のものは異なるファイル名である事がある)。

 これを実行してインストーラーを起動する。 起動にはしばらく時間がかかるので待つ。

 Windows のユーザーアカウント制御画面が出たら、[はい] をクリック。

 「CUDA Setup Package」ダイアログでは、そのまま [OK] をクリック。

 「CUDA Setup」ダイアログの進捗グラフが完了するまで待つ。

 NVIDIA インストーラーが起動したら、[同意して続行する(A)] をクリック。

 インストールオプションは「高速 (推奨)(E)」を選択して [次へ(N)] をクリック。

 「CUDA Visual Studio Integration」は「I understand, and wish to continue the installation regardless」にチェックを入れて [NEXT] をクリック。

 「Preparing for installation」の進捗グラフが完了するまで待つ。

 「インストールが進行中です」の進捗グラフが完了するまで待つ。

 「Nsight Visual Studio Edition Summary」は、そのまま [次へ(N)] をクリック。

 「NVIDIA インストーラーが終了しました」で [閉じる(C)] をクリック。

 また別に新規のコマンドプロンプトもしくは PowerShell を起動し、
nvcc -V
と入力して(末尾で Enter キーを押す)、

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

のように表示される事を確かめる(表示されるバージョン番号などは 2022/10/08 時点の最新安定版のもの)。 表示されれば CUDA のインストールは完了している。

 

4.Stable Diffusion web UI ファイルの配置

 Stable Diffusion は、元々はコマンドプロンプトなどでコマンド文字列を打ち込んで使うツールなのだが、より使いやすくするためにブラウザー画面から操作できるようにした web UI があるので、今回はそれをインストールして使う。

 Stable Diffusion は実行時に数ギガバイトの巨大なデータファイルを参照するので、インストールするディレクトリ(フォルダー)は、できれば高速なドライブが良い。 近年の Windows PC は C: ドライブが高速な SSD である事が多いので、今回は C: ドライブ直下に \stable-diffusion-webui ディレクトリを置いて、そこにインストールしてみる。

 コマンドプロンプトを起動し、
C:
cd \
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
と入力する(各行とも末尾で Enter キーを押す)。

 数秒から1分ほどで GitHub から Stable Diffusion web UI のファイル群(22メガバイトほど)のロードが終了する。

 C:\ 直下に stable-diffusion-webui というディレクトリが作られていることを確認する。

 C:\stable-diffusion-webui ディレクトリ直下に、
log
というディレクトリを作成しておく。

 C:\stable-diffusion-webui\log ディレクトリ直下に、
images
というディレクトリを作成しておく。

4.1 セーフティーフィルターの解除

 Stable Diffusion は、既定では18禁となるようなエロ・グロ画像を生成しない設定になっている。 それでは自由な画像生成ができないので、今回はその設定を解除するために、C:\stable-diffusion-webui\modules ディレクトリ直下の safety.py ファイルの内容を変更する。

 変更する前に、そのディレクトリ内で safety.py をコピーして safety - コピー.py を作っておく。

 元からあった safety.py ファイルをメモ帳で開き、39行目あたりにある

   x_checked_image, has_nsfw_concept = check_safety(x_samples_ddim_numpy)

を、

    x_checked_image = x_samples_ddim

に書き換えてセーブする。 行頭の空白の文字数もきちんと維持すること。 空白1字たりとも間違えてはならない

4.2 性能不足のグラフィックボードが使えるよう指定を変更

 もともと Stable Diffusion は、潤沢なメモリーを持つ高価な NVIDIAGPU 用だが、古い・安い GPU を使うよう設定変更ができる。 そのために今回は C:\stable-diffusion-webui ディレクトリ直下の webui-user.bat ファイルを変更する。

 変更する前に、そのディレクトリ内で webui-user.bat をコピーして webui-user - コピー.bat を作っておく。

 元からあった webui-user.bat ファイルをメモ帳で開き、6行目あたりにある

set COMMANDLINE_ARGS=

を、

set COMMANDLINE_ARGS=--precision full --no-half --lowvram --opt-split-attention

に書き換えてセーブする。 空白の箇所やハイフンの個数を間違えてはならない

 

5.モデルデータの取得

 Stable Diffusion が使用するモデルデータを取得する。 実写系画像を生成したい場合は5.1項のデータを、萌え系画像を生成したい場合は5.2項のデータを要するが、
いずれのデータも、取得するには AI 関連コミュニティサイト Hugging Face のアカウントが必要なので、まずは適当なアカウントを作る。

 https://huggingface.co/ にアクセスし、右上のハンバーガーメニューをクリックして、「Sign Up」をクリック。

 「Join Hugging Face」画面で、自分に届くメールアドレスと、適当なパスワード(英大文字・英小文字・数字・英数記号が必要で12文字以上)を入力して [Next] をクリック。

 「Complete your profile」画面で、「Username」と「Fullname」を適当に入力し、「I have read and agree with the Term of Service and the Code of Conduct」にチェックを入れて、[Create Account] をクリック。

 発信者「hugging face」から「[Hugging Face] Confirm your email address」というメールが届くので、その中の確認リンクをクリック、もしくはリンクアドレスをコピーしてブラウザーのアドレス欄に貼り付ける。

 ブラウザーに「Join an organization」と表示されればアカウント作成は完了している。

5.1 実写系モデルデータの取得

 Hugging Face サイト上部の検索窓に
stable-diffusion-v1-4-original
と入力すると、候補に「CompVis/stable-diffusion-v1-4-original」が出てくるので、それを選択する。

 「I have read the License and agree with its items」にチェックを入れて「Access repository」をクリックすると、

Download the weights
・sd-v1-4.ckpt
・sd-v1-4-full-ema.ckpt

と表示されるので、sd-v1-4.ckpt をクリックして
sd-v1-4.ckpt
というファイルを適当なところに、出来れば C: ドライブのどこかにダウンロードする。 これは約4ギガバイトあるのでダウンロードにはしばらく時間がかかる。

5.2 萌え系モデルデータの取得

 Hugging Face サイト上部の検索窓に
hakurei
と入力すると、候補に「hakurei/waifu-diffusion」が出てくるので、それを選択する。

 「Original Weights」リンクをクリックすると、

Waifu Diffusion v1.3
Waifu Diffusion is a latent text-to-image diffusion model that has been conditioned on high-quality anime images through fine-tuning.
・Float 16 EMA Pruned
・Float 32 EMA Pruned
・Float 32 Full Weights
・Float 32 Full Weights + Optimizer Weights (For Training)

と表示されるので「Float 32 Full Weights」をクリック。

「↓download」をクリックして
wd-v1-3-full.ckpt
というファイルを適当なところに、出来れば C: ドライブのどこかにダウンロードする。 これは約7ギガバイトあるのでダウンロードにはしばらく時間がかかる。

 

6.モデルデータの配置

 5.1項で取得した sd-v1-4.ckpt か、5.2項で取得した wd-v1-3-full.ckpt を、C:\stable-diffusion-webui\models\Stable-diffusion ディレクトリ直下に移動させる。 両ファイルをそこで共存させても良い。

 使いたいモデルデータのいずれかを、
model.ckpt
に名称変更しておく。

 

7.Stable Diffusion web UI の初回起動と終了

 C:\stable-diffusion-webui ディレクトリ直下の webui-user.bat を実行する。

 自動的にコマンドプロンプトが起動して、Stable Diffusion web UI および関連プログラムのインストールと起動が自動的に進行する。 初回起動はインストール動作が多く、全部で数分から数十分ほどかかるが、完了まで放置しておいて構わない。

 Installing torch and torchvision と表示されて、なかなか動かないが、いずれ動くので気長に待つ
 Installing gfpgan と表示されて、なかなか動かないが、いずれ動くので気長に待つ
 Cloning Taming Transformers into repositories\taming-transformers... と表示されて、なかなか動かないが、いずれ動くので気長に待つ
 Installing requirements for CodeFormer と表示されて、なかなか動かないが、いずれ動くので気長に待つ
 Installing requirements for Web UI と表示されて、なかなか動かないが、いずれ動くので気長に待つ

 しばらく放置していると、そのうち、

Running on local URL: http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.

のように表示されて、初回起動が完了する。

 ブラウザーのアドレス欄に、上記コマンドプロンプトで表示されている http からの文字列を打ち込む。 この場合は
http://127.0.0.1:7860
である。 すると、ブラウザー画面に Stable Diffusion web UI が表示される。

 Prompt 欄に、たとえば
illustration of a beautiful girl
を入力し、
Negative prompt 欄に、たとえば
mutated hands and fingers, text, title, deformed, bad anatomy, disfigured, poorly drawn face, mutation, mutated, extra limb, ugly, poorly drawn hands, missing limb, floating limbs, disconnected limbs, malformed hands, out of focus, long neck, long body
を入力し、
[Generate] ボタンをクリックすると、画像生成が始まる。

 画像生成中は、web UI を起動したコマンドプロンプトと、web UI(ブラウザーの画面)の両方で進捗グラフが表示される。 第6世代 Skylake CPU と Quadro K620 という古い PC で、上記 Prompt を設定して Generate すると、3分ほどで「キレイなお姉さん風」の画像が生成された。 最近の PC だと1分以内、速ければ数秒で生成されるだろう。

 Prompt とは、いわゆる「呪文」であり、生成したい画像の特徴や様子や属性を英単語テキストで指定する。 スペースで区切った複数の単語は、それ全体が1つの属性と見なされるらしい。 カンマで区切れば複数の属性が書けるようだ。 また1つの属性を半角カッコで囲むと、その属性が強調される。 カッコの数を増やすとさらに強調される。

 Negative prompt も「呪文」だが、こちらは生成する画像に「望まない」特徴や属性をテキストで指定する。 指定の方法は Prompt と同じである。 Negative prompt に関しては https://w.atwiki.jp/memeplex/pages/137.html などが詳しい。

 web UI の [Save] ボタンをクリックすると、生成した PNG 画像が C:\stable-diffusion-webui\outputs\txt2img-images ディレクトリに保存される。 後は Prompt や Negative prompt や他の設定を変更して Generate を繰り返せばよい。

 他のボタンや設定、使い方については https://note.com/npaka/n/nc8b0e9a91d97https://gigazine.net/news/20220913-automatic1111-stable-diffusion-webui-img2img/ などが詳しい。

 終了するには、ブラウザーの web UI ページを閉じ、web UI を起動したコマンドプロンプトをクリックしてから ctrl+C を押す。

バッチ ジョブを終了しますか (Y/N)?

と表示されるので、
y
Enter キーを入力する。 コマンドプロンプトが閉じて、Stable Diffusion が終了する。

 

8.Stable Diffusion web UI の2回目以降の起動

 C:\stable-diffusion-webui ディレクトリ直下の webui-user.bat を実行する。

 自動的にコマンドプロンプトが起動して、Stable Diffusion web UI の準備が自動的に進行する。 初回起動ほど時間は掛からない。 
そのうち、

Running on local URL: http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.

のように表示されて、起動が完了する。

 ブラウザーのアドレス欄に、上記コマンドプロンプトで表示されている http からの文字列を打ち込む。 この場合は
http://127.0.0.1:7860
である。 すると、Stable Diffusion web UI が表示されて使えるようになる。

 終了方法は初回と同じである。

 

9.Stable Diffusion web UI のアップデート

 Stable Diffusion web UI が終了している状態で、C:\stable-diffusion-webui フォルダーを右クリックし、Git Bash Here をクリック。

 コマンドプロンプトのようなウインドウが開くので、そこに
git pull
と入力して Enter キーを押す。 更新があれば、

13 files changed, 58 insertions(+), 29 deletions(-)

のように表示されて終わる(表示される内容・数字は環境によって異なる)。

 このウインドウを閉じるには
exit
と入力して Enter キーを押す。

 ただし、動作に問題がある、とか、更新しなければセキュリティに問題がある、という場合以外は、更新する必要は無い。

 なお、更新すると、4.1項や4.2項で行った書き換えが無効になってしまう事があるため、更新後は両方とも確認すること。

 

参考サイト

https://ch.dlsite.com/matome/218813
https://gigazine.net/news/20220903-stable-diffusion-safety-filter/
https://gigazine.net/news/20220907-automatic1111-stable-diffusion-webui/ここの説明では管理者権限コマンドプロンプトを使っているが必ずしも要しない
https://w.atwiki.jp/memeplex/pages/137.html
https://w.atwiki.jp/memeplex/pages/151.html
https://twitter.com/harulu_t2/status/1574007270782140416
https://note.com/npaka/n/nc8b0e9a91d97
https://gigazine.net/news/20220913-automatic1111-stable-diffusion-webui-img2img/
https://github.com/TencentARC/GFPGAN/
http://cedro3.com/ai/gfpgan/
https://ossan-gamer.net/post-82301/ここの説明では GFPGAN 用データを手動で設置しているが自動設置されるので不要
https://huggingface.co/
(以上)

 

ガラケーからスマホになって不便になったこと

 2022年3月から auスマホ arrows We FCG01 に乗り換えて、半年ほど経つ。 au は同年3月いっぱいで 3G を停波し、いわゆるガラケーは使えなくなった。 Android OS を搭載したガラケー形の端末、いわゆるガラホは使える機種がいくつかあるが、すでに母親がガラホを使っていて、モッサリした動きだったのを知っていたので、自分はスマホを選んだのである。

 私のガラケーの用途は、音声通話とキャリアメール、たまに SMS だった。 私にとって最後のガラケー端末 W53S はインターネットも使えたし、それでごくたまに LINE や twitter を使った事もあるが、実用的とは言い難いほど動作が重かったし、実際に使った事は20回にも満たなかったと思う。

 私のキャリアメール最多の送信先は自宅の PC である。 出先でふと思いついた事をメモ代わりに短い言葉で、自宅に送るのだ。
 自宅では PC のメールチェックはほぼ毎日しているので、メモした事を忘れる事はまず無い。 ガラケーのキャリアメールプログラムは起動も速いし、物理ボタンとジョグダイヤルで文面作成も速く(と言っても PC 用キーボードには遠く及ばないが)自宅にメールを送るハードルは低い。

 ところが arrows We FCG01 のキャリアメールプログラムは、まず起動に数秒ほど待たされる。 プログラム起動に時間が掛かるだけでなく、電池持ちのために普段はスマホの電源を切っているので、まずは電源投入から始めなければならないのも億劫だ。 ガラケーなら1週間は余裕で電池が持つので、電源を切る事はほとんど無く、メモを送りたい時にすぐ送れたのだが……。
 フリック入力も慣れないため入力に時間が掛かる。 短いメモを打ち込むのに、間違えて打ち込み直すこともしばしばで(※)、スマホにしたがゆえに、自宅にメールを送るハードルが急に上がってしまった感がある。

 もっとも、それ以外の用途に関しては、スマホの方が断然便利で、比較にならないほど良い。 もっとも W53S は 2007年製、FCG01 は 2021年製で、実に14年もの開きがあるのだから、良くなっていなければおかしいのだが。

----------------------------------------------------------------------

※ 年を取ると皮膚の水分量が減るため、なのかどうか、タッチパネルが反応したりしなかったりする。 そのため思った通りに打ち込む事がなかなか出来ないし、電源投入時のロック解除もしばしば失敗する。

香川照之氏のセクハラ行動について思うこと

 ここ数日、TV や週刊誌において、香川照之氏が約3年前に銀座の高級クラブで仕出かしたセクハラ行動が報道され続けている。

 この件、大前提として、最も悪いのは(本人も認めているので)香川照之氏本人であるし、酒に酔った上だからと言って許容されるものではない。 本来ならば刑事事件になってもおかしくない話で、本人の猛省は必要だ。

 しかし、被害者側についても、私が思うところは少なからずある。

 そもそもの話、香川氏が通うほどの銀座の高級クラブならば、いくら上客といえども、そのような下品な振る舞いは制止されるはずだし、されねばならなかった。 私は「クラブママの髪を後ろから鷲掴みにした写真」を見ただけだが、こんな事態が起こる前に、他のホステスや黒服は制止できたはずだ。 それが出来なかった時点で、高級クラブとしての運営は失敗しているし、客選びも失敗している。 つまり「高級クラブ」とは名ばかりで、客の下品な振る舞いを許容した時点で、高級という看板は降ろすべきなのだ。
 そのような写真を隠し撮りしているヒマが有るなら、写真を撮った人物はまず制止しなければならなかったし、写真を撮られるヒマが有るなら、ママさんはかわさねばならなかった。 それすら出来ない人物がクラブママをやっている事が、私にはちょっと信じられない。 高級クラブが酔客を犯罪者に仕立て上げるなど、有ってはならない事なのだから。
 また、報道では「ブラジャーをはぎ取った」り、「キスをした」り、「乳房に触れた」りもしたそうだが、それらの証拠を私は知らないので、これについては何とも言えない。 もし事実であるならば、「髪を鷲掴みにした」と同様、これまたクラブ側が制止しなければならない行動である。 そんな下品な客はウチにはいらない、という毅然とした態度を高価で提供する事こそ「高級クラブ」の仕事ではないか。

 次に、なぜ3年も前の話を今更蒸し返すのか、だ。 香川氏ほどの芸能人ならば、3年も経てば色々な仕事に関わり、影響はだんだん大きくなるであろう事は容易に想像できる。 3年も経ってから暴露するという行動は、この3年の間、香川氏が携わったいくつもの仕事を台無しにし、それらの仕事を支える多くの人々の業務業績をも失わせ、その人達の将来を奪い、大袈裟に言えば国富を損なう行為なのだ。
 香川氏が問題行動を起こしてすぐに店側が刑事告訴したり報道に暴露していれば、影響は抑えられたのである。 わざわざ3年経って、「トヨタイムズ」とかをやり出してから問題提起し話を広めるのは、私の感覚で言えば「性根が悪い」。
 先にも書いた通り、客の問題行動を止められなかった店側に「高級クラブ」を名乗る資格は無いが、その事をさて置いても、すぐに問題提起するなり、あるいは慰謝料をいただいて手打ちにしてもらえば良かったのである(「してもらう」という書き方である理由は、客の問題行動を止めるべき側が止められなかったからである)。

 こうした状況から生まれる「下衆の勘繰り」は、「新型コロナ禍で店が立ちゆかなくなり、もうどうせ閉店するのだからブチまけてしまえ」という店側の事情だ。
 そういう事情が無く、店側が今後とも「高級クラブ」として営業を続けたいのであれば、そうした報道に対して営業妨害だと憤り、差し止めなければならない。 繰り返される報道は「この店は全然『高級クラブ』なんかじゃ有りませんでしたよ」という内容なのだから。
 それら報道を黙って見ているだけなら、もはやその店は「下品な客を受け入れる程度のクラブである」と自ら認めているに等しい。 高級も何も有ったもんじゃない。 これが「今の銀座」なのか。 客が安心して酔うことも出来やしないなんて、嘆かわしい事だ。