0

PyTorch: visualize trained filters and feature maps

I just wrote a simple code to visualize trained filters and feature maps of pytorch. For simplicity, the below code uses pretrained AlexNet but the code must work with any network with Conv2d layers.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import os
from itertools import product
import numpy as np

import imageio

import torch
import torch.nn as nn
import torchvision.models as models
from torch.autograd import Variable

def visualize_conv_filters(net, dirname, dataname):
    dirname = os.path.join(dirname, dataname)
    if not os.path.exists(dirname):
        os.mkdir(dirname)

    index_conv = 0
    for module in net.modules():
        if isinstance(module, nn.Conv2d):
            filters = module.weight.detach().numpy()

            shape = filters.shape
            filters_tile = np.zeros((shape[0]*shape[2],
                                     shape[1]*shape[3]))

            for i, j in product(range(shape[0]), range(shape[1])):
                filters_tile[i*shape[2]:(i+1)*shape[2],
                             j*shape[3]:(j+1)*shape[3]] = filters[i, j, :, :]
            filename = '%s_conv%d.png' % (dataname, index_conv)
            imageio.imwrite(os.path.join(dirname, filename),
                            filters_tile)

            index_conv += 1

def visualize_feature_maps(net, dirname, dataname, x):
    dirname_root = os.path.join(dirname, dataname)
    if not os.path.exists(dirname_root):
        os.mkdir(dirname_root)

    net.eval()
    for index, layer in enumerate(list(net.features)):
        dirname = os.path.join(dirname_root, 'layer'+str(index))
        if not os.path.exists(dirname):
            os.mkdir(dirname)

        x = layer(x)
        feature = x.detach().numpy()<span id="mce_SELREST_start" style="overflow:hidden;line-height:0;"></span>
        for i in range(feature.shape[1]):
            filename = 'layer%d_feature%d.png' % (index, i)
            imageio.imwrite(os.path.join(dirname, filename),
                            feature[0, i, :, :])

if __name__ == '__main__':
    net = models.alexnet(pretrained=True)

    visualize_conv_filters(net, './data/alexnet', 'filters')

    x = Variable(torch.randn(1, 3, 224, 224))
    visualize_feature_maps(net, './data/alexnet', 'random', x)
Advertisements
0

燃える部屋 上・下

燃える部屋 上・下
マイクル・コナリー
講談社文庫

ハリー・ボッシュシリーズ待望の最新作.と言っても,和訳されていない作品が2,3作あるみたいなので,翻訳者さん頑張ってください!!と期待しながら本を買うのみ.

ボッシュも年を取ったみたいで,昔みたいな銃撃戦とかはしなくなった.その分,推理とか駆け引きを楽しめたので,今後の作品にも期待.

今回は,10年前の銃撃事件がきっかけで最近なくなったメキシコ人楽団のギタリストが死んだ事件の捜査.メキシコ系新米刑事ルシアとペアを組み,刑事としてのイロハを伝えながら捜査をすすめるボッシュ.

ルシアが刑事を目指すきっかけとなったアパート火災が同時間帯に近所で起きた銀行強盗の一貫であることを突き止めるボッシュ・ルシアペア.真犯人の実行犯は既に亡くなっており,内部犯である女性銀行員は出家.ボッシュ・ルシアが事情聴取をしたいとの情報を得た内部犯は旅先で死亡.

メキシコ人楽団のギタリストの銃撃犯の狙いは楽団の別の人だった.銃撃犯の知人であるコンクリート王の妻の不倫相手を脅すつもりが,間違えてメルセドを狙撃してしまったという話.コンクリート王は銃撃犯を殺害.

前市長も犯罪に関与していたみたいな話だった気もするけど,全然思い出せない.

内容(上巻): 定年延長制度最後の年をロス市警未解決事件班で迎えたボッシュはメキシコ系新米女性刑事ルシア・ソトとコンビを組むことに。ふたりが担当するのは、10年前広場で演奏中に銃撃され、体に残った銃弾による後遺症で亡くなったオルランド・メルセドの事件。体内から取り出した銃弾を手掛かりに捜査が始まった。 (Amazonより)

内容(下巻): 生前、車綺子のメルセドを帯同し、治安改善を訴え市長選に勝利。州知事を目指すザイアスは彼の死を利用しようと事件解決をボッシュに強く迫る。一方相棒ソトが7歳で経験した未解決の火災についても捜査を進めると、2つの事件が関連し、衝撃の展開となる。シリーズ25周年記念特別エッセイを巻末収録。 (Amazonより)

0

STAP細胞の真実_日本中が驚いた小保方晴子氏を巡る騒動劇の全貌解明!

STAP細胞の真実_日本中が驚いた小保方晴子氏を巡る騒動劇の全貌解明!
岡田 愛史
東京サイエンス出版

Kindle Unlimitedで利用してみた.買う必要なし.読む必要なし.

タイポ多すぎ.文章下手すぎ.著者のプロフィール・出版社などあらゆる点が怪しさを強調している.

全部読んだけど,今後については何も触れていない.スピリチュアル(笑)というか,一発芸というか,このような文章に騙される人がいるんだなと思うと悲しくなる.

