【发布时间】:2021-03-09 00:27:04
【问题描述】:
我正在尝试在 Python 3.8.2 中创建一个前向传播函数。输入如下所示:
Test_Training_Input = [(1,2,3,4),(1.45,16,5,4),(3,7,19,67)]
Test_Training_Output = [1,1,0]
我没有使用偏差(不确定它们是否那么重要并且它使我的代码非常复杂)但我正在使用权重。权重存储在一个列表中,Layer1W,我不确定要完成多长时间,但我认为,len(Test_Training_Input)+len(Test_Training_Output) 应该可以工作。
到目前为止,我的函数如下所示:
def forwardprop():
global Layer1O
Layer1O = []
for init in range(0,len(Layer1W)):
total = sum(Test_Training_Input[1][1])*Layer1W[init]
Layer1O.append(relu(total))
return Layer1O
我认为这是非常错误的...... 有什么建议吗?
【问题讨论】:
-
你是如何存储重量的?像这样的方式 next_layer_shape x previous_layer_shape,即作为一个矩阵
-
@Julkar9 我为每一层的权重使用单独的列表,这可能很愚蠢,但我不知道该怎么做。 (矩阵将有不同大小的层......)。该列表包含该神经元的权重。
-
我强烈建议你使用 numpy,并使用标准的权重初始化程序。即下一层的长度为行 x 上一层的长度为列。其中 mat[j, i] 指向第一层的第 i 个神经元和第二层的第 j 个神经元之间的权重
-
@Julkar9 你能给我一些示例代码吗?抱歉,我几乎从不使用 numpy!
-
好的,我会写一个非常小的网络和对应的前馈函数
标签: python neural-network