gpt4 book ai didi

neural-network - 在 System Verilog 中计算浮点值的 e^x?

转载 作者:行者123 更新时间:2023-12-03 17:39:08 28 4
gpt4 key购买 nike

我正在构建一个在 FPGA 上运行的神经网络,最后一块拼图是在硬件中运行 sigmoid 函数。这要么是:

1/(1 + e^-x)

或者
(atan(x) + 1) / 2

不幸的是,这里的 x 是一个浮点值(SystemVerilog 中的 real 值)。

有没有关于如何在 SystemVerilog 中实现这些功能的任何提示?

这对我来说真的很困惑,因为这两个函数都很复杂,而且由于浮点值增加了复杂性,我什至不知道从哪里开始实现它们。

最佳答案

一种更简单的方法是为此函数创建一个内存/数组。然而,该选项可能非常低效。
x应该是内存的输入地址,该位置的值可以是函数的输出。

假设您的函数值如下。 (这只是一个例子)

x = 0 => f(0) = 1
x = 1 => f(0) = 2
x = 2 => f(0) = 3
x = 3 => f(0) = 4

因此,您可以为此创建一个数组,用于存储输出值。
int a[4] = `{1, 2, 3, 4};

关于neural-network - 在 System Verilog 中计算浮点值的 e^x?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40711930/

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