内容紹介:
第一章 STAP細胞の量子作用
1・STAP細胞の原理
2・量子力学から見たSTAP細胞
第二章「STAP細胞」報道の展開 
1・日本の報道姿勢の問題点
第三章 STAP細胞騒動の総括
1・若山氏の動向変化と疑惑
第四章 NHKスペシャルと笹井氏の自殺
1・NHK報道スペシャルの罪
2・須田桃子『捏造の科学者』による小保方氏冤罪へのイメージ作りと世論洗脳工作
3・日本のジャーナリズムの捏造的偏向報道の罪
第五章 出始めた小保方氏名誉回復への動き
1・有識者や海外メディアの認識
2・書籍、電子書籍による空中戦
3・小保方弁護団による損害賠償請求・名誉回復への反撃プロローグ

出版社より
本書一冊でSTAP細胞騒動の過去と今後のすべてが解ります。

0

チンギス紀 二 鳴動

チンギス紀 二 鳴動
北方謙三
集英社

しつこくテムジンの命を狙うタイチウト氏のトドエン・ギルテとタルグダイ.うまく逃れ続けたテムジンだが,弟を殺された後の復讐戦でコテンパンに負けてしまう.しかし,テムジンの行動に感じた民がテムジンの基に集まり,復讐戦の前より多い兵を抱えることになる.

テムジンは単にモンゴル族を統一する,戦争をするだけではない.鉄の採掘や馬匹,鉄鋼所の作成など長期的な戦略を考えている.この方向性を可能としたのがキャト氏に古くから使えてきたチャラカ・モンリク親子.

ジャムカはメルキト族に殲滅されかけたものの,復讐戦前のテムジン軍にたまたま救われる.

内容: 父祖の地に戻ったテムジンは、命を狙うタイチウト氏と対峙する―。同じモンゴル族のタイチウト氏がテムジンを狙っていた。それを知りつつ父祖の地に戻ったテムジンは旗を掲げ、旅先で出会ったボオルチュ、槍の達人ジェルメ、弟のカサルらを連れて草原を疾駆する。父の死で弱体化したキャト氏の威を示し、モンゴル族をひとつにするために。一方、モンゴル族ジャンダラン氏の長の息子ジャムカも、その名声を高めつつあった。怒涛の展開が続く第二巻。 (Amazonより)

0

チンギス紀 一 火眼

チンギス紀 一 火眼
北方謙三
集英社

待望の北方作品の主人公はチンギス・カン!!一気読みする体力がないのでチョコチョコ読み進めたけど,やっぱり面白い

  • テムジンの父イェスゲイはバラバラに生活しているモンゴルの部族を統一しようと活動していた
  • テムジンが許嫁の家で生活をしているタイミングでイェスゲイは殺される
  • タイチウト氏のタルグダイとトドエン・ギルテの2名がタイチウト氏の長になりたい
  • タルグダイはテムジンの母ホエルンが好きで,イェスゲイの死後に結婚を申し込むも断られる
  • 世間はタルグダイが政略結婚を申し込んだものとみなす
  • タイチウト氏(たしかトドエン・ギルテの方)がテムジンの弟を唆す
  • テムジンの弟はタイチウト氏の話に載ろうとするが,テムジンが裏切りに気付き殺害
  • テムジンは砂漠を抜け金国に逃れる
  • テムジン,砂漠の途中でポオルチュと出会う
  • ジャンダラン氏の長の息子ジャムカは,氏族から羊を奪ったメルキト族の集団を殲滅
  • メルキト族の長の一人トクトアがジャンダラン氏の長にプレッシャーをかけ,ジャムカはしばらく飲まず食わずで幽閉
  • 生死の間を彷徨うも生き延びるジャムカ
  • 金国の妓楼で下働きをしたテムジンとポオルチュ
  • 二人を雇ったショウゲンキはテムジンに史記本紀を朗読させる
  • テムジン朗読により歴史を学ぶ
  • テムジンモンゴルに復帰

内容: 父を討たれたテムジン(のちのチンギス・カン)は、独り南を目指す―。テムジンの父シェスゲイは、モンゴル族キャト氏の長であり、モンゴルをひとつにまとめるはずだったが、不意を突かれタタル族に殺害されてしまう。そのときテムジンはわずか10歳だった。モンゴルの主導権をめぐって同族のタイチウト氏が台頭し、弱体化したキャト氏に敵対するようになる。ある事情から異母弟を討ったテムジンは独り、タイチウト氏を避けていったん南の地へ向かうのだが―。 (Amazonより)

0

わたしは人妻風俗嬢

わたしは人妻風俗嬢
加藤文果
イースト・プレス

エロ小説みたいな感じだった.こーゆーんじゃないんだよねー.

内容: 若くもない。巧みなテクニックがあるわけでもない…でも成熟した色気とやさしい包容力が彼女たちにはある。―子供がいるので限られた時間でできる仕事が欲しかった。自分本位な夫とのセックスに嫌気がさして。カードローンの返済のため。…きっかけは様々、だけど、みんな本気で濡れてます!人妻ソープ、熟女デリヘル、回春アロマエステなど…現役人妻風俗嬢20人にディープ取材。その心の内を、エッチな接客の日々を、濃厚に綴った密着ルポ。 (Amazonより)