ひまつぶし雑記帖

colabで使うstablediffusionの小ネタ

2022/8/29 [15:43:21] (月) 天気

google colabでstablediffusionを試していて気になったところの小ネタ。
…というか python は初めて。

・画像サイズがデフォルトだと512x512のスクエア
 大昔ハッセルとかがスクエアフォーマットだった記憶もあり、これはこれで、好きなんだけど、たとえば、stablediffusionで電書の表紙なんかを作りたいとなった場合、スクエアだとよろしくない。縦長の画像が欲しい。

image = pipe(prompt, height=768, width=512)["sample"][0]


当てずっぽうでやってみたら、たまたま意図通りだった。イメージを作る呪文をパイプで渡すところに高さと横幅を指定してやればOK。ただ、512x1024でやってみたら OUT OF MEMORY でエラーになる。大きなサイズを扱いたければ有料のコースがあるよ、とお知らせ。無料で使わせてもらってるからしょうがない。

・画像ファイルを複数作りたい
 一発で期待通りの画像が取り出せることはなく、ひとつのプロンプトで何回も取り出して、その中から選択、となる。一回ずつコマンドを叩くのは効率が悪いので、一回叩いて2つ画像を取り出すようにした。

import time
for i in range(2):
  ut=int(time.time())
  fname = str(ut) + '.png'
  image = pipe(prompt, height=768, width=512)["sample"][0]
  image.save(fname)


書き出すファイルは、ファイル名をタイムスタンプにして上書きしないように、ちょっと工夫。
range(2)、2回と言わずもっと回数を増やしてもいいんだけど、とりあえず様子見で。

縦長画像

beautiful concept art of KAWAII,
a girl walks on the street.she is seventeen,
steampunk city,AKIHABARA,
rim light,wide angle,sharp focus,
pixiv rankin,highly detailed,arknights,4K


KAWAIIやpixiv、arknightというキーワードはキャラがそれっぽくイマドキになる呪文。
image
image
ポートレイトの呪文も試してみた。

beautiful concept art of KAWAII,
portrait of a girl,full body,glossy eyes, blonde,
high contrast,rim light,sharp focus,
pixiv rankin,arknights,highly detailed,4K


image
image
image 
blondeではなくblack hairも試したんだけど、噂通り、金髪の方が安定する。なんでや。

[2022/09/19 23:07:40] 追記。
今日時点、colabで使ってるコードをメモしておこう。

from diffusers import StableDiffusionPipeline
import matplotlib.pyplot as plt
import time
import random
import torch
from google.colab import drive
drive.mount('GoogleDriveのパス')


最初の2行はお約束。
import time
→ファイル名にタイムスタンプを使うのに必要
import random
→ランダムseed生成に必要
import touch
→seedをpipeに渡すために必要
import drive
→生成した画像をgoogle driveに保存するために必要
google driveのパスは「/content/gdrive」とか適当に。

上記、いろいろ必要なものをインポートしたら以下のコードが使える。

pmt_fname = str(int(time.time()))
with open('GoogleDriveのパス' + pmt_fname + '.txt', 'w') as f:
  f.write(prompt)
for i in range(4):
  seed=random.randrange(0,2147483647,1)
  #seed=1349413827
  gen=torch.Generator("cuda").manual_seed(seed)
  #ut=int(time.time())
  #fname = str(ut) + '-' + str(seed) + '.png'
  fname = pmt_fname + '-' + str(seed) + '.png'
  image = pipe(prompt, height=768, width=512, generator=gen,num_inference_steps=200)["sample"][0]
  image.save('GoogleDriveのパス' + fname)


とりあえず、ひとつのプロンプトでタテ768pxヨコ512pxの画像を4枚作る。
ステップ数はデフォルトは50。多くするとそれだけ時間がかかるけど、細部まで作り込まれるということで200にしてみた。

ファイルはgoogle driveに保存される。
タイムスタンプ.txtという名前でプロンプトのテキストファイルを保存
ex.)1663466109.txt
プロンプトのタイムスタンプ+ランダムseed.pngという画像ファイルを生成保存
ex.)
1663466109-1096018807.png
1663466109-1253973203.png

出来上がった絵をみて、惜しいなあ、ここもうちょっと色味が地味なのがよかった、とか思った時に元になったプロンプトが残るので修正変更試行錯誤も簡単になる。そして何より、

