神经网络 权重可视化

深度学习已经应用在各种不同的领域,并且都取得了不错的效果,但是在很多情况下,深度学习网络被我们看做一个黑匣子,我们不知道通过训练,我们的网络到底学习到了什么。今天给大家分享一个简单的权重可视化的方法,在我们训练完网络之后,可以通过权重可视化,直观的理解网络到底学习到了什么。本次实验基于MNIST数据集,通过建立一个两层的神经网络,采用softmax对数据集进行分类。训练完成之后,就可以看到网络的权重分布了。
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

import pylab
import tensorflow.examples.tutorials.mnist.input_data as input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
x = tf.placeholder(tf.float32, [None, 784])
y_actual = tf.placeholder(tf.float32, shape=[None, 10])
W1 = tf.Variable(tf.random_normal([784,10]))        #初始化权值W
b1 = tf.Variable(tf.random_normal([10]))            #初始化偏置项b
layer1=tf.nn.sigmoid(tf.matmul(x,W1) + b1)
y_predict = tf.nn.softmax(layer1)     #加权变换并进行softmax回归,得到预测概率
regularizer=tf.contrib.layers.l2_regularizer(0.05) 
regloss=regularizer

你可能感兴趣的:(权,可视)