问题描述:
在python是使用自定义sigmoid函数的时候,输入X为matrix,会出现'Float' object has no attribute 'exp'的情况。
def sigmoid(inp): return 1.0/(1 + np.exp(-inp))
发现用手动生成matrix数据带入这个函数也没问题,然后通过查找numpy.mat函数发现
numpy.
mat
(data, dtype=None)[source]¶
Interpret the input as a matrix.
Unlike matrix
, asmatrix
does not make a copy if the input is already a matrix or an ndarray. Equivalent to matrix(data, copy=False)
.
Parameters: | data : array_like
dtype : data-type
|
---|---|
Returns: | mat : matrix
|
默认的dtype是None,所以在生成matrix的时候将dtype加上类型,问题决解。比如 Xmat = numpy.mat(_x, dtype=float),然后将Xmat带入sigmoid函数,没有发现问题。
AttributeError: 'Float' object has no attribute 'exp'