python - 如何将矩阵转换为列向量并在 python 中将它们 append 在一起

标签 python vector matrix append

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

在 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(:)]; 

theta 是我感兴趣的最后一个列向量。我如何在 python 中执行此操作?

我想我会使用 reshape 函数来创建列向量(类似于 W1 = reshape(W1, size(W1)) ),但我无法让它工作,我不确定如何追加每个创建一个大列向量。任何见解都会很棒!

最佳答案

如果您要从 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 .

关于python - 如何将矩阵转换为列向量并在 python 中将它们 append 在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17281966/

相关文章:

MD5 哈希的 Python + JSON 序列化 - 如何保证两个等效对象将序列化为完全相同的字符串?

python - python2内部如何处理字符串和unicode?

c++ - 尝试用 vector 填充结构时 vector 下标超出范围

c++ - 如何将 C++ vector 数据导入 Swift

c++ - 使用 vector 迭代器访问方法

python - 在python中用范围随机数初始化矩阵

vector - 矩阵和向量的元素乘法?

python - PySide 中类似终端的应用程序

opencv - 将 CV_32FC1 类型的矩阵转换为 CV_64FC1

python - 是否可以使用 python requests 库发布音频文件