import numpy as np
delta = 1.0
class Neuron:
def __init__(self, lastLayerNodeNumber: int) -> None:
self.n = lastLayerNodeNumber
self.w = [np.random.rand() for _ in range(lastLayerNodeNumber)]
@staticmethod
def sigmod(x: float) ->float:
return 1.0 / (1.0 + np.exp(x))
def net(self, x: list) -> float:
x = np.array(x)
return np.inner(x, self.w)
def activate(self, x: list) ->float:
if len(x) != self.n:
print('神经元的输入不合法!')
exit(0)
return self.sigmod(self.net(x))
def print(self) -> None:
print(self.w)
class Layer():
def __init__(self, neuronNum: int, lastLayerNeuronNum: int) -> None:
self.neuronNum = neuronNum
self.neurons = [Neuron(lastLayerNeuronNum) for _ in range(neuronNum)]
self.lastLayerNeuronNum = lastLayerNeuronNum
def output(self, lastLayerOutput: list) -> list:
if len(lastLayerOutput) != self.lastLayerNeuronNum:
print('网络层的输入不合法!')
exit(0)
res = []
全链接神经网络
最新推荐文章于 2024-07-14 21:21:42 发布