StableDiffusionは、同じプロンプト、同じseedを渡すと、同じ画像が生成される。

これがキモというミソだろう。
構図はいいのに、なんでこんな格好してるんだ、とか、ここは空に月が欲しかった、てな時はseedを同じにしてプロンプトを少しいじると同じような構図で違う絵が出てくる。欲しい絵に近づけることが可能になる、かな。

検索するとAIがらみ、技術的な話にたどり着いてしまうんだけど、わたしのような素人はこんぐらいの理解で蛮勇するのでちょうどいい。

以下3枚は同じseedで生成
image

High quality concept art,
landscape of steampunk city with a monk,
riverside street,river babbling,
sunlight pouring down,
forest of skyscrapers,
a monk walks on the path,
rim light,wide angle,
sharp focus,highly detailed,
digital art illustration,
art station trending,playstation5,4


image

High quality concept art,
landscape of cyberpunk city with a monk,
TOKYO AKIHABARA,
riverside street,river babbling,
sunlight pouring down,
forest of skyscrapers,
a monk walks on the path,
rim light,wide angle,
sharp focus,highly detailed,
digital art illustration,
art station trending,playstation5,4


image

High quality concept art,
landscape of deep forest with a monk,
riverside and golden pond,
river babbling,
sunlight pouring down,
sunlight filtering through trees
a monk walks on the path,
rim light,wide angle,
sharp focus,highly detailed,
digital art illustration,
art station trending,playstation5,4



1枚めを最初に生成。
2枚め。スチームパンクじゃなくてサイバーパンクの街に、TOKYO、AKIHABARAも追加。
3枚め。街ではなくて森の中にしようと思ってプロンプト文字列の変更が大きかったようで、Seedの魔力もあまり効かなかった。

もうひとつ。
ネットだと画像の解像度は72dpiでも足りるんだけど、紙印刷だとカラーは最低300dpi、モノクロは600dpi必要となる。google colabで使うStableDiffusionの解像度は72dpi。設定で可能になるかもしれないけど、わからないんで、あれこれ検索。
同じくAIの技術を使って画像をリファクタリングする?アップコンバージョンするReal-ESRGANというのがあった。

これのおかげで512x768 72dpi程度で出力される画像を高精細化して300dpi、紙印刷にも耐える画像として使えるようなった。

変換前image
変換後image
なんか違いのわかりにくいビミョーな例になってるけど、輪郭あたりをみてもらえると一目瞭然。StableDiffusionとReal-ESRGANの組み合わせでまた可能性が広がる。

StableDiffusionでステップ数をあえて低くして作った画像を、Real-ESRGANで高精細化して細部を作り込むというやり方もできる、かも。

Real-ESRGANの公式ページ
https://github.com/xinntao/Real-ESRGAN
これもオススメ、ていうか必需品。

»電子書籍制作代行についてはこちら

StableDiffusionの呪文?

2022/8/28 [13:46:53] (日) 天気

画像生成AIが面白くて、google colabでお試し中。
AIからどんな画像を取り出すのかは、AIに投げる言葉次第。呪文と言われるのもわかる。

↓こちらが丁寧で詳しいのでオススメ
魔術そして理解するお絵描きAI講座
https://note.com/fladdict/n/n0f0be20e3e23
ていうか、これは必読。

具体的な呪文の例はこちら
https://lexica.art/
検索窓にpixivとかplaystation5とか入れるとわかりやすい。


で、以下はド素人が多分に間違った知見を元に書いてるヨタ。

AIに投げる呪文はプロンプトと言われていてその構成は以下が最適

<全体のフォーマット><主題><主題の補足><作者><全体の補足><フレーバー>


「美術館のサイトなんかでどんなキャプションがついてそうか?」を考えて呪文を組み立てると良いらしい、AIに意図が伝わりやすいとのこと。

image
Buddha walk on the surface of the moon
呪文はこれだけ。前記した構成でいうと「仏陀が月の表面を歩く」主題だけ。これはこれでAIまかせで面白い。

ただ、ほかのひとの上げている画像と見比べてみて、画質というか描画が全然ダメだなあ、と。ほかのひとの呪文を覗いてあれこれつけ足してみたら安定した、かな。
image

High quality concept art,
Buddha walking on the surface of the moon,
high contrast,
sharp focus,
art station trending,
highly detailed,
digital painting,
digital art,
4k


「主題」は最初と同じ
Buddha walk on the surface of the moon
で、それ以外にいろいろ見様見真似、それこそ呪文状態で付け足した。

「全体のフォーマット」に High quality concept art を指定。
コンセプトアートはいい感じの絵ということ、でいいかな。ここは他に油絵とか水彩画とかを指定するといいらしい。

「主題の補足」にコントラストが強くてピントぴったりという補足説明。

「作者」は「art stationというゲーム紹介サイトのトレンドにありそうな」ということにした。ほかにpixiv rankinだと「ピクシブでランクインしてそうな」という使い方。ここにゴッホとかレンブラント、京都アニメーションやジブリなんかも。

「フレーバー」として細部まで細かい、デジタルで描かれている、画質4K。
このフレーバーに、カメラのレンズや開放値、シャッタースピードなんかを入れるのも効果的というのが、ネットで学習するAIならでは、というやつだろう。

美術などを学問的系統的に学ぶのではなくて、ECサイトのカメラ販売ページなんかにある作例を脈絡なく取り込んでるのでこちらの側からアクセスも面白いということになった、んだろなあ。
image
たぶん、以下からフレーバーに「playstation5」とか「unreal engine」とかつけた。ゲーム画面を指定したらそれっぽいものが出るようになった。安定した、かな。
image
月の上ばかりじゃなく、サイバーパンクの街にしてみたり
image
image
日本の寺にしてみたり
image
スチームパンクにしてみたり
image
坊主が歩いてばかりなので跪いてお祈りするようにしてみたり
image
image
坊主ばかりじゃなくて女の子にしてみたり
image
スチームパンクな街に秋葉原を指定してみたり
image

こりゃキリがなくて面白すぎる。
意図した絵を作るために呪文の精度を上げれば仕事に使えるし、意図しない絵が出てきたらそれを元にストーリーを作る・大喜利を始めるのも面白いし。

ちなみに、権利的には商利用も自由。本、同人誌の表紙や挿絵が欲しいけど、絵が描けないとか頼めるひとを探すのが難しいというような場合、この画像生成AIの出番。
ただし、実在の人物なんかを呪文のタネに仕込んだ場合、肖像権にブチ当たって弁護士と内容証明が飛んでくる可能性が十分あるので、そこだけ注意。

まだまだ遊べるなあ。

[2022/08/30 10:24:41]追記

今日時点で。呪文のテンプレは以下

High quality concept art,

「ここに具体的な描写内容を英語で記述」

rim light,
wide angle,

sharp focus,
high contrast,
highly detailed,
digital art illustration,
art station trending,
playstation5,
4K


なんとなく、だけど。StableDiffusionは縦長の構図は苦手かなあ。
image
あとは出てきた絵をネタにしたエントリを頑張る

»電子書籍制作代行についてはこちら

AIでテキストから画像を生成

2022/8/24 [16:06:23] (水) 天気

いま話題の画像生成AI「Stable diffusion」を使ってみた。

ローカルにダウロードしてPython環境、Anacondaとかを作ったりGitからStable Diffusionのソースコードを持ってくるのは大変なので、とりあえず、googleのcolabで使ってみた。
ほんとだったら、ローカルに構築するのがいいんだけど。

とりあえずアカウントが2つ必要。
・googleのアカウント
→gmailのアカウントで、ほとんどの人はすでに持ってるのでは?
・huggingfaceのアカウント
→これは持ってるひとが少ないと思うけど、簡単に作れる。
https://huggingface.co/settings/profile

わたしのようなド素人のヨタじゃなくて、以下のサイトがオススメ。
Google Colab で はじめる Stable Diffusion v1.4
https://note.com/npaka/n/ndd549d2ce556
[Stable Diffusion] AIでテキストから画像を生成する[Python]
https://www.12-technology.com/2022/08/stable-diffusion-aipython.html

とはいえ、自分メモ。

・huggingfaceでの作業
huggingfaceのアカウントを作ったらhuggingfaceのプロフィールページの左メニューからアクセストークン(ACCESS TOKEN)をクリックしてアクセストークンのページを開いてひとつ新規に生成して取得する。
 権限にreadとwriteがあるけど、readで大丈夫だった。

