def __init__(self, hidden_neuron_num=1, hidden_type='sigmoid'): self.hidden_neuron_num = hidden_neuron_num self.hidden_type = hidden_type self.net = FeedForwardNetwork() self.samples = SupervisedDataSet(784, 784) self.vectorizer = ImageVectorizer() self.add_layers() self.add_connections() self.sort()
import sys, os sys.path.append(os.path.join(os.path.dirname(__file__), "lib")) from IPython import embed from neural_net import NeuralNet from image_vectorizer import ImageVectorizer vectorizer = ImageVectorizer() paths = vectorizer.get_image_paths() ############################################################ ################### Assignment Questions ################### ############################################################ ############################################################ # Train a feedforward neural network with one hidden layer # # of size 3 to learn representations of those digits. # # Try using (a) Linear transform function # ############################################################ net_3lin = NeuralNet(3, 'linear') net_3lin.train(paths) weights = net_3lin.input_weights_of_hidden_layer() vectorizer.vectors_to_images(weights, '3_hidden_layer_linear') ############################################################ # (b) Sigmoid transform function for the hidden layer # ############################################################ net_3sig = NeuralNet(3, 'sigmoid')