記憶:SD-webuiとapiを組み合わせたりする(2)

前回↓
271108.hatenablog.com

今回やったこと

SD-WebUIをwebAPIで叩いて画像を作る

APIの設定

docker-compose.yml を開いてCLI_ARGSにapiを追加する。

version: '3.9'
[中略]
name: webui-docker

services:
  download:
    build: ./services/download/
    profiles: ["download"]
    volumes:
      - *v1

  auto: &automatic
    <<: *base_service
    profiles: ["auto"]
    build: ./services/AUTOMATIC1111
    image: sd-auto:20
    environment:
      - CLI_ARGS=--allow-code --medvram --xformers --api --enable-insecure-extension-access 
      # ↑ここ
  auto-cpu:
    <<: *automatic
    profiles: ["auto-cpu"]
    deploy: {}
    environment:
      - CLI_ARGS=--no-half --precision full --api
     # ↑ここ
[以下略]

正直、参考元と何も変わらない。

発生していたエラー:

KeyError:'info'

"auto-cpu"のほうは要らんくない???とか思ってたけど、入れてないと(参考元で言うところのtestapi.pyを実行した時に)うまくいかなかった。
responseが……どうなってたんだっけ?忘れちゃったけど、なんかうまくいかなかったはず。responseがあったので接続とかはできてるんすね。知らんけど。
なお、Dockerを起動していない時?は接続できていないヨ!っていうエラーが帰ってきていたはず。
GPUではなくもしかしてCPU使ってる?[要検証]


思い出した。参考元がinput_url=http://localhost:7860/としているのに、

response = requests.post(url=f'{input_url}/sdapi/v1/txt2img', json=payload)
response_models = requests.get(url=f'{input_url}/sdapi/v1/sd-models')

となっている結果、urlがhttp://localhost:7860//sdapi/v1/txt2img ってなってて、「そんなURLないが???{'detail': 'Not Found'}なんだが???」って言われてたやつ。
KeyErrorなのでresponseが壊れてて想定外のものが帰ってきてるんやろなぁ……って認識までは完ぺきだった。

HTTPConnectionPool(host='localhost', port=7860): Max retries exceeded with url:(以下略)

そもそもSD-webuiのローカルホストを立ち上げてない時に出た。それはそう。

('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

条件は忘れた。SD-webuiのローカルホストを立ち上げている途中か何かに実行したら出た。それはそう。

実行感想メモ

生成結果(良かったやつ)

おやおやおやおや

IAのコスプレしてる人みたい

生成結果(共通してみられる問題だったやつ)

別に全部が良かったわけでもなく、結構打率は低かった。
見ててプロンプトにもしかすると問題があるかもしれないのでは?地雷ワードを入れているのでは?と思ったもの。

顔面増えがち。

もっとも、他の地雷ワードでは単に面白く生成できていないだけなのでは?という可能性がある。
また、前回の生成プロンプトと違ってkeyの数(だっけ?)が明確に少ないはず。

余談

  1. vmmemとかいうやつ、めっちゃメモリ食うので使わないときは切っておくこと。普通にゲームに影響が出る。
  2. これやったの今じゃないのでだいぶ色々忘れた。記憶の貯蔵が必要です。

今後やりたいこと

  1. プロンプトの総当たりを行うプログラムの作成
  2. 主観的な評価を適当に船井がつけるための何かの作成
  3. 画像からプロンプトの逆生成ができるので、そのプロンプトを自動で持ってくる(もしくは生成時にどこかにDBかcsvか何か使って記録する)プログラムの作成
  4. 顔面が増えるプロンプトは何?
  5. Waifuなんちゃらってやつにモデルを変えてみるとどうなる?

記憶:StableDiffusion-webuiで遊んだ(1)

Twitterをしてたらいい感じの記事を見たのでやろうと思いました。
zenn.dev

Stable Diffusion、以前軽く触れて以降一切触っていなかったので久々に触ろうかなぁって。
271108.hatenablog.com
↑これの時ですね。

環境構築

オリジナル記事を見ながらやってるので章立てもオリジナル記事から引っ張ってきたものになります。
ローカル環境でできるんだ……ってなったのでローカルでやります。

Git, Docker およびDocker版のSD-webuiをインストール

Gitはもう入ってるので放置。
Dockerはそういえば入れた記憶がなかったのでインストール。
SD-webuiってなんだよって思ったけど、もしかしてStableDiffusionのSDか。なるほど。

んで、ホイホイホイってコマンドをコピペ。

$ git clone https://github.com/AbdBarho/stable-diffusion-webui-docker.git
$ cd stable-diffusion-webui-docker
$ docker compose --profile download up --build
$ docker compose --profile auto up --build

error during connect: this error may indicate that the docker daemon is not running:

なんかエラー出とる。

error during connect

調べたら一瞬でした。
ja.stackoverflow.com

……はい。

じゃあ、DockerDesktopを押せばいいんやね!

Dokcer for Windows - Requires logout

Windowsを再起動することで解消するらしい。しました。

An unexpected error occurred

エラーは続くよどこまでも。

  1. BIOSのCPU関連設定で「Intel VT-x」「Intel Virtualization Technology」が無効になっていないか確認
  2. Hyper-VコマンドプロンプトでON

……Intel
と思ったが、Ryzenだと↓のようにやるらしい。参考元より引用。

1. PC起動し、URFIを起動
  F2を連打すると、IntelBIOSよりかっこいい画面が出現(笑)
2. 「Advanced」タブを選択し、「CPU Configuration」を開く
3. 「SVN Mode」項目がAMD-vになるので、「Enabled」に変更
4. 「Exit」タブを選択し、「Save Changes and Exit」を選択
5. Windowsを起動し、再度Docker for Windowsを立ち上げる

また再起動か……。

おそらく言語設定の都合によるものっぽいが、SVN Modeの所在地が若干違った……かもしれない。1歩も歩いていないのに忘れたので鶏よりも記憶がもたない。
記憶力が良ければ記憶貯蔵庫なんて作っていないんですよねぇ~

今度はWSL2云々でエラー出てきたけど、
こいつはLinuxカーネル更新プログラムを入れて黙らせます。
WSL2使ってないし消してもよかったな……

よし、じゃあやるぞ!

えーかげんにせーや
↑これはRestart的なのを押したら出なくなった気がする。よかったのだろうか。

なんとなくビルドするのはやめよう

なんとなくビルドするのはやめよう
271108.hatenablog.com

(ようやく)コマンドを打ち込む。

なんとなくビルドした結果Dockerが動いたのでコマンドを打ち込みます。
さっきのこれです。

$ docker compose --profile download up --build

なお、R:image/AI下で動かしているのを将来の私は忘れないように。
結構時間かかるっぽいのでゆっくりまったり待機。(3時間くらいは覚悟してもいいかも。)
webui-docker-download-1 exited with code 0
が出たのは少なくとも2時間以上たった後でした。

……もう1個コマンドあるんだよねぇ。

$ docker compose --profile auto up --build

pytorchとか入れてるっぽいけど本来の環境とかに影響ない?大丈夫?まあいいか。よくないけど。

雰囲気20分~30分位で終わってたんじゃないですかね?

生成結果

1(試行回数3回)


Positive Prompt

japanese anime of a beaultiful elf girl,
covering eyes,
purple hair, long hair,
dark_purple horns,
pointy_ears,
closed_mouth,
bare_shoulders,
fantasy costume,
fantasy black dark background,
beautiful composition,
pixiv,
light novel,
digital painting,
extremely detailed, sharp focus

Negative Prompt

bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry

「covering eyes」ってわざわざ上の方に付けたんだが?????
まあいいや。AI君にはあとでじっくり画像を作ってもらうので今回は許してあげましょう。

2(試行回数1回)


……なんとなくどのゲームのどの精霊を出そうとしたか想像できてしまう気がしますが、まあその通りです。
Positive Prompt

japanese anime of a beaultiful android girl,
fantasy costume,
silver hair, long hair,
green and red heterochromia,
fantasy background,
beautiful composition,
cinematic lighting,
pixiv,
light novel,
digital painting,
extremely detailed, sharp focus

Negative Prompt

bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry

3(試行回数3回)

Positive Prompt

japanese anime of a cute magical girl,
light blue hair, 
fantasy pink costume,
long hair,
heart hair_ornaments,
yellow eyes,
pink star magic wand,
fantasy background,
beautiful composition,
cinematic lighting,
pixiv,
light novel,
digital painting,
extremely detailed, sharp focus

Negative Prompt

bad anatomy, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry

bad handsを消去した……けど何もなかった。O-01-04の指は4本ですからね!(大声)
まあいいや。
……誰だお前。憎しみの女王はこんな落ち着いたような心をしてそうな顔じゃない!!!!!!!!!!(大声)
はい。


……ところで前の↑の画像の方が憎しみの女王っぽい感じしない?私だけ????
まあなんでもいいや。

プロンプト考えるのちょっと疲れたので今回はここまで。

次回予定

次回はバッチ処理を使って「キャラクター名っぽい画像を生成するプロンプトはどれだ!?」をやります。
いつやるかは知りません。


メモ

メモ書き:try/except

このブログに書いていなかったっぽいのでとりあえずメモ

基本

try:
	試したいこと
except 「エラーの名前」 as e:
	print(e) # エラーをprint()できる
except 「別のエラー」 as e2:
	# 別の処理を実行できる
except (「エラー1」,「エラー2」):
	# 複数のエラーをtupleを使って指定できる。
except Exception as e:
	# 任意のエラーをExceptionでキャッチできる。
	# マジで何でもキャッチしてしまうので使い方を考えないとめんどいことになる。
else:
	# エラーが発生しなかったときの処理をelseでできる
finally:
	# 例外が発生しても、しなくても常に最後に行う処理

2重にtryをやっているときは内側が優先されるっぽい?

検証すること

スプラ3ブキメモ

スプラトゥーンのシーズンがもうすぐ切り替わるのでブキに関する船井的メモです。

やっぱり間違っていても一切の責任を取りませんが、間違っていたら教えてくれると船井が助かります。

前回のスプラトゥーンミリ知らから3歩分くらい成長しました。
前回の記事を書いた時点ではC-、今月の頭にはS+まで登っていたらしいです。本当?

フデ

足が速いし、懐に入ることができれば割と勝てるので好き。一番好きなブキ種かもしれない。

ホクサイ

大きいほうのフデ。船井のメインブキ(と言い張っている)。11月は6番目に多く使用した。

パブロ

足の速いほうのフデ。割と何でもできる。11月ではホクサイの3倍以上使った。

ローラー

轢かれると死ぬ。

スプラローラー

最近ガチヤグラでしか見なくなった。比較的見ないブキがたくさんあるがそれらよりはナワバリでも見る。

ヴァリアブルローラー

船井をS+に連れて行ってくれたブキ。7割はヴァリアブルローラーの力だった。残りの2割はパブロ。

カーボンローラー

あんまり強そうに見えないけど結構使ってる人がいる。普段の動きがカーボンローラーに対して有利取ってるだけかもしれない。

ダイナモローラー

どっこいしょって感じで戦うの好き。ローラー版ハイドラって言う認識をしてる。

スロッシャー

ブキの一種。バケツみたいなやつ。フデ同様、他のゲームでは見ないタイプなので積極的に触ってる。

バケットスロッシャー

なぜか思ったより飛ばない。

ヒッセン

なぜかあんまり見ない。

オーバーフロッシャー

なぜか避けられない。なぜか自分で使うと当たらない。

スクリュースロッシャー

なぜか壁とか天井とか抜けるのでこれ相手に安全な場所はない。←これって直ったんだっけ?
自分で使っても確かに強い。でもタンサンボムうまく使えない。

エクスプロッシャー

なぜか気が付くとインクがない。

バケットスロッシャーデコ

まだリリースされてない。バケットスロッシャーザコとか言われてるけどどうなるのかなぁ。

シューター

ブキの一種。水鉄砲みたいなやつ。

わかばシューター

「使ってるイカはやばいやつか初心者。これを完全に理解できるなら強い」って聞いていた。私には何も理解できていない。

スプラシューター

スシ。実はまだ船井は持ってない。

ヒーローシューターレプリカ

よく分かんない。

プロモデラーMG

「銀モデ」ってなんなん、銀しかないじゃんって思っていました。出ます。めっちゃ塗れるので楽しいけど撃ち合いは……まあうん。

N-ZAP85

船井のお気に入りのシューターになった。敵を撃ってヨシ、塗ってヨシ、ブレも少ないし何でもできて楽しい嬉しい。でも敵陣高台にドリンクを置くのはやめようね。

ボールドマーカー

シャプマじゃないほう。

シャープマーカー

ブレないしクイボ強いので好き。カニタンク使えないので困ってる。

プライムシューター

サブもスペシャルも私には使えないからバイトでしか使ったことない。

.52ガロン

先に2発打ち込めるなら勝ち。シューター同士だと外したら負けるので私は苦手。52ガロンと和解したいとは思ってる。

.96ガロン

草。

L3リールガン/H3リールガン

3点バースト的なブキ。正直違いが分からない。使ってる人も見ない。

ボトルガイザー

正直これも見ない。

ジェットスイーパー

もっと見ない。

チャージャー

チャージャーを許さない動きしかしてない。私が何を持っていようとも。
ところでチャージキープなんてものがあるんですね、4Kスコープから入ったからつい最近まで知らなった。

スプラチャージャー

あんまり魅力を感じていなかったけど、近づかれた時スプラッシュボムおいて逃げる動きをされて返り討ちに会ったことがあったのでなるほどなぁ……ってなった。

リッター4K

強い。自分で持っても強い。当たらないと宇宙一弱い。

4Kスコープ

リッターが狙いやすくなったら最強じゃん!ってブキチをチケットで殴って強奪した時には思ってた。リッター4Kのが強くない?

スクイックリンα

結構うまいスクイックリン持ちが多くて困ってる。

14式竹筒銃・甲

ソイチューバー

マルチミサイル祭りの時に誰も名前を挙げなかったブキ。なんでやろなぁ……。

ブラスター

ブキの一種。インクが弾ける攻撃をするショットガンのようなもの。音がいい。クリティカルヒットするとなおよい。

クラッシュブラスター

楽しい。ヤグラに持ち込むととても楽しい。逆に使われた時は冷静に対処しないと死ぬ。

ホットブラスター/ラピッドブラスター

よく分からん。

ロングブラスター

使われると欠点がないように見えるやつ。

ノヴァブラスター

見かけない。

Rブラスターエリート

もっと見ない。

ストリンガー

ブキの一種。弓。使いにくい。

トライストリンガー

あんまり持ったことないし、相手に来てもあんまり印象に残ってない。

LACT-450

さようなら。ナワバリでしか使わなかったけどそんなに嫌いじゃなかったよ。

スピナー

正直あんまり使わない。

バレルスピナー

ちょっとうまい感じのイカが使っている印象。よく分かんないけどなんか強い。

スプラスピナー

シャケバで触って「なにこれ?」ってなった。レアだけどナワバリでも見る。

ハイドラント

チャージ終わっていれば最強のブキ。許してはならない。

ノーチラス47

何が強いのか分かんないけどなんか強い。なんか強いから時々持ってる。

クーゲルシュライバー

名前が好き。ドイツ語が好きなのかもしれない。チャージ段階で打ち方が変わるので結構面白い。

シェルター

ブキの一種。傘。

スパイガジェット

私が唯一使えるシェルター。「効かぬわ!ハハハハハ!!!」って言いながらゆっくり詰めていくときが好き。あ、ボム投げるのはやめてください。

パラシェルター/キャンピングシェルター

キャンピングシェルターはなかなか見ない。パラシェルターはもっと見ない。
見かけないので正直違いが分からない。

マニューバー

ブキの一種。シャカシャカ動く。せっかくこっちが狙ってるんだから動くな。
自分で使っても使えなかったシリーズ(その2)。正直、サーモンランでも使うのが苦手。
どれにせよだいたいうまいイカが使ってる。特にスパッタリーとデュアルスイーパー。
ほぼ使わないので詳細は割愛。

ワイパー

よく分からない。

ドライブワイパー

随分と進化するorしたっぽいのでこれから触り直すかもしれない。

ジムワイパー

自分で使いと弱かったけど魅力は感じた。






完。普段使ってるブキ種から書いたせいで終盤書くことがなくなってた気がする。

ミリ知らスプラトゥーン3

ミリだけしか知らないスプラトゥーン3メモです

これは自分用というより船井用のメモですが、もしも必要な人、もしくはイカがいれば、金稼ぎ以外の用途に限り自由に使ってください。そもそも任天堂の著作物とかそういうものですので。画像とかはここから*1
間違っていても一切の責任を取りませんが、間違っていたら教えてくれると船井が助かります。
重要な部分のネタバレはないですけど、スプラトゥーンシリーズを何も知らない人からするとネタバレになる箇所があるので一応気にしたりしなかったりしてください。

すりみ連合

フウカ、ウツホ、マンタローの3人のこと。

フウカ

すりみ連合の一人。扇子を持っている京ことばの青いタコ。釈台の前に座ってる。服が透ける。かわいい。

ウツホ

すりみ連合の一人。褐色肌の黄色いイカ。フェスで2連続0ptで宇宙猫の顔をしてたイカ

マンタロー

エイ!(すりみ連合の一人。「エイ!」としか言わない)

パルコ

雑貨屋の店員。かわいい。かわいいので雑貨屋によく行くが、雑貨屋に用がない。

ブキチ

ブキを売ってる店員。早口オタク。「そのブキはまだ使うには早い」と暗に伝えてくるがチケットの枚数で殴ると黙る。

スパイキー

クリーニングしてくれる人。クリーニング代ですごい値段を吹っかけてくる。

クリーニング

スパイキーのところでできる。フクを新しく買うほうが安いことが多い。

オルタナ

1人用のモード。いい悪いとは関係なく任天堂であることを感じるストーリーだった。ラスボス戦の入りがめちゃくちゃよかった。
=ヒーローモード

1号

オルタナに出てくるキャラ。多分過去作に出てた。かわいい。
=アオリ

2号

オルタナに出てくるキャラ。多分過去作に出てた。インクで塗ろうとすると傘で防いでくる。強い。
=ホタル

3号

オルタナの主人公?

キルブキ

敵を倒しやすいブキ。
⇔塗りブキ

塗りブキ

地面とかを塗りやすいブキ。
⇔キルブキ

ブラスター

ブキの一種。インクが弾ける攻撃をするショットガンのようなもの。音がいい。

シェルター

ブキの一種。傘。

マニューバー

ブキの一種。シャカシャカ動く。せっかくこっちが狙ってるんだから動くな。

チャージャー

ブキの一種。だいたいスナイパーライフル。

スピナー

ブキの一種。チャージした後にガトリングガンのように連射するやつ。

ローラー

ブキの一種。どう見ても塗りが強そうなのにキルブキらしい。

スロッシャー

ブキの一種。バケツみたいなやつ。

シューター

ブキの一種。水鉄砲みたいなやつ。

ストリンガー

ブキの一種。弓。使いにくい。

ワイパー

ブキの一種。よく分からない。

オフロ

ブキの一つ。オーバーフロッシャーのこと。ブキの一つ。泡を飛ばす攻撃が避けられそうで避けられないやつ。

スクリュースロッシャー

ブキの一つ。壁とか天井とか抜けるのでこれ相手に安全な場所はない。
略:スクスロ

スシ

ブキの一つ。食べ物ではない。
=スプラシューター

ZAP

ブキの一つ。使っているイカはだいたい強い。弱いイカが使っていても使っていることに気が付かないだけかもしれないが。

わかばシューター

ブキの一つ。使ってるイカはやばいやつか初心者らしい。これを完全に理解できるなら強いって聞いた。

スプラローラー

ブキの一つ。「私、ローラー。今あなたの後ろにいるの。」

ホクサイ

ブキの一つ。船井の気に入ったブキ。強い。

パブロ

ブキの一つ。やばいイカしか使わない。

スプラッシュボム

サブウェポンの一つ。多分一番オーソドックスなボム。

トーピード

サブウェポンの一つ。ホーミング機能付きなので避けられず死ぬ。撃ち落とせるのだが、エイムができないのでやっぱり死ぬ。

サメライド

スペシャルの一つ。飛び出すな、サメは急に止まれない。ちなみに止まれる。

ナイスダマ

スペシャルの一つ。ナイスを押せ!と出たら押すと多分強くなる。船井はナイスを押している間に他の操作をできないので死ぬ。

ショクワンダー

スペシャルの一つ。何か飛んでく。だいたい効果時間が切れて戻ったところに敵がいるので死ぬ。

エナジースタンド

スペシャルの一つ。味方が出したらとりあえず飲んでおけ。そこをねらわれて死ぬ。

ウルトラハンコ

スペシャルの一つ。略すな。

X

多分一番高いランク。怖いイカ

C-

船井のいる世界。

マンメンミ

マンメンミ!

スーパージャンプ

味方とかリスポーン地点にジャンプできる能力。これをするとだいたい死ぬ。

ガチマッチ

ランク戦。ガチアサリ、ガチエリアガチホコガチヤグラとかがある。

ガチアサリ

落ちてるアサリを拾って相手のゴールにシュゥゥゥーッ!!するやつ。多分超!エキサイティン!!

ガチエリア

よく分からん。

ガチホコ

ホコってものを相手の陣地にタッチダウンだかトライだかするやつ。

ガチヤグラ

ヤグラってものを相手の陣地まで進軍させるやつ。書いててガチホコとの違いが分からない気がするけど全然違う……はず。

イカニンジャ

船井がよくやる陰キャ戦法のためのギアパワー。

ワイプアウト

声に出して読みたい日本語。全滅のこと。

シャケバ

クマサン商会というやべー会社で働けるバイト。気軽にイカが死ぬ環境にもかかわらず薄給。ただ、代わりに無限にフクとかくれる。下手するとガチマッチより怖いところ。イカロールとイカのぼりの使いどころ。
=サーモンラン

カタパッド

シャケバに出てくる敵。見かけ次第殺せ。肩の部分にグレネードを投げ込んで殺す。

コウモリ

シャケバに出てくる敵。ロケットは撃ち返せ。足元が大変なことになる。

ダイバー

シャケバに出てくる敵。飛び込もうとしている輪っかを塗り替して殴れば倒せる。

タワー

シャケバに出てくる敵。見かけ次第殺せ。

テッキュウ

シャケバに出てくる敵。見かけ次第殺せ。残してったものはイクラ発射装置として使える。

テッパン

シャケバに出てくる敵。後ろに回り込んで殴れ。

ナベブタ

シャケバに出てくる敵。

バクダン

シャケバに出てくる敵。頭の爆弾を壊せば倒せる。

ハシラ

シャケバに出てくる敵。イカのぼりで上ると楽。

ヘビ

シャケバに出てくる敵。一番後ろにいるやつに殴りかかれ。地面をめちゃくちゃ塗ってくる。

モグラ

シャケバに出てくる敵。足元にやばそうな輪っかが出たら回避しろ、死ぬぞ。口にボムを投げ込めば倒せる。

グリル

シャケバに出てくる敵。下に入ると死ぬ。味方の方に逃げてはならない。

ドロシャケ

シャケバに出てくる敵。ボムを投げこめ。金のドロシャケは絶対に倒せ。

ハコビヤ

シャケバに出てくる敵。コンテナのイクラを奪いにくるのでそれを守るのを忘れずに。だから忘れんなって。

ヒカリバエ

シャケバのウェーブ。光ってるイカが集中狙いされる。

*1:そのくらい自分でやってくれ

Amesiorine変更履歴・変更予定

Amesiorineのソースコードを見ている人以外には理解しにくい内容となっています。まあこの記事271108用なので。

バージョンの最後の数値はバグ修正にのみ2.4以降は使用する予定。

2.4

BeTSCAE

単語の正規化を、一部の品詞に限定するように。
  1. getPID_forNormalization()を追加
  2. WD()を修正、PID4Nに関連する項目を追加・修正
WDにおいてエラー発生時、データベースへの追加を回避
  1. addMD()を修正
エミィが食べた文章を記録するように。

各名詞の出現回数を記録・計測するために、エミィが食べた文章を記録するようにする。なお、これまでの保存形式と違う形で記録。
なお、これまでのように、文章のリストでの入力の場合は0001年1月1日に作られたものとして記録する。

  1. SetUp()を変更、SDを追加。「SID」「WID化した文章(ID間に挟む文字を入れる)」「出典」「日付時間」を記録する。
  2. addMD()を変更、WID化した文章を返すように。
  3. swallow()を変更、WID化した文章をSDに追加するように。「出典」を入力する引数を追加。
  4. Screen()をScreen_old()に名前の変更。現状使っていない。
  5. Remove_unknown()を追加。Screen()の代替たりうる関数。*1
  6. DailySwallow()を大幅変更、Screen()によって得られるtweetpickleファイルを前提としていたものからRemove_unknown()を前提としたものに変更。
  7. swallow()を変更、tweepy.models.Status型の入力を受け入れるように。

SFB

utc_to_jst()の追加

SFC

BeTSCAE.Screen()の消去
  1. Execute_DailySwallow()の追加
  2. ScreenTweet_from_TweetFolder()の削除

SFR

get_TL()に混入していたTLを取ってくる要素以外を排除

とっさにここに乱数を入れてTLを取り過ぎないようにしていたという応急処置をいまさらながらまともな対処。

  1. get_TL()とmain()を変更。get_TL()内でTLを取ってくるか乱数で決めていたのでこれを修正。
暇そうな時には別のお仕事を。

BeTSCAE.Remove_unknown()をTL,FL,RLがいずれも空っぽの時に実行するように変更。

  1. main()を変更。

3.p-001(予定・メモ)

大規模変更(もしかしたら更新予定記事ここにしないほうがいいレベル)

TLの見学システムを変更

時間帯補正の除去

これまでの方法だと特定条件を満たすツイートを捕食しやすかったので変更

  • 全部持ってきてから気分で食べたり食べないようにしたりするように変更
  • これだとどのくらい見て、どのくらい食べるかの確認
  • ふぁぼをさせず、隔離をして閲覧&捕食件数を確認

外交担当専門です!

@271108_への通知機能追加
  • 他の子たちから「仕事」をもらってきて、リプライをするようにする
怠惰
  • 外交要素以外(TwitterAPIとかかわらない仕事)はエミィの仕事ではないものとして切り離す

これやっぱり新しく記事作り直しでは?

# http://www.graphviz.org/content/cluster

digraph G {
    subgraph cluster_X {
    style=filled;
	color=salmon;
    仕事置き場_Amy[shape=polygon];
    仕事置き場_Sphy[shape=polygon];
    }
	subgraph cluster_Sphalene {
		style=filled;
		color=gray;
		node [style=filled];
		subgraph cluster_5 {
    		仕事を受け取る -> 仕事の実行;
    		仕事の実行[shape=invhouse];
    		仕事の実行-> Sphy仕事発注[label="必要なら"];
    		Sphy仕事発注;
        	label = "1"
        	color = "gainsboro"
		}
        subgraph cluster_6 {
		文章生成依頼実行;
    	label = "2"
    	color = "gainsboro"
		}
		label = "Sphalene";
	}
	subgraph cluster_Amesiorine {
		style=filled;
		subgraph cluster_2 {
    		リプライ確認[shape=house];
    		リプライ確認-> Amy仕事発注;
    		TL確認[shape=house];
    		FL確認[shape=house];
    		TL確認 -> Amy仕事発注;
    		FL確認-> Amy仕事発注;
    		color=plum;
    		label = "1"
		}
		subgraph cluster_3 {
    		文章生成依頼[shape=house];
    		生成した文章->定期ツイート;
    		定期ツイート[shape=invhouse];
    		color=plum;
    		label = "2"
		}
		subgraph cluster_4 {
    		仕事確認->ツイート;
    		ツイート[shape=invhouse];
    		color=plum;
    		label = "3"
		}
		label = "Amesiorine";
		color=purple; 
		
	}
	subgraph cluster_Kyashow {
		style=filled;;
		label = "Kyashow";
		color=mediumblue; 
		
	}
	subgraph cluster_Celespphire {
		style=filled;
    subgraph cluster_aa {
    		試合情報取得[shape=house];
    		試合情報取得-> 試合情報保存;
    		試合情報upload[shape=house];

    		color=cyan;
    		label = "1"
		}
		label = "Celespphire";
		color=deepskyblue; 
		
	}
    Amy仕事発注 ->仕事置き場_Sphy->仕事を受け取る;

    Sphy仕事発注->仕事置き場_Amy->仕事確認;
    文章生成依頼->文章生成依頼実行;
    文章生成依頼実行->生成した文章;


}
疑問
  • セレンが自分で仕事やってるのおかしくない?スフィに投げるべきでは?
  • なんだったらエミィのTL確認とかも、「スフィ、確認の時間だからやれよ?」ってエミィに言わせるだけのほうが正しいのかもしれない

→将来的にはそうしたほうがいいかも。

  • あのカーヤとかいうやつ要らんくね?

*1:なお、tweepyを切り捨てる場合、もう一度この関数の作り直しを行う気がする。

OSError: symbolic link privilege not held

このエラーは何?

シンボリックリンクの作成の権限がないことによって生じるエラー。

対処法

シンボリックリンクの作成の権限を与える。

対処法のやり方(windows10)

  1. スタートメニューからgpedit(グループポリシーの編集)を開く
  2. コンピューターの構成 を展開
  3. Windowsの設定 を展開
  4. セキュリティの設定 を展開
  5. ローカルポリシー を展開
  6. ユーザー権限の割り当て を展開
  7. シンボリックリンクの作成の設定を開く
  8. ここにユーザーを追加
gpeditがない場合

ぐぐれよ。ちなみにwin10homeとかだとないらしい。なかった。

以下のバッチファイルを作成して、管理者権限で実行する。

@echo off
pushd "%~dp0"


dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"

pause

これを実行して再起動。

余談

つい先日、いろいろあって環境をまるっとぺろっと破壊しました。それ以前はシンボリックリンクを作成したつもりはなかったとはいえこのエラーを見たことがありませんでした。また、今回使っていたコードは今日初めて実行したものだったため、環境破壊前はシンボリックリンクを作れていたかどうかの確認はできていません。私は雰囲気でこんなことをやっているので。
今回のエラーの原因が環境を破壊した弊害とも思えないんですけど念のため。

参考

itojisan.xyz