サーチ…


前書き

畳み込みレイヤを視覚化するには多くの方法がありますが、畳み込みニューラルネットワークの一部の値を取得し、それらの値を視覚化するという同じコンポーネントを共有しています。これらのビジュアライゼーションはTensorBoardに表示してはならないし、表示できないことに注意してください。

2ステップの基本例

この例では、MNIST( Deep MNIST for expert )のチュートリアルを正常に実行し、完全に理解していることを前提としています。

%matplotlib inline
import matplotlib.pyplot as plt

# con_val is a 4-d array, the first indicates the index of image, the last indicates the index of kernel
def display(con_val, kernel):
    plt.axis('off')
    plt.imshow(np.sum(con_val[:, :, :, kernel], axis=0), cmap=plt.get_cmap('gray'))
    plt.show()

上記の関数は、カーネルが与えられた畳み込み層の値を含む配列(con_val)を可視化します。関数はすべての例の値を合計し、グレースケールでプロットします。

次のコードは、最初の畳み込みレイヤーから値を取り出し、上記の関数を呼び出して表示します。

labels = np.nonzero(mnist.test.labels)[1] # convert "one-hot vectors" to digits (0-9)

for i in range(2): # display only 0 and 1
    con_val = h_pool1.eval(feed_dict={x:mnist.test.images[labels == i, :]}) #fetch
    display(con_val, 3)

コードは、0と1のラベルに対応するビジュアライゼーションのみをプロットします。結果は、これらと同様に表示されます。 数字1の第1の畳み込み層の視覚化 数字1の第1の畳み込み層の視覚化



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow