問題描述:
在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'