我正在学习Cython,无法让一个简单的例子起作用.我有以下代码来计算Sigmoid函数:

import numpy as np
cimport numpy as cnp

cdef inline cnp.float32_t _sigmoid(cnp.float32_t x):
    return 1/(1 + np.exp(-x))

编译错误'float32_t' is not a type identifier

我遗漏了什么?

推荐答案

您遇到的问题是,flat32_t未被识别为有效的类型标识符.

试试这个:

import numpy as np
cimport numpy as cnp
from libc.math cimport exp

cdef inline float _sigmoid(float x):
    return 1.0 / (1.0 + exp(-x))

Python相关问答推荐

如何在msgraph.GraphServiceClient上进行身份验证?

Select 用a和i标签包裹的复选框?

使用新的类型语法正确注释ParamSecdecorator (3.12)

Pystata:从Python并行运行stata实例

Gekko:Spring-Mass系统的参数识别

海运图:调整行和列标签

为什么这个带有List输入的简单numba函数这么慢

ODE集成中如何终止solve_ivp的无限运行

Streamlit应用程序中的Plotly条形图中未正确显示Y轴刻度

从spaCy的句子中提取日期

python中字符串的条件替换

当递归函数的返回值未绑定到变量时,非局部变量不更新:

用砂箱开发Web统计分析

为什么if2/if3会提供两种不同的输出?

Gekko中基于时间的间隔约束

Pandas—MultiIndex Resample—我不想丢失其他索引的信息´

如何在FastAPI中替换Pydantic的constr,以便在BaseModel之外使用?'

有了Gekko,可以创建子模型或将模型合并在一起吗?

用0填充没有覆盖范围的垃圾箱

按最大属性值Django对对象进行排序