File size: 3,827 Bytes
e6cc7e1
3e2b692
 
 
 
 
 
 
e6cc7e1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# このプログラムを使って花札選択時の名前を変更するとメタデータに”メタデータ改竄済であるフラグが付けられます。拒否不可能です。”

```
    "ss_before_falsification_output_name": "None", (元の名前)
    "ss_output_name": "TTTTTT", (改変後)
    "ss_metadata_falsified": "True" (改竄済フラグ)
```

# 「机上トレースで組み立てて、実環境で動作した!OK!」なガバガバデバッグです。

1. 拡張機能のkohya-ss/sd-webui-additional-networksをインストール
2. このフォルダに入ってる.pyと.pycを
   # sd-webui-additional-networks
   のscriptsに置く。
   
3. WEBUIを普通に起動する
4. コマンドプロンプトとかで改竄対象を聞いてくるので、フルパスで回答後、Enter(スペースとか日本語はないのが好ましい)
5. この際コマンドプロンプトに読み取ったメタデータが出力される。
6. ss_output_nameの変更内容を聞いてくるので回答後、Enter。
7. 改変前のバックアップ作成とともに改変が行われる。
8. おわり

QA
# ソースコードは?
A. 意図的に用意していない。下手にメタデータを改変されたりすると皆が色々困る。用意したら多分フラグ追加処理消すでしょ?

# どうして改竄済フラグを強制的につけるの?
A. メタデータは他の人が見てLoRAの使い方を調べたり、Dimなどを元に不正なサイズになってないかチェックしたりできる。  
いくらWEBUIの仕様が嫌だからって、ANでも書き換えられない部分を意図的に書き換えるというのはよろしくない。メタデータの信頼性が薄れてしまう。  
「メタデータなんて改ざんされてるのが当たり前だからあてにならないよ」みたいな日は来てほしくない。流石に自力でメタデータを書き換えたり、ソースコードを復元できる人はそこらへんのモラルはあると勝手に思ってます。  
(メタデータの重要性を知らずに取り敢えず感覚でメタデータ消したり、改ざんする人が増えるとマズい)  
  
そもそもメタデータを隠したいなら学習時にnometaすればいい話。  
  
強制的にフラグをつけることで他の人にメタデータが不正に改竄されたLoRAであることを知らせます。  

# 改竄済フラグは消せますか?
A. 無理。自力でガンバッテ
  
# ソースコードなしにどうやって安全なプログラムかどうかを調べればいいの?
A. 単なるコンパイル済pycなんで頑張ればほぼ元のソースコードに戻せる。元に戻せたら定数とかはまだ読めないけど、トレースすればすぐに動作内容は分かる。
もし、あなたがコミュニティ管理者・モデレータで利用者がこのプログラムをコミュニティに貼ったが正当性・安全性を検証できず困っているという場合にはDiscordのメンションかここでプルリクください。  
別に秘匿したいわけではないので、悪用しなさそうな人なら普通にソース渡します。  

# 普通にファイル名と一緒にしたい場合は?
A. 多分valueを空白でEnterかNone入れてやればファイル名を参照する動作になると思う。

# 何に使えるのこれ
A. 学習時には自分さえ分かればいい識別名にしてるけど、配布LoRAで他人が使う時に困るんちゃうかな・・・という場合に使う。  
自分ではSDkjrなんて型番を理解してても他の人が分かるかどうか。プロンプト公開するサイトとかならなおさら困りそうじゃない?