python - 使用两个 2D 数组进行数组广播 (Python)
问题描述
我有以下两个数组:
A - 形状DxN
B - 形状NxD
我正在尝试对 A 和 B 进行元素乘法,并最终使用数组广播生成一个NxDxD数组。
我对如何开始有点迷茫。我已经尝试了一些东西,但我的尝试都没有成功。也许这样的事情是不可能的?
在某些情况下,我对 Python 比较陌生,并且正在尝试编写自己的ML algorithm
. 我目前的方法将涉及进行此计算。
解决方案
如果您使用的是 numpy,您所要做的就是:
result = numpy.dot(A, B)
如果出现错误,例如尺寸未对齐,则必须通过以下方式转换矩阵:
result = numpy.dot(A, B.T)
这应该做的工作
import numpy as np
a = np.array([[2, 3],
[4, 3],
[2, 4]])
b = np.array([[2, 3, 4],
[3, 4, 5]])
print(np.dot(a, b).shape)
返回 (3, 3)
推荐阅读
- transformation - Kentico Repeater -Help writing transformation and including show/hide
- c# - 如何压缩两个不同大小的列表以创建一个与原始列表中最长的大小相同的新列表?
- python - 顺序写入某些图像时图像名称文件的毫秒数(cv2.imwrite)Python不增加
- flutter - 如何向下滑动弹出 CupertinoPageRoute?
- python - 根据另一个数据框的日期范围将列值添加到数据框
- python - Python 包“六”刹车 apt 命令
- passwords - 密码 UITextField 的 IOS 键盘显示缓慢
- php - 消息:未定义的属性:CI_Loader::$general_settings
- c - 如何从套接字向 bash 进程的 STDIN 发送命令?
- javascript - 加载时替换图像