在python中如何将矩阵转换为列向量并将它们相加

2024-10-08 19:29:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Matlab比较熟悉,但我目前正在使用python。如果我在python中有4个矩阵/数组,如何将每个矩阵/数组转换为一个列向量,然后将它们相加以形成一个大的列向量?在

在Matlab中,我有:

W1 = rand(hiddenSize, visibleSize) * 2 * r - r;
W2 = rand(visibleSize, hiddenSize) * 2 * r - r;
b1 = zeros(hiddenSize, 1);
b2 = zeros(visibleSize, 1);

theta = [W1(:) ; W2(:) ; b1(:) ; b2(:)]; 

θ是我感兴趣的最后一个列向量。在python中我该怎么做呢?在

我想我应该使用resheme函数来创建列向量(类似W1=respeme(W1,size(W1)),但我无法实现这一点,而且我不确定如何将每一个都追加以创建一个大的列向量。任何洞察力都太好了!在


Tags: zeros矩阵数组向量b2感兴趣b1w1
1条回答
网友
1楼 · 发布于 2024-10-08 19:29:11

如果您正在从Matlab迁移到Python,我强烈建议您安装NumPy(可能还有Scipy)包。在

使用NumPy可以做到:

import numpy as np
W1 = np.arange(25*64).reshape(25, 64)
W2 = np.arange(25*64).reshape(64, 25)
b1 = np.arange(25)
b2 = np.arange(64)

theta = np.concatenate([W1.flat, W2.flat, b1, b2])
print(theta.shape)
# (3289,)

这是一个introduction to NumPy for Matlab users。在

相关问题 更多 >

    热门问题