Esempio n. 1
0
class AutoEncoder1:

    def __init__(self, nIn=700, nHidden=500):
        # declare layers
        ilayer = Layer(numNodes=nIn, ltype = Layer.Layer_Type_Input, id="0")
        hlayer = Layer(numNodes=nHidden, ltype = Layer.Layer_Type_Hidden, id="1")
        olayer = Layer(numNodes=nIn, ltype = Layer.Layer_Type_Output, id="2")

        # declare nnnet
        self.net = NNNet(ilayer, hlayer, olayer, cost_function=CrossEntroyCostFunction)

        # change parameter constraint
        conn1 = self.net.connections[0]
        conn2 = self.net.connections[1]

        self.net.params.remove(conn2.W)
        conn2.W = conn1.W.T


    def fit(self, train_data, batch_size, training_epochs, learning_rate):
        self.net.fit(train_data, train_data, batch_size, training_epochs, learning_rate)
        image = Image.fromarray(
            tile_raster_images(X=self.net.connections[0].W.get_value(borrow=True).T,
                               img_shape=(28, 28), tile_shape=(10, 10),
                               tile_spacing=(1, 1)))
        image.save('test_ae.png')
Esempio n. 2
0
 def fit(self, train_data, batch_size, training_epochs, learning_rate):
     NNNet.fit(self, train_data, train_data, batch_size, training_epochs, learning_rate)
     image = Image.fromarray(
         tile_raster_images(X=self.connections[0].W.get_value(borrow=True).T,
                            img_shape=(28, 28), tile_shape=(10, 10),
                            tile_spacing=(1, 1)))
     image.save('test_ae1.png')
Esempio n. 3
0
 def fit(self, train_data, batch_size, training_epochs, learning_rate, knowledge=None, l=None, llamda=None):
     if l is not None:
        self.setRegularization(l, llamda)
     self.knowledge=knowledge
     NNNet.fit(self, train_data, train_data, batch_size, training_epochs, learning_rate)
     image = Image.fromarray(
         tile_raster_images(X=self.connections[0].W.get_value(borrow=True).T,
                            img_shape=(np.sqrt(self.nIn), np.sqrt(self.nIn)), tile_shape=(10, 10),
                            tile_spacing=(1, 1)))
     image.save('test'+self.id+ '.png')