・google colabでの作業
https://colab.research.google.com/?hl=ja
↑ここにアクセスしたらまずは下準備
「ノートブックを新規作成」
image
素っ気ないページになる。これ、古のターミナルみたいだな。
てのはともかく、やることは以下の4ステップだけ。

1)
「編集」→「ノートブックの設定」→「ハードウェアアクセラレータ」を「GPU」に設定。
2)
次にこの▶のところに以下のコマンドを入力。
!pip install diffusers==0.2.4 transformers scipy ftfy
▶をクリックするとコマンドが実行される。
3)
インストールが済んだら、「+コード」をクリック。
次のコマンドを入力欄を追加してライブラリのインポート…これをしないと、次のフェーズで403エラーになって止まってしまった。
from diffusers import StableDiffusionPipeline
import matplotlib.pyplot as plt

4)
そして以下で準備完了となる。
TOKEN="Huggingfaceで取得したトークンをコピペ"
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", use_auth_token=TOKEN)
pipe.to("cuda")


準備が済んだらいよいよ画像を生成だ。
▶のところに
prompt = "Japanese Bobtail Cat on the Moon" #@param {type:"string"}
image = pipe(prompt)["sample"][0]
image.save("test01.png")

とやってできたのがこの画像
image

promptがキモ。ていうかAIにどんな画像を作らせるのかAIと話し合いになる。
今回は最初だし「Japanese Bobtail Cat on the Moon」とやってみたけど、そんなに面白い画像がすぐに出てくるわけでもなく、これにしても4回目ぐらい、だったかな。
デフォルト状態で1枚生成するのに20秒ほどだった。

「AIと話し合い」と書いたのはこのリクエストがすべてで、どんな画像を出せるかは話し合い次第。プロンプトをリクエストするひとの腕次第という意味もある。たぶんこの分野、こんな画像が欲しい、というのを翻案して噛み砕いてAIのわかる言葉で伝えるニーズがあるだろうな。

創造とか創作というのは人間や神様だけのものという聖域感がある。
だけど、神様については知らないけど、人間の創造もまったくゼロからというものではなく、いろんなもののインプットの坩堝があって初めてアウトプットが出てくる。
てことはこのAIもやってることは同じ、大量のデータをインプットされて学習したモデルから適当と思しきものを引っ張り出してそれらで合成して作り上げてアウトプットとする。

一部界隈が騒がしいのもわかる気がする。
ほんと、これはひととAIの棲み分け、区別というか、倫理の話にもなりそうだし、SFのネタが現実になりそう。

ちなみに生成した画像は権利関係的にはフリーなので(著作人格権とか肖像権にぶち当たることもありそうだけど)商用利用もOKとのこと。

とりあえずgoogleで使ってみたけど、いろんなパラメータをいじれるはずなのでローカルで構築してみたいとこだなあ…て、今うちで使ってるパソはグラフィックが弱いからパソコン買い替えになるだろうし、当分無理、か。ビンボはつらいぜ、ちくしょう。

»電子書籍制作代行についてはこちら

コロナに罹患したぞ

2022/8/8 [10:06:33] (月) 天気

image
コロナにかかったんでメモしておこう。
ワクチン3回摂取。3回目は2022 4/4。3回ともファイザー。
基礎疾患。脳出血(脳梗塞)、高脂血症、高血圧、高尿酸血症

外出するのはシフト仕事で週に3〜4日ほど。満員電車とか外食とかこのシフト仕事に出かける時だけ。マスクはもちろん着用(花粉症だしな)アルコール消毒のスプレーも持ち歩いて、ことあるごとにシュシュとしてる。

熱発の2日後、予約の取れた発熱外来で診断。コロナ陽性確定。
発熱外来で処方されたのは。
・ロキソニン:解熱鎮痛剤
・トラネキサム酸:喉の痛み、炎症の緩和
・デキストロメトルファン:咳止め
・SPトローチ:喉、口中の殺菌

熱発してから3〜4日ほど38度超の熱でフラフラ。しんどくて眠れない起きてられないという状態。
その後、熱が37度台、微熱に下がってきたら今度は喉が焼け付くような痛み。水を飲むだけで覚悟が必要な痛み。軽い咳も伴ってこれまたしんどい。
平熱に下がって喉の痛みもなくなり、イベント終了したのが8日ぐらい経った後。

