首页 > 编程知识 正文

python 数组维度,python查看数组维度

时间:2023-05-04 18:30:26 阅读:180768 作者:1094

再次使用PythonNumPy和数组在矩阵之间进行一些计算的过程中很辛苦。

可能不起作用的代码部分如下。

train,test,cv=NP.Array_split(data,3,axis=0) ) )。

train _ inputs=train [ :-1 ]

test _ inputs=test [ :-1 ]

cv _ inputs=cv [ :-1 ]

train_outputs=train[:-1]

test_outputs=test[:-1]

cv_outputs=cv[:-1]

打印这些矩阵信息(分别为np.ndim、np.shape和dtype )会得到什么?

2

1

2

1

2

1

(94936,30 )

(94936,)

(94936,30 )

(94936,)

(94935,30 )

(94935,)

浮动64

浮动64

浮动64

浮动64

浮动64

浮动64

我认为所有的*_output数组都缺少一维。

另一个所需的矩阵是通过以下命令创建的。

new matrix=neuron layer (30,94936 ) ) ) ) ) ) ) ) ) ) ) )。

其中neuronLayer定义的类:

类新闻层() :

def __init__(self,neurons,neuron_inputs ) :

self.weights=2* NP.random.random ((neuron _ inputs,neurons ) )- 1

这是最终的输出:

output layer1=self._ _ sigmoid (NP.dot ) inputs,self.layer1.weights ) )

value error : shapes (94936,30 ) and ) 94936,30 ) notaligned:30(dim1)!=94936(dim0)

Python明确地告诉我矩阵没有被加起来,但我不知道问题出在哪里。

有小费吗?

PS :将完整的代码粘贴到中。

解决方案

层1=neuron层(30,94936 ) # 29 neurons with 227908 inputs

层2=neuron层(1,30 ) #1neuronwiththeprevious 29 inputs

NueronLayer是在哪里创建的

self.weights=2* NP.random.random ((neuron _ inputs,neurons ) )- 1

两个权重的大小分别为[ 94936,30 ]和[ 30,1 ]。

这条线没有任何意义。 我很惊讶那个没有错

第1层error=第2层delta.dot (self.layer2. weights.NP.transpose ) )。

我怀疑你想要NP.transpose (self.layer2. weights )还是self.layer2.weights.T。

但是可能没有到那里。 train第一次给think (94936,30 ) inputs打电话

output layer1=self._ _ sigmoid (NP.dot ) inputs,self.layer1.weights ) )

output layer2=self._ _ sigmoid (NP.dot ) outputlayer1,self.layer2.weights )

因此,对np.dot2的两个(94936,30 ),94936,30 )序列尝试进行a运算。 那些和点不兼容。 可以互换生成(94936,94936 )数组或(30,30 )。 一个太大了。 (30,30 )与第二层重量兼容。

NP.dot(inputs.t,self.layer1.weights ) )。

有工作的机会。

NP.dot(outputlayer1,self.layer2.weights )。

(30,30 ) with (30,1 )=(30,1 ) ) ) ) )。

但是你呢

train_outputs - outputLayer2

无论train_outputs是(94936,)还是(94936,1 ),都有问题

在计算过程中必须确保数组的形状正确流动。 不要一开始就检查它们。 还有内部检查。 此外,您还需要了解每个步骤应该具有什么形状。

这个代码的开发和测试很容易用更少的输入和层,比如10个样本和3个功能。 这样可以显示值和形状。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。