コード例 #1
0
ファイル: conv.py プロジェクト: noahwillcrow/NeuralNinja
	def change_input_dims(self, new_input_dims):
		Layer.change_input_dims(self, new_input_dims)
		if new_input_dims < self.kernel_size:
			self.kernel_size = new_input_dims
			self.__create_kernel()
		Layer.change_output_dims(self, self.input_dims - self.kernel_size + 1)
		self.create_weight_matrix_from_kernel()
コード例 #2
0
ファイル: conv.py プロジェクト: noahwillcrow/NeuralNinja
	def __init__(self, input_dims, kernel_size):
		if input_dims < kernel_size:
			kernel_size = input_dims
		Layer.__init__(self, "conv1d", input_dims, input_dims - kernel_size + 1)
		self.kernel_size = kernel_size
		self.bias = np.random.rand(1) #Just as the weights are shared, so is the bias
		self.__create_kernel()
		self.create_weight_matrix_from_kernel()
コード例 #3
0
ファイル: conv2D.py プロジェクト: noahwillcrow/NeuralNinja
	def __init__(self, input_dims, kernel_width, kernel_height, image_width, image_height):
		self.image_width = image_width
		self.image_height = image_height
		self.kernel = np.random.rand(kernel_height, kernel_width) * 2 - 1
		self.bias = np.random.rand(1)
		self.output_width = self.image_width - kernel_width + 1
		self.output_height = self.image_height - kernel_height + 1
		Layer.__init__(self, "conv2d", input_dims, self.output_width * self.output_height)
		self.create_weight_matrix_from_kernel()
コード例 #4
0
	def __init__(self, input_dims, error_function=None, target_file_path=None):
		Layer.__init__(self, "output", input_dims, input_dims)
		if not target_file_path is None:
			self.targets = np.genfromtxt(target_file_path, delimiter=',')
			if len(self.targets.shape) == 1:
				self.targets = np.reshape(self.targets, (-1, 1))
		else:
			self.targets = None
		self.error_function = error_function
コード例 #5
0
ファイル: conv.py プロジェクト: noahwillcrow/NeuralNinja
	def change_output_dims(self, new_output_dims):
		new_kernel_size = new_output_dims - self.input_dims - 1
		if new_kernel_size <= 0:
			self.kernel_size = 1
			self.change_input_dims(new_output_dims)
			return

		self.kernel_size = new_kernel_size
		self.__create_kernel()
		Layer.change_output_dims(self, self.input_dims - self.kernel_size + 1)
		self.create_weight_matrix_from_kernel()
コード例 #6
0
ファイル: network.py プロジェクト: noahwillcrow/NeuralNinja
    def to_json(self):
        actual_layers = [
            self.__layers[i * 2] for i in range(len(self.__layers) // 2)
        ]
        actual_layers.insert(
            0, Layer("input", self.__input_dims, self.__input_dims))

        return {"layers": [layer.to_json() for layer in actual_layers]}
コード例 #7
0
 def __init__(self, input_dims, output_dims):
     Layer.__init__(self, "sigmoid", input_dims, output_dims)
コード例 #8
0
	def __init__(self, input_file_path):
		self.dataset = np.genfromtxt(input_file_path, delimiter=',')
		Layer.__init__(self, "input", self.dataset.shape[1], self.dataset.shape[1])
コード例 #9
0
 def __init__(self, input_dims, output_dims):
     Layer.__init__(self, "fullyConnected", input_dims, output_dims)
     self.__init_weight_matrix()
     self.bias_vector = np.random.rand(output_dims) * 2 - 1
コード例 #10
0
 def change_output_dims(self, new_output_dims):
     Layer.change_output_dims(self, new_output_dims)
     self.bias_vector = np.random.rand(self.output_dims) * 2 - 1
     self.__init_weight_matrix()
コード例 #11
0
 def change_input_dims(self, new_input_dims):
     Layer.change_input_dims(self, new_input_dims)
     self.__init_weight_matrix()