役に立ったと思われる自衛策としては。
・ポカリのイオンウォーターをがぶ飲み。最初の3日間は、1日3リットル近く飲んでた…熱で身体から水分が蒸発してる感じというか。
・診断前で薬を勝手に飲んでいいのかわからない時に、凍らせたペットボトルを首や脇、鼠蹊部に当てて体温を無理やり下げた。

予想外だったのが。
・喉の痛み。焼けるような痛み、声が変わってしまうほど。特に水分を取ると痛みが激烈。トローチを舐めてもたいして効かない。後から知ったけど、イソジンでうがいは悪化させる可能性もあったらしい。



以下、時系列で羅列。

7月28日、明らかに体調不良。熱が出てるのを自覚。37.3度。
7月29日になっても熱はおさまらず、家人が以前診てもらった近所の発熱外来をネット予約。7月30日にたまたま空きがあった。夜になって熱は38.2度まであがっていた。解熱剤とか勝手に飲んでいいのかわからなかったんで、凍らせたペットボトルで首や脇の下に当てて体温を無理やり下げる。水分を摂らねば、ということでポカリスエットのイオンウォーターがぶ飲み。いくらでも飲める。

7月30日、38.3度。フラフラになりながら診断の結果はコロナ陽性。待合室では事前に感染症向けの問診票に記入。よくわからんけど、とりあえずコロナにかかってる前提の設問ばかりだった。

コロナ陽性確定後は処方箋と、陽性と診断されたかたへ、というパンフレットのようなプリントアウト1枚渡されて終了。保健所には発熱外来から連絡するとのこと。
で、どうすればいいのか、なにをすればいいのかよくわからない。先生のいうには、発症から10日は外出禁止。その期間がすんで症状がなくなってれば無罪放免ということらしい。て、特に終了のための診断、および太鼓判もないらしい。
発熱外来隣の薬局は中に入れず、外から電話をして薬剤師さんを呼び出して、処方箋を手渡し、外で待たされて(炎天下)薬をもらう。

発熱外来は3110円。薬は無料。

拍子抜け。特に何があるわけでもなく、薬をもらって帰宅。
家人や猫に移ったら大変なので、わたしは部屋に隔離。ウチでもマスク着用。ドアノブや洗面所にアルコール消毒のスプレーを配置。こんなんでええんか?と思いつつ。

夜には、ロキソニンのおかげか熱は36度までさがってずいぶんラクになった。

7月31日は朝から微熱。37.1〜37.5あたりをうろうろと。
イオンウォーターを飲みつつ、意外と食欲はあったんで、家人の作ってくれる食事をフツーに完食。

厚生労働省と保健所からスマホのショートメッセージが届く。

厚生労働省のメッセージついていたリンクを辿って、家人に促されて、配食セットやパルスオキシメーターを申し込む。
ここで、自宅療養なのか宿泊所頼むのか、そのあたりはすべて自己判断…て、そんな判断基準などない。どうしろっていうのかわけわからないまま。熱と喉咳だし、たぶん自宅療養の範囲内だろう、ぐらいなもんだ。宿泊とかになると準備も必要で、在宅仕事もできないし、コロナ患者の群れの中に入るのも気が重い。家人と猫に負担がいくのは申し訳ないけど、自宅療養を選択。

保健所のメッセージについていたリンクを辿って、HER-SYSという療養証明書のページで症状を記入・送信。
ただただ、状況、体温や酸素濃度、息苦しさのあるなしなどを入力するだけ。これを入力する意味ってなんかあるんだっけ?という…。わたしのIDがふられて保健所に捕捉されることになるんで、コロナの状況確認、程度かな。

8月1日、月曜になってパルスオキシメーターが届く。珍しいんで測ってみたら96%前後…こんなもんらしい。特に血中酸素濃度?は問題もなく。熱は微熱が続いて、この日から喉に違和感。ていうか夜になったらつばを飲む、イオンウォーターを飲むだけで焼けるような激痛で、びっくり。でも食事、固形物は喉を通るんでこれまたびっくり。トローチを舐めて過ごす。
image
8月2日に配食セットが届いた。ダンボール2箱分。レトルトのおかずやレンチンご飯、サバ缶やゼリー飲料、ビスコや羊羹、ペットボトル各種(甘みのあるものないもの)などなど、カロリーや栄養を考えられてる感じ。予想外にちゃんとしてるんで感謝だ。
image
これならひとりでフラフラになりながらでも食べるのに困らないし、それなりに栄養も補給できる。もちろん、重症化するとそれどころではないだろうけど。

8月3日からは微熱と喉の痛みに咳、そもそも高熱が続いて寝てたんで全身あちこちがだるかったり痛かったり。
微熱も治まって平熱までさがったのは8月4日ぐらいだった。
その後は外出禁止の療養期間ということもあり、部屋に閉じこもって、ベッドに転がり、床に転がり動画を眺めて過ごす。


以上、てな感じ。

7月28日から8月4日まで10日弱ほどのコロナだった。
処方された薬はどれも対症療法で、新型コロナの特効薬ではない。
症状は抑えてやるから、あとは我慢して頑張れ、ということ。

たまたま軽症で済んだけど、それでも38度超の熱は眠れなくてめちゃくちゃしんどいし、声が変わるほどの、喉の焼けるような痛みは初めて。
既往症というか脳出血やってるんで、コロナで血栓がまわって脳梗塞のリスクもあがるという話にはびびった。脳梗塞を発症したら時間との勝負だと脅されてるしねえ。

にしても、まったく心当たりもない。発症から逆算して4〜5日前あたりはシフト仕事で出かけたぐらい。ていうかそれで移ったのか。ひとと接したのは満員電車や外食、シフト仕事の事務所。
気をつける…て、気をつけようもない。運次第。

今日時点でも、身体のだるさはまだ抜けない。
コロナはただの風邪とか言ってるのもいるらしいけど、治る見込みの予想もできない熱病はかなりしんどいぞ。


ところで。

この療養期間中にアマプラで、トリック劇場版4本、TVシリーズ3作、TVスペシャル3本とトリック完走。どれも一度は観てるんだけど、やっぱ面白いなあ。
小ネタの連続で気がついたら全体の世界観にどっぷり引き込まれて、メロドラマ展開などろっと湿ったストーリー展開も違和感なく。阿部寛と仲間由紀恵のキャラ性能の強さでまっすぐ突破、てな感じか。特にTVスペシャルの3本はその規模感がぴったりハマっていて傑作揃い。

»電子書籍制作代行についてはこちら

profile

profile

 
doncha.net
contact:
»運営者
@t2aki@tokoroten.doncha.net

ため池

[2024/12/11 18:32]
弘南鉄道 大鰐線のこと
https://www.torizuka.club/2024/12/09/%E5%BC%98%E5%8D%97%E9%89%84%E9%81%93%E3%80%80%E5%A4%A7%E9%B0%90%E7%B7%9A%E3%81%AE%E3%81%93%E3%81%A8/
>ではどうして弘南鉄道は今から3年半も先の2028年3月末に廃止すると表明したのでしょうか。
>この時期を選んだのは来春高校に入る新入生が卒業する時期だからです。
>きちん ...

