Skip to content
Snippets Groups Projects
Commit fb647d8c authored by Falguni Ghosh's avatar Falguni Ghosh
Browse files

Upload New File

parent 4d41a41d
No related branches found
No related tags found
No related merge requests found
import numpy as np
import copy
class NeuralNetwork:
input_tensor = None
label_tensor = None
def __init__(self, optimizer):
self.optimizer = optimizer
self.layers = []
self.loss = []
self.data_layer = None
self.loss_layer = None
def forward(self):
input_tensor, label_tensor = self.data_layer.next()
self.input_tensor = np.copy(input_tensor)
self.label_tensor = np.copy(label_tensor)
for i in self.layers:
input_tensor = i.forward(input_tensor)
return self.loss_layer.forward(input_tensor, label_tensor)
def backward(self):
error_tensor = self.loss_layer.backward(self.label_tensor)
for i in reversed(self.layers):
error_tensor = i.backward(error_tensor)
def append_layer(self, layer):
if layer.trainable:
layer.set_optimizer(copy.deepcopy(self.optimizer))
self.layers.append(layer)
def train(self, iterations):
for i in range(iterations):
intermed_loss = self.forward()
self.loss.append(intermed_loss)
self.backward()
# removed weights update in
def test(self, input_tensor):
for i in self.layers:
input_tensor = i.forward(input_tensor)
return input_tensor
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment