gpt4 book ai didi

python - 创建给定长度加起来为 1 的数字数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:29 26 4
gpt4 key购买 nike

我正在尝试为我的模型使用不同的权重,我需要像这样将这些权重加起来为 1;

def func(length):
return ['a list of numbers add up to 1 with given length']

func(4) 返回 [0.1, 0.2, 0.3, 0.4]

数字应该是线性间隔的,它们不应该从 0 开始。有什么方法可以用 numpyscipy 实现吗?

最佳答案

这可以很简单地使用 numpy 数组来完成:

def func(length):
linArr = np.arange(1, length+1)
return linArr/sum(x)

首先我们创建一个长度为 length 的数组,范围从 1length。然后我们将总和归一化。

感谢 Paul Panzer 指出通过使用高斯公式计算前 n 个整数的总和可以提高此函数的效率:

def func(length):
linArr = np.arange(1, length+1)
arrSum = length * (length+1) // 2
return linArr/arrSum

关于python - 创建给定长度加起来为 1 的数字数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57230309/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com