[2024/12/11 15:17]
年末進行だな…いつもより10日ほど発注が早い。元データもたぶん今日あたりなので待機。
検診目前で禁酒期間だし、ちょうどいいっちゃいいか(え?

[2024/12/11 12:04]
いかん、ねこあつめしかしてないんだが…。
こうして恍惚のひとにまっしぐらなのか。ぽつねんとTVばかり見てるおじいちゃんと同じ位置に到達しようとしてる、ぞ。

@t2aki@tokoroten.doncha.net

検索
<<2022/08>>
 123456
78910111213
14151617181920
21222324252627
28293031

リンク

WINDOWS版サウンドノベル
おかえりください PC WINDOWS版サウンドノベル
『おかえりください』体験版

[1 Page]

TOTAL:3003

2024 (26)
1 (2)
2 (2)
3 (1)
5 (1)
7 (2)
8 (2)
9 (3)
10 (4)
11 (8)
12 (1)
2023 (53)
1 (1)
2 (5)
3 (1)
4 (1)
5 (3)
6 (9)
7 (9)
8 (6)
9 (5)
10 (3)
11 (2)
12 (8)
2022 (16)
1 (1)
3 (2)
6 (2)
7 (1)
8 (4)
9 (2)
10 (1)
11 (2)
12 (1)
2021 (12)
1 (3)
2 (1)
6 (1)
8 (2)
9 (1)
10 (1)
11 (2)
12 (1)
2020 (18)
1 (2)
2 (6)
4 (1)
6 (1)
7 (2)
8 (2)
12 (4)
2019 (17)
1 (3)
2 (4)
3 (2)
4 (2)
5 (1)
6 (1)
8 (1)
10 (1)
12 (2)
2018 (21)
1 (3)
2 (2)
3 (2)
4 (1)
5 (1)
6 (6)
8 (1)
9 (1)
10 (2)
12 (2)
2017 (32)
1 (2)
2 (1)
4 (2)
5 (1)
6 (6)
7 (3)
8 (5)
9 (3)
10 (2)
11 (2)
12 (5)
2016 (41)
1 (5)
2 (5)
3 (2)
4 (3)
5 (4)
6 (6)
7 (2)
8 (2)
9 (3)
10 (1)
11 (4)
12 (4)
2015 (99)
1 (11)
2 (12)
3 (9)
4 (6)
5 (8)
6 (8)
7 (3)
8 (5)
9 (16)
10 (6)
11 (1)
12 (14)
2014 (112)
1 (16)
2 (5)
3 (6)
4 (12)
5 (16)
6 (19)
7 (9)
8 (6)
9 (4)
10 (8)
11 (6)
12 (5)
2013 (145)
1 (24)
2 (15)
3 (18)
4 (23)
5 (14)
6 (11)
7 (7)
8 (11)
9 (5)
10 (4)
11 (6)
12 (7)
2012 (103)
1 (1)
2 (1)
3 (4)
4 (3)
5 (7)
6 (26)
7 (17)
8 (5)
9 (8)
10 (10)
11 (11)
12 (10)
2011 (54)
1 (4)
3 (7)
4 (4)
5 (14)
6 (6)
7 (3)
8 (3)
9 (1)
10 (4)
11 (2)
12 (6)
2010 (70)
1 (12)
2 (7)
3 (6)
4 (6)
5 (3)
6 (10)
7 (6)
8 (4)
9 (3)
10 (4)
11 (3)
12 (6)
2009 (144)
1 (15)
2 (12)
3 (12)
4 (6)
5 (15)
6 (6)
7 (10)
8 (9)
9 (17)
10 (12)
11 (14)
12 (16)
2008 (148)
1 (10)
2 (6)
3 (10)
4 (11)
5 (13)
6 (10)
7 (13)
8 (19)
9 (18)
10 (12)
11 (13)
12 (13)
2007 (106)
1 (7)
2 (5)
3 (3)
4 (7)
5 (5)
6 (9)
7 (8)
8 (13)
9 (18)
10 (11)
11 (8)
12 (12)
2006 (158)
1 (28)
2 (28)
3 (25)
4 (7)
5 (9)
6 (7)
7 (12)
8 (13)
9 (10)
10 (7)
11 (6)
12 (6)
2005 (350)
1 (31)
2 (26)
3 (26)
4 (27)
5 (29)
6 (30)
7 (32)
8 (30)
9 (30)
10 (32)
11 (29)
12 (28)
2004 (292)
1 (24)
2 (24)
3 (29)
4 (27)
5 (28)
6 (25)
7 (26)
8 (24)
9 (12)
10 (19)
11 (26)
12 (28)
2003 (318)
1 (22)
2 (25)
3 (21)
4 (28)
5 (28)
6 (28)
7 (28)
8 (29)
9 (26)
10 (29)
11 (28)
12 (26)
2002 (317)
1 (29)
2 (26)
3 (26)
4 (25)
5 (28)
6 (30)
7 (27)
8 (21)
9 (25)
10 (27)
11 (28)
12 (25)
2001 (277)
1 (17)
2 (21)
3 (23)
4 (20)
5 (31)
6 (18)
7 (26)
8 (25)
9 (29)
10 (19)
11 (24)
12 (24)
2000 (53)
6 (9)
7 (4)
8 (2)
9 (3)
10 (1)
11 (15)
12 (19)
1999 (3)
7 (1)
10 (2)
1998 (18)
9 (9)
10 (7)
11 (2)